# Age of Empires Free Software Remake：基于原版数据的重新实现

> 以基于 SDL2 和 OpenGL 的跨平台 C++17 引擎重新实现 Microsoft 的《帝国时代》及其资料片《罗马复兴》，载入原版游戏的 DRS 归档和 language.dll 资源。README 称项目为兼容起见模仿 Windows API 和 Genie 引擎，部分代码依据反汇编重建；仓库另附格式笔记和用于检查原版数据文件的 Python 工具。目前只能通过多人会话进行非常基础的游戏，因此这是一个早期引擎案例，而非可替代原版游玩的实现。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-29
- 原始资源：<https://github.com/FolkertVanVerseveld/aoe>
- 一手来源：<https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/aoe-free-software-remake-case/>
- 记录 JSON：<https://awesomerea.org/resources/aoe-free-software-remake-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/aoe-free-software-remake-case/index.md)

## 使用条件与局限

- 所审阅的 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 声明所有受版权保护的内容和商标归各自所有者，并称这是一个教育性质的非营利项目。

## 一手来源

1. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/README.md>
2. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/INSTALL>
3. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/doc/user_guide.md>
4. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/HACKING.md>
5. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/CMakeLists.txt>
6. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/.gitmodules>
7. <https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/doc/reverse_engineering>
8. <https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/tools>
9. <https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/game/src/legacy>
10. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/.github/workflows/unit_test.yml>
11. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/.github/workflows/test_distros.yml>
12. <https://github.com/FolkertVanVerseveld/aoe/tree/3234eac7098124e7fac11272697cacb3aed5e608/game/tests>
13. <https://github.com/FolkertVanVerseveld/aoe/blob/3234eac7098124e7fac11272697cacb3aed5e608/LICENSE>

## 同分区更多条目：游戏

- [Bravo：逆向实现的 Minecraft 服务端](https://awesomerea.org/zh/resources/bravo-minecraft-server-case/index.md) · 案例
- [Chariot《帝国时代》引擎重实现](https://awesomerea.org/zh/resources/chariot/index.md) · 案例
- [CoD4 Rewrite：Rust/Bevy 游戏重建](https://awesomerea.org/zh/resources/cod4-rewrite-reconstruction-case/index.md) · 案例
- [CorsixTH：Theme Hospital 的开源重新实现](https://awesomerea.org/zh/resources/corsixth-engine-case/index.md) · 案例
- [Cursed Lands：用 Godot 重建《Evil Islands》与《Lost in Astral》引擎](https://awesomerea.org/zh/resources/cursed-lands-case/index.md) · 案例
- [Desktop Games Nostalgia：macOS 与浏览器移植](https://awesomerea.org/zh/resources/desktop-games-nostalgia-rea-port-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
