open-sourcegamerpgultracloneinfinity-engine type: concept 创建: 2026-04-10 更新: 2026-04-10
Exult
Ultima VII 游戏引擎清洁室重实现,完整支持《黑门》+《毒岛》,SDL 跨平台
基本信息
| 项目 |
内容 |
| GitHub |
https://github.com/exult/exult |
| 语言 |
C++(48K+ LOC .cc 文件) |
| 构建系统 |
Autotools (autoconf/automake) + CMake (Android) |
| 渲染/引擎 |
SDL 跨平台渲染,无原版引擎依赖 |
| 许可 |
GPL v2 |
| 最新版本 |
1.13.1git |
| 平台 |
Linux, macOS, Windows, Android, iOS, FreeBSD, OmniOS, NetBSD, OpenBSD |
核心技术点
- 清洁室重实现:完全从头重写,不使用原版代码,兼容 Ultima VII 数据文件
- SDL 跨平台抽象:使用 SDL 库统一窗口、输入、音频接口,多平台一致体验
- 数据文件解析:粉丝多年逆向工程成果(Gary Thompson, Maxim Shatskih, Jakob Schonberg, Wouter Dijkslag)
- content/ 子目录:包含 bg/si 等游戏补丁数据(bgkeyring, sifixes, demo, islefaq 等社区修正)
- Auto tools 架构:configure.ac 探测 host 系统,支持多编译器(g++/clang++/MSVC)
- 多窗口系统检测:X11/Android/Win32/macOS/iOS 各平台条件编译分支
玩法特点
- 完整支持 Ultima VII 两部作品:The Black Gate + Serpent Isle
- 支持原版资料片(可选,非必须)
- 游戏数据文件需持有原版 Ultima VII(版权自持)
- 支持高分辨率宽屏、音频改进等现代增强特性
主要源文件架构
| 文件 |
行数 |
职责 |
| exult.cc |
3352 |
主程序入口,窗口初始化 |
| actors.cc |
5370 |
角色/ NPC 行为系统 |
| schedule.cc |
6115 |
AI 调度系统(最大文件) |
| cheat_screen.cc |
4085 |
作弊界面系统 |
| combat.cc |
1926 |
战斗系统 |
| gamewin.cc |
3179 |
主游戏窗口逻辑 |
| gamemap.cc |
1876 |
地图/世界管理 |
对公司 AI 游戏的参考价值
| 方向 |
启示 |
| 经典 RPG 引擎复刻 |
清洁室重实现路径——完全重写而非修改源码,规避版权风险 |
| 数据驱动游戏架构 |
content/ 补丁系统可作为 AI 游戏 mod 热加载参考 |
| SDL 跨平台抽象 |
多平台构建(9+ CI 流水线)经验,autotools 检测框架 |
| 社区维护长期项目 |
30+ 年历史项目持续活跃,源码+社区双轨维护模式 |
| 游戏兼容性策略 |
无原版资产依赖(需玩家自备),存档兼容性设计 |
相关页面