Jump to content


C++/c# Recruitment Procedure For Programming

  • This topic is locked This topic is locked
No replies to this topic

#1 rincewind


    Programming Department

  • Xenocide Programming Department
  • 541 posts

Posted 26 June 2005 - 08:18 AM

I'm afraid this post is somewhat out of date. So, I'll give a quick overview of what you need to do if you want to join the programming team.
Firstly, at the moment, most development is being done in C#, not C++.
Second, have a read of the rest of this post, while it's old, it's still got useful information in it.
Next, make up a patch, zip it and e-mail to dteviot@projectxenocide.com
Then send "dteviot" and "stewart" a PM informing me that you've posted a patch, and would like recruit status. Note, it may be a few days before we get back to you.
Note, if you're looking for work for a patch, http://www.xcomufo.c...topic=242025315 is a good place to start.

Best of luck,


this is an announcement regarding the new recruitment policy of the programming department.

This new procedure overrides the general procedure stated in this forum. This applies only to the programming department.

As we are currently having only a small fraction of active recruits, compared to those that we mostly just keep tags on, we are introducing a new system of recruit selection. Again, this only applies to the programming department.

I will first present the new rules, then give some explanation and rationale as well as how this applies to existing recruits in programming.

If you want to be part of programming, you have to apply for one of the published profiles (see end of this post as well as a constantly updated version in the wiki if we are defining new positions or profiles).

The application has to have the following content:

- What profile you are applying for (if you want to apply for several, give an order of preference) If you want to apply without a profile, you will have to specify exactly what you would work on and how it would be integrated into the current structure. Give some rational why that profile is needed.

- what skills you possess and how they relate to the profile you apply for (if you apply for several, do this for each one). If there are some skills lacking for it, add an action plan how you want to aquire them!

- how much time commitment you think you can afford and how much this will vary (exam periods, etc) This does not mean we'll kick you out if you can't deliver it, it's just to get an idea. Nevertheless it should be a realistic number. Also, someone who can afford 20 hours a week is not necessarily better than one affording 2 or 3, so don't exagerate here, this will look rather bad later on :-). I minimum of 1-2 hours per week on average is a must though, otherwise it doesn't make too much sense to participate.

- a patch or link to a patch to the current codebase from SVN that implements a small improvement or feature. This is not supposed to be something big or important. We just want to judge your creativity and ability to see what needs to be done as well as your understanding of the current codebase. It would be nice if it was somehow linked to the profile you apply for, but this is not mandatory. Also, don't ask us what we want implemented. It's exactly the point of this exercise to have you find something yourself. Read the forums, take a look at the codebase, it should give you enough ideas (Hint: a global search for TODO might do wonders...)
Just to make it clear, this patch or improvement is mandatory for the application.

The application has to go by forum pm to me (rincewind) as well as CC to red knight. We wil then discuss it with the members of the programming department and give you a reply.

Ok, here's some explanation:

We still accept patches from everybody, we are Open-Source. We are neither limiting access to SVN or the forums. Our intention is to define the kind of skills we need most.

The advantages gained from this are that full members are not spending as much time just keeping tags on recruits where we haven't any guarantee that they will ever be productive. The same goes for scheduling as task assignments are more likely to be fullfilled and people don't end up waiting for their dependency forever.

Frustration levels for those inside the programming department will also be much lower as time is spend on producing something and less on administrative tasks. Also, full member status will be reached much faster in this productive environment.

Procedure for existing recruits:
For those that are already recruits in programming: If you are still willing to contribute to the project, I want to ask you to send me an application similar to the one I described above. If you have already produced something for the project in terms of programming, you can indicate that instead of the patch mentioned.
We'll then give you a quick reply. For those that can't currently afford the time commitment, you'll have to re-apply once you think yourself available again. If you find this doesn't make sense in your particular case, send me a pm with some explanation and we'll discuss it on icq or msn. (nevertheless, remember, you are not loosing much, it's just that we no longer keep the tag on you, but you'll have to renew the tag, once you feel ready)
It is very important that you send me at least some form of pm (applicatoion or explanation of a special case). All those, from whom I've not received a pm until 4th of june will be considered inactive. Also, we'll only fill as many places as we think manageable and productive, so please don't wait till the last day.

For any questions, comments or suggestions, pm me or contact me on icq/msn.



2 needed recruits for baseview (Beetle):

Work involved:
- craft equipment (GUI + algorithm + data structure)
- soldier equipment (GUI + algorithm + data structure)
- researching / manufacturing (everything )
- 3d base view (OGRE, current one is really quick hack needed to see anything, but basis are done, already gave small task to KJ involving part of this)
- implement sounds (using and probably upgrading our audio engine)
- destroying building GUI + algorithm (simple area grow should do it)
- buy/sell (purchase/sack) involving GUI + data structure
- multiple bases
- base transfer
- few simple windows (like change base/soldier name)
- helping art department making textures and meshes for facilities
- lots of testing

Needed knowledge:
- at least average c++ knowledge (including stl)
- Ogre (or any others 3d related libs) knowledge is a plus
- good if be with in/near my time zone (GMT +1/ +2 in summer)
- last but not least will of helping and good knowledge of xcom

Time committed:
- at least two hours every week
- of course there isnít any upper limit (i will have some free time now so i will not waste any committed by recruits hours )

CEGUI Widget developer (guyver6)

Areas of work:
- create a CEGUI widget set that easily allows to create dialogs, etc with the Xenocide look and feel
- collaborate with artists to discuss graphical design issues
- support developers in using the widget set

Needed knowledge:
- at least average c++ knowledge (including stl)
- ability to adapt to different coding guidelines. As we will probably want to contribute the widgets back to CEGUI, they should fit in their codebase. At the same time, corrections on client code should fit xenocide style.
- good analytical ability to understand current CEGUI code and use the contained approach for new widgets
- basis 3d graphics knowledge for the widget rendering code
- at least a basis understanding on how CEGUI widgets work (before applying, at least take a look at the code and the docs)
- Ogre-knowledge is a plus
- capability of working independently and keep motivation for the project.

Time committed:
- at least two hours every week

Edited by dteviot, 27 September 2007 - 11:49 PM.

Posted Image

I love boost!!! The next best thing since the invention of C++.