在《奥秘法师》中分离游戏引擎与游戏逻辑的方法及其对《元素恶魔圣殿》快速开发的影响

Timothy Cain

总结:

在《奥秘法师》的开发过程中,游戏引擎与游戏逻辑被刻意分离,以提升开发效率和代码可维护性:

  • 分离策略:核心引擎功能(如加载、动画、脚本处理)与具体游戏机制(如属性、技能、战斗)被放置在不同的C文件中。
  • UI的独立性:用户界面(UI)作为单独的库进行编译和链接,与游戏引擎和游戏逻辑完全分离。
  • 分离原因
    1. UI设计频繁变动,独立开发避免影响核心游戏代码。
    2. UI仅负责数据显示,不应包含游戏决策逻辑,防止程序员误用数据流。
  • 数据流向:游戏逻辑将数据发送给UI,但UI不向游戏逻辑回传决策性信息,确保了单一数据流向。
  • 开发优势:这种模块化设计使得团队能够利用《奥秘法师》的引擎快速开发《元素恶魔圣殿》,即使游戏机制和UI都完全不同。
  • 行业影响:这种在90年代和2000年代并不常见的实践,如今已成为现代游戏引擎设计(如Unity)的标准做法,提高了代码质量和重用性。

介绍与分离动机 [0:00:00]

视频回应了观众关于《奥秘法师》(Arcanum) 中如何将游戏机制与引擎部分分离的问题。作者强调,这种分离与他之前介绍过的操作系统抽象库 (TIG 和 Gnol) 的概念非常相似,其核心在于将游戏的特定部分封装到库中,以实现抽象化,无需关心底层平台细节。

游戏引擎与游戏机制的分离实践 [0:01:07]

在《奥秘法师》的开发中,团队特意将游戏引擎与游戏特有的机制(即与《奥秘法师》IP相关的部分)保持分离:

用户界面 (UI) 的独立性 [0:02:51]

除了核心的游戏引擎与逻辑分离,游戏的用户界面 (UI) 也被独立出来,形成一个独立的库:

对《元素恶魔圣殿》开发的影响 [0:07:16]

《奥秘法师》的这种分离式开发决策,在后续开发《元素恶魔圣殿》(Temple of Elemental Evil) 时带来了巨大优势:

现代游戏开发中的分离实践 [0:09:10]

这种游戏引擎与游戏逻辑分离的做法在90年代和2000年代并不普遍,但如今已成为行业标准: