376 字
2 分钟
不写引擎也能做游戏:OpenRA 的 Mod 生态

三个官方 Mod 就是最好文档#

mods/ 下躺着 ra(红警)、cnc(泰伯利亚)、d2k(沙丘2000),每个都是完整游戏:规则、任务、过场、平衡性。要学怎么写单位行为,直接抄官方 Mod 的 YAML,比看文档快十倍。

三件套:YAML + Lua + 地图编辑器#

  • YAML:单位、武器、建筑、科技树全是配表,Trait 文档自动生成(docs.openra.net),配错有 Lint/ 检查器兜底
  • LuaScripting/ 模块提供任务脚本 API,做战役关卡、触发器、过场剧情,不用碰 C#
  • 地图编辑器EditorBrushes/,画地形、摆出生点,MapGenerator 还能随机生成

Lint 检查器这点我要单独夸:配表在进游戏前先过一遍静态检查,拼错 Trait 名、缺字段直接报错。一个 Mod 几千行 YAML,没有 Lint 会疯。

跨平台与打包#

packaging/linuxmacoswindowssourcepackage-all.sh 全齐,.NET 一套代码三端发。OpenRA.Test/ 保证重构不翻车,开源协作的标配。

我的 takeaway#

好引擎的标志:把 90% 的创造力交给不会写引擎的人。Trait 管能力、YAML 管数值、Lua 管剧情、编辑器管地图——分层之后,每个人只玩自己那一层。作为又爱打游戏又爱折腾的动手党,这套设计我直接抄作业:以后自己做小项目,也要先想好“别人怎么不写代码就玩起来”。

游戏开发系列三篇完。下次开新坑,可能是自己动手写个小 Mod 实战。