我已经做了几个简单的游戏:进入一个级别,直到最后,继续到下一个级别 但我仍然想知道“真正的”游戏开发者如何用故事制作游戏。
以下是故事游戏的一些内容(我想知道它们是如何制作的):
最后几点是相同的三倍 但是,我不认为他们有一个包含大量布尔值和整数的保存文件,用于保存以下内容:
当我谈论故事游戏时,我想:
这是几个级别游戏中的几个例子:
由于
答案 0 :(得分:5)
通常,这些游戏使用一组标志来管理特定角色和设置棋子的行为。这与有限状态机非常相似(通常直接等效),这是一种稍微更通用和更强大的方法来解决问题。
重要的是不仅要设计状态,还要设计过渡,以便它们尽可能容易地连接起来。
答案 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)
“但是,我不认为他们有 保存文件有很多布尔和 持有东西的整数“
我认为他们这样做。 :)
有时可能会有一个正式的结构:例如,它可能是一个命名计数器和标志的列表,可以从游戏的脚本语言中查询,并且可能直接对应于设计文档中的条目。游戏可以递增计数器并翻转标志以响应游戏中的事件,并在决定执行哪些动作时查询这些标志和计数器,并且可以以紧凑的格式轻松保存整个批次。