【问题标题】:State management in adventure games冒险游戏中的状态管理
【发布时间】:2011-05-31 02:37:12
【问题描述】:

我一直在考虑制作一款点击式冒险游戏。我遇到的问题是以通用(而不是丑陋)的方式表示游戏逻辑和状态。

游戏状态:
你从房间里拿了一件物品,它不应该在那里(可以很容易地完成) 你和一个角色交谈过,他做了一些影响另一个房间/屏幕的事情,如何保存房间和角色的状态

游戏逻辑:
你和一个角色交谈,他做了一些动画并改变了世界状态中的一些东西,你如何在不将其硬编码到游戏中的情况下进行设置?

我想这些问题是相关的,因为弄清楚如何表示状态将大大有助于弄清楚如何定义“动作”。

【问题讨论】:

  • 请注意,如果您在 gamedev.stackexchange.com 提出此问题,您可能会得到更适合如何在游戏中执行此操作的回答。

标签: state adventure


【解决方案1】:

更漂亮的选项之一是使用脚本语言,例如Lua。您仅将给定房间或物品或角色可能具有的属性、它们可能相互关联的方式(例如物品在房间中)硬编码到游戏中,以及所有真正的东西都将由脚本完成。如果你做对了,这样做的好处是更容易调试(你不需要重新编译你的游戏,实际上,做得对,你甚至不需要重新启动它),但缺点是增加了一些复杂性。

您还可以考虑使用一些已经可用的游戏引擎进行点击冒险,例如AGSWintermute。如果你想制作一个游戏,你会希望尽可能避免编程直接跳到游戏设计。我知道这对于程序员来说可能很难接受:)

【讨论】:

    【解决方案2】:

    除非您的游戏引擎包含某种脚本语言,否则您必须对某些东西进行硬编码。消除硬编码往往会将定义动作的责任推到运行时,运行时环境将需要某种方式来定义这些动作。如果您还没有,请研究一种可嵌入的语言,例如 Lua 或 Python,甚至可能是 Javascript。

    【讨论】:

      猜你喜欢
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      相关资源
      最近更新 更多