游戏开发:你如何制作故事游戏?

时间:2010-06-08 15:52:34

标签: storyboard

我已经做了几个简单的游戏:进入一个级别,直到最后,继续到下一个级别 但我仍然想知道“真正的”游戏开发者如何用故事制作游戏。

以下是故事游戏的一些内容(我想知道它们是如何制作的):

  • 玩家必须访问的一系列地方,并在那里那样做。
  • 你第一次看到一个人,他说你好。经过几个小时的游戏进度,他会给你一个提示去特定的地方。
  • 第一次走过一座桥时,第二次没有任何事情发生了:桥落下,你将进入桥下的新位置。
  • 当您第一次进入新位置时,您将从以下位置获取大量信息:村民等下次没有任何事情发生

最后几点是相同的三倍 但是,我不认为他们有一个包含大量布尔值和整数的保存文件,用于保存以下内容:

  • 玩家第一次做了....
  • 玩家进入该位置的第十次
  • 玩家谈论### th 时间给那个人
  • <子>等

当我谈论故事游戏时,我想:

  • 塞尔达传说(所有系列游戏)

这是几个级别游戏中的几个例子:

  • 马里奥
  • 编织
  • 蜡笔物理学

由于

5 个答案:

答案 0 :(得分:5)

通常,这些游戏使用一组标志来管理特定角色和设置棋子的行为。这与有限状态机非常相似(通常直接等效),这是一种稍微更通用和更强大的方法来解决问题。

  • FSM跟踪特定任务的“进度” - 抛出什么开关,持有什么对话等等。
  • 每个NPC都有一个FSM来跟踪“NPC的信息状态 - 每个状态与游戏中NPC弧线内的特定阶段相关,通常以随机引用状态结束。
  • 作为一个例子,保存的游戏可以跟踪游戏世界中每个对象的状态。

重要的是不仅要设计状态,还要设计过渡,以便它们尽可能容易地连接起来。

答案 1 :(得分:1)

我认为你会发现它从流派到流派各不相同,但在播放时它可能只是保存在内存中的数据结构中,当保存时它会持久保存到保存文件中(只需查看各种游戏的一些保存文件的大小) ,我见过多MB保存文件。)

答案 2 :(得分:1)

我从来没有做过类似的事情,但我认为一般的方法是加载/保存/查询“GameState”结构,该结构包含游戏执行适当操作所需的所有信息。 / p>

e.g。

if(GameState.Player.Karma < 0 && GameState.NPCs.BillyTheInnocentLamb.KilledByPlayer)
{
    GameState.NPCs.FredTheShephard.HatesPlayer == true;
}

现在做了一百万次,你已经拥有了一个RPG。

答案 3 :(得分:0)

如果你能看看Oblivion(精彩游戏!),你可以尝试使用他们的构造集,让你通过建立额外的地图任务等完全个性化游戏。

通过使用它,您将看到该机制基本上与其他人所说的相同:例如,您有NPC可以说的几个句子,并且它会根据某些条件说出一个或另一个。例如,无论你是善还是恶,你是多么善于说服他,或者你贿赂他有多好,特别是你有/没有的东西,甚至是一天中的时间!

正如你所看到的,这些东西中的任何一个都可以用一个值轻松表达(例如,好/坏可以是0到100之间的值,对你的贿赂技能也是如此)然后它就是只是有很多ifs的问题:)

答案 4 :(得分:0)

  

“但是,我不认为他们有   保存文件有很多布尔和   持有东西的整数“

我认为他们这样做。 :)

有时可能会有一个正式的结构:例如,它可能是一个命名计数器和标志的列表,可以从游戏的脚本语言中查询,并且可能直接对应于设计文档中的条目。游戏可以递增计数器并翻转标志以响应游戏中的事件,并在决定执行哪些动作时查询这些标志和计数器,并且可以以紧凑的格式轻松保存整个批次。