无尽太空(Endless Sky):2D 沙盒太空探索与贸易战斗游戏
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
freeciv · freeciv/freeciv
Freeciv 是一款自由及开源的帝国建设策略游戏,灵感来自人类文明史,以 C 语言开发,此仓库为独立 Freeciv 客户端与服务端的上游代码库。项目采用 GPL v2 许可,文档位于 doc 目录,官网、论坛与 Redmine 缺陷跟踪平台均已公开。游戏具体...
OpenMW 属于「引擎级重制」项目:它并不提供任何游戏资源,而是用现代 C++ 重新实现《上古卷轴3:晨风》(The Elder Scrolls III: Morrowind)原本依赖的那套运行时,让玩家把自购正版游戏的数据文件交给它加载,从而在更现代的系统上重新体验这款 2002 年的开放世界 RPG。换句话说,仓库里是代码而不是游戏内容——想真正进入瓦登费尔(Vvardenfell),玩家必须自己拥有 Morrowind 的正版拷贝,引擎通过「数据路径」找到这些文件后才能启动。
在完成度方面,README 给出了相当明确的口径:Morrowind 本体、资料片 Tribunal 与 Bloodmoon 的三大主线任务目前都可以从头走到尾,支线任务偶有瑕疵但比例不高,官方把剩余问题集中记录在面向 1.0 里程碑的 bug 追踪列表里。也就是说项目尚未宣布 1.0,但已经是可以完整通关主线的状态。即便在 1.0 之前,OpenMW 也已经提供了原版引擎所没有的改进,例如更好的画面表现与更现代化的用户界面,这也是不少老玩家愿意迁移过来的原因。
除引擎本体外,仓库还一同构建 OpenMW-CS,用来替代 Bethesda 官方的 Construction Set 编辑器。这意味着项目不只是「能跑游戏」,还试图把内容创作链路一并开源:玩家与 Mod 作者可以用它查看、修改游戏数据与场景,而不用依赖早已停止维护的官方工具。对于研究 RPG 内容管线的人来说,引擎加编辑器的组合比单纯的运行时更有参考价值。
技术层面,OpenMW 使用 C++ 编写,并以大量命令行参数暴露运行时可调节的行为,README 中完整列出了这些选项:可以用 --config 叠加配置目录、用 --replace 改变配置合并策略(覆盖而非追加)、用 --user-data 指定存档与截图目录、用 --resources 指定资源目录;用 --data 与 --data-local 按优先级叠加数据目录,用 --fallback-archive 指定兜底的 BSA 归档;用 --content 加载 esm/esp,或 OpenMW 自己的 omwgame/omwaddon/omwscripts 格式,用 --groundcover 单独加载地表植被内容;用 --start 指定初始 cell,用 --load-savegame 直接读档,用 --skip-menu 与 --new-game 跳过主菜单或直接进入新游戏流程。脚本方面提供了 --script-all、--script-all-dialogue 在启动时预编译全部脚本(含对话脚本)、--script-console 开启控制台专用功能、--script-run 执行一份启动时运行的命令清单,以及 --script-warn 把脚本编译警告分为忽略、提示、视为错误三档。此外还有 --encoding 选择 win1250 / win1251 / win1252 以匹配中东西欧、西里尔与西欧字符集,--no-sound 关闭音频,--no-grab 取消鼠标锁定,--activate-dist 覆盖交互距离,--random-seed 固定随机数种子,--export-fonts 把晨风的 .fnt 位图字体导出为 PNG 加 XML。这些参数本身就是一份很好的「引擎启动流程说明书」。
平台支持方面,官方明确列出三档:Windows 10 或更高、macOS 14.8 或更高、以及 Linux,并且不支持任何 32 位平台。安装流程、从源码构建的环境搭建都有专门文档,README 分别指向安装手册与开发环境配置页面,同时欢迎社区补充更多受支持的平台。
Mod 兼容性是使用前必须了解的坑:为原版晨风引擎编写的既有 Mod 能否直接在 OpenMW 上工作并不确定。OpenMW 的脚本编译器比原版做了更严格的错误检查,因此一些在原引擎下「能跑」的脚本可能直接编译失败;另一些 Mod 则依赖原引擎的怪异行为甚至 bug 才成立。官方表示这类问题会逐案评估——有时在引擎里加兼容处理可行,有时只能由 Mod 作者修复。README 建议玩家把可用或不可用的 Mod 情况登记到 wiki 的 Mod status 页面,形成社区共识。
从学习角度看,这是一个体量相当大的 C++ 工程:涉及渲染、UI、存档读写、音频、脚本虚拟机、数据归档加载与世界场景管理等多个子系统,适合已经具备 C++ 与图形编程基础、想研究「商业 RPG 引擎如何被社区重写」的进阶读者。它不适合作为入门项目;同时要清楚自己需要准备正版游戏数据,否则即使编译成功也无法进入游戏。项目采用 GPLv3 许可,随附字体各自使用独立许可(DejaVu 系字体为自定义许可,DemonicLetters 与 MysticCards 为 SIL Open Font License)。社区沟通渠道包括 Libera 上的 #openmw、官方 Discord 服务器与 Matrix 空间,且三者互相桥接,提问在哪一侧都能被看到。
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...