没有载入时间的游戏如何运作?


34

我们正在谈论的是不划分级别或检查点的大型游戏。例如3D冒险。

Answers:


45

简单的答案:游戏被分成多个块,而您在块中四处移动时,块总是不断地被装在您的背后,然后您才能看到它们并在离开该区域时被扔掉。对每个简单的答案来说,都是一个复杂的解决方案,它权衡了实现过程中的无数折衷……但是您明白了。

对于您认为可以看到数十或数百英里远的游戏,那里的一切都是假的。真正远的东西只是一个位图,中等范围是一个非常轻的网格。真正的东西会被装入并放置在假东西之上,然后再进入。

当块被卸载时,它们将保存任何正在进行中的对象或拼图的状态,以便当您回来时它们将自己重置为上次看到它们的位置。

所有这一切都绕开了您的主要问题,因此这才是真正的答案:首次启动游戏时总是会有加载时间,但您可能无法识别它,因为它“总是需要时间来启动游戏”,并且您希望这样做或它隐藏在加载电影的背后,或者在GUI中播放时发生。


5
除了在Minecraft之类的游戏中,实际上是在将块加载到更远的地方。
liamzebedee 2011年

19
..或恰好完全适合内存的游戏,或程序上生成的内容,或或或。总是有一些特殊情况。=)
Jari Komppa

5
一种常见的实现方法是拥有一些游戏中的加载屏幕,例如乘坐电梯。较常见的方法之一是走廊很长,也可能是银河系气闸。不过,一种巧妙的方法是将其隐藏在渲染的场景后面。曾经玩过战争之神吗?只要摄像机静止不动,它就会承受很长的走廊或气锁式负载。角色和碰撞仍在记忆中,世界地理信息正在更新:)
詹姆斯

3
@Liam Ep Minecraft所做的正是Patrick的简单回答。它会加载您周围的块,如果您在游戏中传送,则可以看到正在加载的块,因为它不是您所期望的。如果您走开,它将卸载它们并将其状态保存到磁盘。至于“数十或数百英里远”的部分,我的世界有雾,它只是将您的视野限制在数百米之内,并且不会渲染得更远。
Scott Chamberlain

4
如果我在玩沉浸式游戏时考虑到这个答案,我会感到难过。您的意思是告诉我,外面没有世界在等我探索!等待创建,渲染和探索!!呸!
KRB

12

先前的答案几乎可以解决所有问题。还值得一提的是《地牢围攻I》。

这是一位开发人员的论文,它实际上讨论了使其工作所需的一些体系结构以及常见的陷阱:

http://www.floatingorigin.com/mirror/continuous-world.htm

我要说的是,如果您实际上想实现类似的东西,这是一本必读的书。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.