游乐园经营模拟《过山车大亨 2》开源重实现(OpenRCT2)
OpenRCT2 是《过山车大亨 2》(RollerCoaster Tycoon 2)的开源重实现项目,...
open-dungeon · newideas99/open-dungeon
一个用 TypeScript/Next.js 编写的全本地 AI 角色扮演叙事应用:故事文本通过 Ollama(如 Gemma)等本地模型生成并实时流式输出,也可连接任意 OpenAI 兼容后端;场景插图由本地 FLUX 模型或自建 ComfyUI 实例内联生成。无需账号与 API...
Exult 是一个以「重写引擎、复用原版素材」为路线的开源项目。它并不打算重新绘制《创世纪7》的美术,也不打算改写剧情,而是从零实现一套能够读取 1993 年原版《Ultima VII》数据文件与图形文件的游戏引擎,让这款早期 1990 年代的 DOS RPG 在现代操作系统上以尽量接近原貌、甚至更完善的方式运行。README 中说明了这一动机:原版是一款使用非常规内存管理器的 DOS 游戏,在今天的机器上直接运行相当困难,而 Exult 通过重新实现引擎绕开了这些历史包袱。
在内容覆盖上,当前版本的引擎已经能够完整支持《Ultima VII: The Black Gate》(黑门)与《Ultima VII Part 2: Serpent Isle》(蛇岛)两部正传,玩家可以从头到尾打通这两部作品。仓库标签中还列出了 Forge of Virtue(美德熔炉)、Silver Seed(银种子)以及 Serpent Isle beta 等关键词,对应原作的资料片与测试相关内容;README 明确指出附加内容是可选的,不安装也能正常运行主线。需要注意的是,Exult 本身不附带任何游戏数据:使用者必须自己拥有原版游戏,项目方也鼓励通过合法渠道购买正版后再使用本引擎。
技术实现方面,Exult 使用 C++ 编写,并借助 SDL 库封装窗口、输入、音频等平台相关能力,从而让移植到其他平台相对容易。README 提到它至少可以在 Linux、macOS 与 Windows 上运行。仓库的持续集成徽章进一步展示了实际覆盖的构建目标:Android、FreeBSD、iOS、macOS、OmniOS、Ubuntu 以及两条 Windows 构建线(MinGW 与 MSVC),此外还有 CodeQL 代码扫描、Coverity 静态分析与 CodeFactor 代码质量评分,并且存在专门产出 Windows 与 Android 快照版本的工作流。这种多平台 CI 布局说明项目在跨平台可编译性上投入了相当多的工程成本,而不只是「理论上可移植」。
值得一提的是 Exult 与原版数据格式解码工作的关系。README 特别致谢了 Gary Thompson、Maxim Shatskih、Jakob Schonberg、Wouter Dijkslag 等粉丝,正是他们此前对《创世纪7》各类数据文件的逆向分析与解码成果,才使得用新引擎加载原版剧情、地图、对白与图像成为可能。这也决定了此类项目的典型形态:引擎代码开源,资源仍在玩家自己的游戏目录里,两者在运行时结合。项目采用 GPL v2 许可证发布,主页 exult.info 上提供了在线版的说明文档。
对于想学习的人来说,Exult 是一个很有参考价值但门槛不低的样本。它可以用来观察一个成熟开源复刻项目如何组织大规模 C++ 代码、如何用 SDL 做平台抽象层、如何搭建覆盖桌面与移动端的 CI 矩阵、如何接入静态分析工具链,以及如何处理「引擎与商业游戏资源分离」这一法律与工程上的边界。难度上它属于偏高级的阅读对象:代码体量大、涉及大量历史文件格式与游戏逻辑细节,不适合作为 C++ 入门项目。
实际使用与国内环境下要注意:首先必须自备正版《黑门》或《蛇岛》游戏文件,否则引擎没有内容可加载;其次编译需要 C++ 工具链与 SDL 相关开发包,具体依赖项与构建步骤应以仓库 README 及 exult.info 文档为准;再者,快照构建与文档站点的下载在国内网络下可能较慢,建议自行配置镜像或代理,相关细节待核验。总体而言,Exult 更像是「把一款经典 RPG 的运行时重新实现一遍」的长期社区工程,而不是一次性的复刻作品。
OpenRCT2 是《过山车大亨 2》(RollerCoaster Tycoon 2)的开源重实现项目,...
该项目用 C 语言维护《Aliens versus Predator》(1999)可获得的游戏源码,...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...