Contributing to OpenTTD - guidelines
Add a setting
Add a squirrel function
Understanding the SaveGame handler
Bumping the savegame version
Doing an OpenTTD release
Manual of style
Format of langfiles
Using OpenTTD strings
List of special strings
Using the window system
Colour codes that exist in OpenTTD
Adding a text box
Understanding the widget focus system
GUI style guide
The OpenTTD TCP protocol
The OpenTTD UDP protocol
Server Admin Port development
The console window
Using console scripting
Adding functions/commands to the console
Adding variables to the console
Console development history
Graphics and similar (NewGRF)
AI framework (NoAI)
GameScript framework (NoGO)
Map array (landscape grid)
- OpenTTD is an open source project, published under the GPLv2.
- You can view the repository online and download a copy of the latest source code using Git.
- The latest changes to the OpenTTD repository can be seen on GitHub (RSS feed also available!)
- If you modify the source you can submit a pull request with your changes to the repository.
- We use GitHub issues for bug reports and similar
- Goals of the official branch (see also the overall Objectives of the OpenTTD project.
There is no single source for OpenTTD development docs. It's a complex project with a long history, and multiple APIs.
For developing the core game, the "OpenTTD Development Documentation" sidebar navigation on this page is a good entry point, providing:
- links to development docs on this wiki
- links to external sources such as OpenTTD GitHub (which includes some core development docs) and Doxygen
OpenTTD includes multiple APIs for developing add-ons / mod content. The sidebar navigation on this page also provides links to "Content APIs (modding frameworks)".