Thanks for your interest in developing 0 A.D. further. This page will introduce you to the basic information on how to do everything from checking out the source, to building the game, to find tasks you can start with. Please also remember to check out the pages listed on the main Wildfire Games wiki page and the general Getting Started guide which has got a lot of useful information. Among the most important is to read the Design Document, especially if you want to work on game-play as well as the Technical Design Document for the technical information.
Examples of possible contributions
Trac has a category of tickets that are considered "simple" and would be good introductory points. Other examples:
- Computer graphics: Examples include new shaders or improved shaders, better animation support, etc.
- Gameplay programming: Implementing technologies, creating various unit formations, writing random map scripts.
- AI programming: Expand on the existing system and create custom AIs which are more advanced than the examples in SVN.
Getting the code and start programming
- Build Instructions - How to get the code and compile 0 A.D.
- Trac Instructions - What is Trac? Some basic info on how it's used in this project.
- Doxygen code documentation
- Finding Your Way Around SVN/the codebase
- Coding Conventions
Finding a task
To find tasks you can use these pages/resources:
- StarterTasks Have no prior experience with 0 A.D. or perhaps even game programming? Try this page to get started with things that only require you to familiarize yourself with a smaller, more contained part of the codebase to get started.
- GameplayFeatureStatus - Other game features planned.
- GamePerformance - Performance related tasks.
- Report of open Trac tickets listing various bugs and tasks.
- Open tasks for Alpha 21 Take one of the un-assigned ones and start working.
- Custom Queries to search for tasks/bugs
When you think you found a suited task, it's best to ask us on the forums or IRC (see below for the contact info) whether it's a feasible task, and if it's (still) wanted. And it's also best to stay in touch while working on it.
When you've completed the task
- SubmittingPatches - This page outlines the process for how to submit patches for inclusion in the codebase