The OpenAOE project is an attempt to re-implement the original Age of Empires (1997) in an open-source manner so that:
The OpenAOE project will strive to be as close to the original as possible.
For obvious reasons, you'll need an original Age of Empires CD to be able to play it. No game data files will be committed to the repository.
Note: This is a work in progress. As of 2016-07-08, there is no game to be played. Just a demonstration of the original game assets being loaded and other proof of concepts. It will be a while before it is playable.

OS-specific instructions will follow. This section just gives a high level idea of what is required to build OpenAOE. You'll need the following:
Rust's Cargo program should download and compile all of the other necessary dependencies.
sudo apt-get install libsdl2-dev.cargo build --releasepacman -S mingw-w64-x86_64-SDL2echo "export LIBRARY_PATH=/usr/local/lib/:/lib/" >> /etc/profile"curl https://sh.rustup.rs -sSf | shi686-pc-windows-gnu or x86_64-windows-pc-gnu)cargo build --releasebrew install rustbrew install sdl2cargo build --releaseBefore you can run the game, you'll need to place the game's data in a place where the program can find it. On the game CD, there is a game directory with a language.dll, empires.exe, and a bunch of directories such as avi, campaign, and data. Either symlink that directory into the root of the project, or copy it over (it should keep the name "game"). Once the data is placed, you can run the game with:
$ cargo run --release
Alternatively, you can specify the location of the game data via command-line:
$ cargo run --release -- -d /media/AOE/game
Note that in these early versions, you may need to specify additional command line arguments, such as a path to a scenario file to load up. These may change over time, but the game should tell you what arguments are required and what to provide.
OpenAOE is MIT licensed. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be as MIT, without any additional terms or conditions.
Pull requests, especially pertaining to accuracy/bug-fixes, are always more than welcome! If you're new to the project and want to write some code, checkout the issues list and look for anything tagged A-easy.
We have an IRC channel setup at #openaoe on Freenode. Most collaborative discussions take place there, so it's a good place to ask where you can help out, or how something should be approached.
./all-crates-do test$ claude mcp add OpenAOE \
-- python -m otcore.mcp_server <graph>