We advise you to read the following couple of pages, if you would like to start working with/on Orxonox:
Tips, Guides and Standards
- Coding tips - Basic coding tips and helpful tools
- Styleguide - Writing consistent code according to a style definition.
- Performance - Make fast and efficient code.
- Documenting - How to write documentation that can be read by Doxygen for HTML view.
- Debugging - How to go about debugging your code
- Error handling - What to do when facing an error situation?
- Standard C++ library - Have a look at the standard C++ library, strings and STL containers are very useful
- SVN - Our revision control tool. You should know how to use it
- CMake - Our build tool (forget about makefiles)
- Buildsystem - Build settings for CMake
- Eclipse IDE - An open source IDE
- KDevelop3 - An open source IDE, not used in the PPS
- Doxygen - Autogenerates an API
- Open Source Tools - A list of other development tools
- Modules - Get an overview of our Framework
- Documentation - A documentation of all our libraries and classes
- Libraries - An overview of the external libraries
- [doxygen:index.html API Reference] - An automatically generated reference of classes, functions, macros and other stuff
- HowTo - This page covers several topics and explains how to do things
- FAQ - Check out the FAQ to get answers on frequent questions
- Links - A collection of useful stuff.
Development Cycles Model
The model of open-source development is normally an evolutionary one: There are three phases repeated until a threshold for iteration is reached or an adequate solution is obtained.
- Planning: In this phase, the development goals for the next cycle are stated.
- Implementation: The plan is being implemented in code.
- Review: A code freeze is initiated and the work is being analyzed to ensure that the goals set in the planning phase have been reached. If not, the implementation phase has to be repeated.
The development process itself can be split into different stages which are repeated if necessary:
- Finding ideas & planning
- Implementing game ideas
- Implementing story and worlds
- Alpha, beta, final release