如果有固定的时间步长和插值,则有多个游戏更新的目的

时间:2016-08-07 02:06:14

标签: design-patterns game-engine game-loop

我正在尝试制作游戏,并按照文章中所述实施了固定的时间步长:http://www.koonsolo.com/news/dewitters-gameloop/comment-page-3/#comment-18678

这是一个非常常见的策略,以便在游戏开发中获得决定论。我的问题与您将拥有的更新数量有关。我已经阅读了很多变化(在文章中它被设置为每秒25次更新)但是我已经阅读了大约20或甚至10。如果插值将会被使用,为什么不只是在第二次更新游戏并简单插值?有多个更新有什么意义?你可以很容易地每秒进行一次大的更新并在它们之间进行插值,或者实际上任何数字就足够了,因为插值只会匹配任何数字。游戏开发者如何选择25,20,15,15或其他任何数字?谢谢!

1 个答案:

答案 0 :(得分:1)

游戏通常遵循input -> processing -> output的原则,因为几乎所有软件都会这样做。因此,每当您的内部游戏状态发生变化或需要对某些输入或事件做出反应时,您都会将相应的更改输出给用户。 触发更新的输入取决于实际游戏。在基于物理行为的游戏中,您宁愿经常更新或重新计算游戏的内部状态以反映物体移动,碰撞等。例如,在卡片或棋盘游戏中,只有当玩家与游戏元素交互(例如点击卡片)并且根本不需要定期更新游戏状态时,您才需要更新游戏的状态。 因此,您更新游戏状态的频率频率将遵循特定游戏中输入交互和事件的要求:

  • 如果玩家输入不是基于事件的,您需要多久调查一次?
  • 您需要多久在内部更新游戏元素的内部状态,以便顺利反映动画?

You might also be interested in this question.