Github url


by SFTtech

SFTtech /openage

Free (as in freedom) open source clone of the Age of Empires II engine :rocket:

9.7K Stars 941 Forks Last release: Not found Other 3.3K Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


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. At the moment we focus our efforts on the integration of Age of Empires II, while being primarily aimed at POSIX platforms such as GNU/Linux.

openage uses the original game assets (such as sounds and graphics), but (for obvious reasons) doesn't ship them. To play, you require an original AoE II: TC or AoE II: HD installation (via Wine or Steam-Linux).

github stars#sfttech on Freenode#sfttech on matrix.orgquality badge


Contact | Where? ---------|------- Issue Tracker | SFTtech/openageDevelopment Blog | blog.openage.sft.mxForum | reddit /r/openageMatrix Chat | [

]( Chat | [ #sfttech

]( Sink | money sink

Technical foundation

Technology | Component ---------------|----------C++17 | Engine corePython3 | Scripting, media conversion, in-game console, code generationQt5 | Graphical user interfaceCython | Glue codeCMake | Build systemOpenGL3.3 | Rendering, shadersSDL2 | Cross-platform Audio/Input/Window handlingOpus | Audio codecnyan | Content Configuration and ModdingHumans | Mixing together all of the above


  • Fully authentic look and feel
    • This can only be approximated, since the behaviour of the original game is mostly undocumented, and guessing/experimenting can only get you this close
    • We will not implement useless artificial limitations (max 30 selectable units...)
  • Multiplayer (obviously)
  • Matchmaking and ranking with a haskell masterserver
  • Optionally, improvements over the original game
  • AI scripting in Python, you can use machine learning
  • Re-creating free game assets
  • An easily-moddable content format: nyan yet another notation
  • An integrated Python console and API, comparable to blender
  • Awesome infrastructure such as our own Kevin CI service

But beware, for sanity reasons:

  • No network compatibility with the original game. You really wanna have the same problems again?
  • No binary compatibility with the original game. A one-way script to convert maps/savegames/missions to openage is planned though.

Current State of the Project

What's the plan?

Installation Packages

Supported Platforms: Linux, Windows 10, MacOS X 10.14

  • For Linux check at repology if your distribution has any packages available or here for any future updates on *.deb and AppImage packages.

For Windows check our release page for the latest installer or here for nightly builds.

NOTE: If you have any problems starting conversion or starting openage take a look into the package instructions and our troubleshooting guide.

NOTE: For MacOSX we currently don't have any packages.

Dependencies, Building and Running

Operating System | Build status :------------------:|:--------------: Debian Sid | Todo: Kevin #11 MacOSX 10.14 | Build Status Windows 10 - x64 | Build status

I compiled everything. Now how do I run it?

  • Execute
  • The convert script will transform original assets into openage formats, which are a lot saner and more moddable.
  • Use your brain and react to the things you'll see.

Waaaaaah! It

  • segfaults
  • prints error messages I don't want to read
  • ate my dog

All of those are features, not bugs.

To turn them off, use

./run --dont-segfault --no-errors --dont-eat-dog


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


  • Being typical computer science students, we hate people.
  • Please don't contact us.
  • Nobody likes Age of Empires anyway.
  • None of you are interested in making openage more awesome anyway.
  • We don't want a community.
  • Don't even think about trying to help.


  • No bug reports or feature requests, the game is perfect as is.
  • Don't try to fix any bugs, see above.
  • Don't implement any features, your code is crap.
  • Don't even think about sending a pull request.
  • Please ignore the easy tasks that could just be done.
  • Absolutely never ever participate in this boring community.
  • Don't note the irony, you idiot.

To prevent accidental violation of one of those guidelines, you should never

Cheers, happy hecking.

Development Process

What does openage development look like in practice? - extensive synchronization! - doc/

Can I help? - doc/

All documentation is also in this repo:

  • Code documentation is embedded in the sources for Doxygen (see doc readme).
  • Have a look at the doc directory. This folder tends to get outdated when code changes.


GNU GPLv3 or later; see and legal/GPLv3.

I know that probably nobody is ever gonna look at the

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.