openage is a game engine that recreates the Age of Empires II engine from scratch.
The project addresses the challenge of preserving and extending a classic real-time strategy game by building a compatible engine implementation. Rather than modifying the original game, openage reconstructs the engine's architecture using modern technologies. The engine handles core RTS mechanics including unit control, resource management, map rendering, and multiplayer gameplay. It uses an entity-component-system architecture to organize game logic and integrates a custom scripting language called nyan for defining game rules and content, allowing players to modify units, civilizations, and gameplay mechanics without recompiling the engine.
Developers considering openage should understand it targets players who want to run Age of Empires II with modern operating system support and modding capabilities. The project suits anyone interested in RTS game development, engine architecture, or preserving classic games through reimplementation. It requires original game assets to function, so it is not a standalone product but rather an alternative engine for existing game data. The codebase is written primarily in C++ with Python tooling, making it accessible to developers familiar with either language.
The project maintains active development across multiple areas. Work spans engine core functionality, graphics rendering improvements, and the nyan scripting system. Contributors regularly address both feature additions and technical debt. The development process incorporates community feedback through issue tracking and pull request review. The project has established infrastructure for continuous integration and maintains documentation for contributors seeking to participate in engine development or content creation.