From OpenLieroX Wiki

Jump to: navigation, search

Contributing to the source code of OpenLieroX is the most important way of how you can contribute to the project.

Contents

Why

Where to start

Contact

You should register to our mailinglist and maybe leave a short mail there to introduce yourself.

For many cases, chatting with the developers is better than mails. Get some IM (Jabber, GTalk, ICQ, ...) contact details here.

There is also a typical developer introduction talk where you can find many frequently asked questions answered.

Also, to get more in touch with the gamer community behind the game, you might also ask in the forum.

Fetch the code

The first thing you need is the OpenLieroX source code. Read here: Obtaining OpenLieroX source from Git

You should also register on GitHub. This is needed for all real work, i.e. pushing any source code commits online or making entries in the issue tracker.

Setting up the environment

For a beginner, this is often the most complicated part. It is often not straightforward how you setup an IDE / Editor / Compiler to compile the OpenLieroX source code. This is somewhat silly but you have to get through that. (The Compiler will convert the OLX source code into an executable binary; on Windows, that is an EXE-file.)

The IDE is the editor where you edit the code. In theory, you could also use a simple text editor; however, an IDE will be mure more helpfull and easy to use. Read further here: IDE

In some cases (like MSVC), the IDE is bundled together with the compiler. In some other cases (on Linux), they are highly seperated and independent from each other. That means that setting up the compiling is in some cases (like MSVC or Xcode) the same as setting up the IDE, in some cases (like on Linux) independent.

However, compiling the source code is the most important thing you need to be able to do. You cannot do anything if you are not able to do this. Read about that here: Compile OpenLieroX

Get an overview over the code

To be able to do something usefull with the code, it is very helpfull / mandatory that you have a rough overview over the code. We have written a special article just about this: OpenLieroX source code

Working with the code

The very first thing to start is of course to get the code to compile. I assume at this point that you have gotten at least so far.

Starting hints

Some starting hints to get used to the code:

  • Read the code-overview.
  • Talk to the developers.
  • Look at recent Git commits and their changes.
  • Configure your IDE. That will help you a lot on working on it.
  • Take a look at the GitHub issue tracker.
  • There are also some random TODOs in the code itself.
  • Make some cleanups. I marked the most terrible parts which have to be recoded but there are much more which don't look that nice.
  • Start some new feature.

What you can do

Here is a rough list about what could be done.

  • More or less somewhat complicated entries in the issue tracker which are good starting tasks for newcomers are marked here.
  • Simple tasks in the issue tracker are marked here. Very simple tasks are marked here.
  • Port OpenLieroX to another system. Like your mobile phone or your gaming console. Or whatever else you might want to play it on.
  • Add original Liero support. Gusanos worm physics is already pretty close but we lack a physically close mod (the LX Classic mod is somewhat different in physics). Request for that was made on LXA here. See the issue tracker entry about this for further details.
  • Improve the bot AI (artificial intelligence) or add your complete own bot AI implementation. You can compete against the current implementation (which is already quite good).

Or just play a bit with OpenLieroX and be creative about what could be improved / added.

Pushing your changes online

As a newcomer, you should fork the project on GitHub and then you can freely just push all the changes to your fork. Then, when you have something done, you can make a pull request via GitHub and we can review your changes and if they are good, we can merge them into the original source. This is all very simple, just try it out!

You should also read Git#Working_on_the_code and the basic code style guide.

Once we see that you have learned how to make good commits and not to mess around with the repository, we can also give to direct access to the official Git repository.