{
  "added_at": "2026-10-29",
  "additional_evidence_urls": [
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/INSTALL",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/doc/user_guide.md",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/HACKING.md",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/CMakeLists.txt",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/.gitmodules",
    "https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/doc/reverse_engineering",
    "https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/tools",
    "https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/game/src/legacy",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/.github/workflows/unit_test.yml",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/.github/workflows/test_distros.yml",
    "https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/game/tests",
    "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/LICENSE"
  ],
  "category": "reconstruction-cases",
  "description_en": "Re-implements Microsoft’s Age of Empires and its Rise of Rome expansion as a cross-platform C++17 engine on SDL2 and OpenGL that loads the original game’s DRS archives and language.dll resources. README says it mimics the Windows API and the Genie engine for compatibility and reconstructs some code from the disassembly; the repository adds format notes and Python tools for inspecting the original data files. Only very basic gameplay through a multiplayer session exists so far, so it is an early engine case rather than a playable replacement.",
  "description_zh": "以基于 SDL2 和 OpenGL 的跨平台 C++17 引擎重新实现 Microsoft 的《帝国时代》及其资料片《罗马复兴》，载入原版游戏的 DRS 归档和 language.dll 资源。README 称项目为兼容起见模仿 Windows API 和 Genie 引擎，部分代码依据反汇编重建；仓库另附格式笔记和用于检查原版数据文件的 Python 工具。目前只能通过多人会话进行非常基础的游戏，因此这是一个早期引擎案例，而非可替代原版游玩的实现。",
  "entry_url": "https://awesomerea.org/resources/aoe-free-software-remake-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/aoe-free-software-remake-case/",
  "evidence_url": "https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/README.md",
  "group": "cases",
  "id": "aoe-free-software-remake-case",
  "json_url": "https://awesomerea.org/resources/aoe-free-software-remake-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/aoe-free-software-remake-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/aoe-free-software-remake-case/index.md",
  "name": "Age of Empires Free Software Remake: a re-implementation on the original data",
  "name_zh": "Age of Empires Free Software Remake：基于原版数据的重新实现",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "The reviewed master snapshot (2026-09-20) sets CMake version 0.1, and the repository has no releases or tags; the user guide says no binary builds are provided. README reports only very basic gameplay and only multiplayer mode: single-player means hosting a session and adding computer players, which only gather resources until attacked. doc/reverse_engineering documents the DRS archive contents, the Windows API functions the original imports, the scenario format, civilizations and unit statistics.",
    "Needs a legitimate copy of Age of Empires or Rise of Rome, on the CD-ROM or installed: the engine loads Border.drs, graphics.drs, Interfac.drs, sounds.drs and Terrain.drs from the data folder plus language.dll, and expects the game fonts COPRGTB.TTF and COPRGTL.TTF that the original installer adds. The repository contains no game data, and community replacement assets are not supported yet.",
    "README lists Windows 10+, macOS Sequoia 15.7.7, Fedora 44 and Ubuntu 22+ as tested, while INSTALL still warns that Linux builds look for hard-coded legacy TTF font paths. Builds use CMake 3.11+ with C99 and C++17 against SDL2, SDL2_image, SDL2_mixer and OpenGL, plus the imgui, tracy, wepoll and miniz submodules; Windows builds use Visual Studio with vcpkg or MinGW.",
    "GitHub Actions builds the game with Clang on Ubuntu and Fedora and runs the Google Test suite in headless mode; its tests cover networking, the protocol, the server, SDL and a UI menu rather than equivalence with the original executable. No comparison with the original game is published.",
    "LICENSE applies Apache-2.0; the submodules and the bundled headers in game/src/external keep their own licenses. README states that all copyrighted material and trademarks belong to their respective owners and calls the work an educational non-profit project."
  ],
  "requirements_zh": [
    "所审阅的 master 快照（2026-09-20）在 CMake 中标为 0.1 版，仓库没有发行版或标签；用户指南说明不提供二进制构建。README 称目前只有非常基础的玩法，且只有多人模式：单人游戏需要先主持一个会话再加入电脑玩家，而电脑只会采集资源，直到受到攻击。doc/reverse_engineering 记录了 DRS 归档内容、原版导入的 Windows API 函数、场景格式、文明和单位数据。",
    "需要正版《帝国时代》或《罗马复兴》，可放在 CD-ROM 上或已安装：引擎从 data 文件夹载入 Border.drs、graphics.drs、Interfac.drs、sounds.drs 和 Terrain.drs，并读取 language.dll，还需要原版安装程序添加的游戏字体 COPRGTB.TTF 和 COPRGTL.TTF。仓库不含游戏数据，目前也不支持社区制作的替代素材。",
    "README 列出经测试的平台为 Windows 10 及以上、macOS Sequoia 15.7.7、Fedora 44 和 Ubuntu 22 及以上，而 INSTALL 仍提醒 Linux 构建会查找写死路径的旧版 TTF 字体。构建使用 CMake 3.11+、C99 与 C++17，依赖 SDL2、SDL2_image、SDL2_mixer 和 OpenGL，以及 imgui、tracy、wepoll 和 miniz 子模块；Windows 上通过 Visual Studio 配合 vcpkg 或 MinGW 构建。",
    "GitHub Actions 在 Ubuntu 和 Fedora 上用 Clang 构建游戏，并以无界面模式运行 Google Test 测试套件；这些测试覆盖网络、协议、服务器、SDL 和一个 UI 菜单，并不检验与原版可执行文件的一致性。项目未公布与原版游戏的对比。",
    "LICENSE 采用 Apache-2.0；子模块和 game/src/external 中附带的头文件各自保留其许可证。README 声明所有受版权保护的内容和商标归各自所有者，并称这是一个教育性质的非营利项目。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/FolkertVanVerseveld/aoe",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
