

I was pleasantly surprised that the code was able to build with no effort, despite my CentOS system not being on the list of supported distros. For reference, here is the official repo that I pulled this version from. Much of the code base has stabilized and I expect that most of what we learn from 1.8 will remain true going forward. All code analysis will apply to only this version. I've fetched the recent public release (v1.8) and created a personal GitHub repo. I hope to make this as useful as possible in two weeks of decoding effort against a project that dozens of professionals built over the last 15 years. I'm looking at the code base with fresh eyes in order to relate my learning approach with beginners who struggle to dig in to similarly large projects. These guys are the heroes behind this project so please give credit where it's due. Above all, this exercise should be transferable to other projects.įull Disclosure: I am not an OpenTTD contributor, nor am I a community member. Instead, I will pick and choose the key ideas that an aspiring contributor may want to dig in to. It's not practical to take apart over 200,000 lines, especially for an actively developed project.

This project deviates from my usual practice of documenting every line of code.

I lost many hours playing this after opening it for Christmas in 1994. OpenTTD is a free, open-source recreation of the Chris Sawyer masterpiece: Transport Tycoon.
