Contribute to an open source game engine project to learn C++ game and simulation programming
Experiment with writing AI opponents in Python for a real-time strategy game engine
Use the converter tools to read and work with Age of Empires map and save file formats
Study how a large open source C++ project structures a game simulation engine
Requires building from source and owning a copy of Age of Empires or a supported game to provide the game assets.
Openage is a volunteer project to recreate the game engine behind Age of Empires, Age of Empires II, and Star Wars: Galactic Battlegrounds as free, open source software. The goal is the same kind of effort that produced open source reimplementations of other classic games, such as the OpenMW project for Morrowind or OpenTTD for Transport Tycoon. Openage does not include any game content: to play, you need to own a copy of one of the original games, whose files the engine can read and convert. The engine is written in C++20, with Python used for scripting, tools, and modding support. The interface uses the Qt6 framework and rendering goes through OpenGL. A custom data format called nyan handles game content and is designed to make modding straightforward. The project also plans to support writing AI opponents in Python, which would allow experimentation with machine learning approaches. An important caveat in the README: as of the time of writing, gameplay is essentially non-functional. The project went through a significant internal redesign of how the game simulation works, which required dismantling the earlier partially-working version. The team describes this as a necessary step to build on a solid foundation, and progress is documented on their development blog. The README notes this plainly and suggests that people who just want to play the game will currently be disappointed. Build instructions exist for Debian, Ubuntu, macOS, and Windows. A Windows installer is available from the releases page. The project is licensed under the GPL v3, which requires any modifications to also be shared as open source. There is no network or binary compatibility with the original games, though a converter for maps and save files is planned.
← sfttech on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.