Home

Awesome

openage

openage: a volunteer project to create a free engine clone of the Genie Engine used by Age of Empires, Age of Empires II (HD) and Star Wars: Galactic Battlegrounds, comparable to projects like OpenMW, OpenRA, OpenSAGE, OpenTTD and OpenRCT2.

openage uses the original game assets (such as sounds and graphics), but (for obvious reasons) doesn't ship them. To play, you require any of the original games (AoE1, AoE2) or their Definitive Edition releases.

github stars #sfttech on matrix.org GPL licensed

Contact

ContactWhere?
Issue TrackerGitHub SFTtech/openage
Development Blogblog.openage.dev
Subredditreddit /r/openage
DiscussionsGitHub Discussions
Matrix Chatmatrix #sfttech:matrix.org
Money Sinkmoney sink

Technical foundation

TechnologyComponent
C++20Engine core
Python3Scripting, media conversion, in-game console, code generation
CythonPython/C++ Glue code
Qt6Graphical user interface
CMakeBuild system
OpenGLRendering, shaders
OpusAudio codec
nyanContent Configuration and Modding
HumansMixing together all of the above

Goals

But beware, for sanity reasons:

Current State of the Project

Important notice: At the moment, "gameplay" is basically non-functional. We're implementing the internal game simulation (how units even do anything) with simplicity and extensibility in mind, so we had to get rid of the temporary (but kind of working) previous version. With these changes we can (finally) actually make use of our converted asset packs and our nyan API! We're working day and night to make gameplay return*. If you're interested, we wrote detailed explanations on our blog: Part 1, Part 2, Monthly Devlog.

* may not actually be every day and night

Operating SystemBuild status
Debian SidTodo: Kevin #11
Ubuntu 22.04 LTSUbuntu 22.04 build status
macOSmacOS build status
Windows Server 2019Windows Server 2019 build status
Windows Server 2022Windows Server 2022 build status

Installation Packages

There's many missing parts for an actually working game. So if you "just wanna play", you'll be disappointed, unfortunately.

We strongly recommend to build the program from source to get the latest, greatest and shiniest project state :)

If you need help, maybe our troubleshooting guide helps you.

Quickstart

All of those are features, not bugs.

To turn them off, use ./bin/run --dont-segfault --no-errors --dont-eat-dog.

If this still does not help, try our troubleshooting guide, the contact section or the bug tracker.

Contributing

You might ask yourself now "Sounds cool, but how do I participate and get famous contribute useful features?".

Fortunately for you, there is a lot to do and we are very grateful for help.

Where do I start?

Ok, I found something. What now?

How do I contribute my features/changes?

I want to help, but I'm not a programmer...

Then openage might be a good reason to become one! We have many issues and tasks for beginners. You just have to ask and we'll find something. Alternatively, lurking is also allowed.


Cheers, happy hecking!

Development Process

What does openage development look like in practice?

How can I help?

All documentation is also in this repo:

License

GNU GPLv3 or later; see copying.md and legal/GPLv3.

I know that probably nobody is ever gonna look at the copying.md file, but if you want to contribute code to openage, please take the time to skim through it and add yourself to the authors list.