0

我一直在对游戏环境的缓存资源进行一些研究。通过分析各种 2D 和 3D 游戏,我提出了一些问题。

在 2D 游戏中,例如 Link to the Past,我们可以看到从主世界到地下城或从房子到主世界等的无缝过渡。我想这意味着游戏的所有资源都是预先缓存的。这对于 2D 游戏来说没问题,因为它们的资源往往更小,但是 3D 游戏呢?

例如,《半条命 2》和《刺客信条》在地图转换之间都有一个加载屏幕。我知道 HL2 使用声音缓存,在加载实际 mp3 时将播放 5 秒的音乐开头片段。但这并不能回答有关纹理和模型的问题。这些游戏是预先缓存这些资源以加快加载时间,还是不是为了节省内存?

此外,我们看到像暮光公主这样的 3D 游戏再次出现了无缝过渡。这是否意味着所有资源也都缓存在这里?对于PC游戏,我可以理解更多一点,但是在所有平台的Wii上呢?

总的来说,在 2D 和 3D 环境中用于游戏开发的最佳选择是什么?

4

1 回答 1

1

加载屏幕是当游戏的资源从磁盘移动到 RAM 时发生的,而像暮光公主使用类似于延迟加载的东西,其中世界的一部分被动态加载到游戏中(同时卸载其他部分世界以保持较低的 RAM 使用率)。资源不一定要缓存,只要以不同方式管理即可。

在 2d 游戏的情况下,如 Link to the Past(或 Super Mario),有加载屏幕,但它们足够短,并且经常被 Link 进入地牢时隐藏,或者在 Mario 中留下消息的生命等级/数量,或者在银河战士中穿过一扇门的动画。此外,也许更准确地说,基于卡带的游戏实际上是固态内存,内存访问速度相当于 RAM。

与往常一样,最好的选择取决于你在做什么。理想情况下,您希望阻止任何加载屏幕,但这通常很难/不可能,尤其是对于具有大量资产的大型 3d 游戏。虽然有些游戏被明确地划分为关卡(这里特别想到了门户网站),但如果您必须在每个街区都坐在加载屏幕上,那么开放世界游戏就没有任何好处。2d 游戏稍微容易一些,因为您不必处理复杂的模型数据,但其中许多游戏都有某种加载屏幕,通常在您开始游戏时。游戏越复杂,您就越有可能需要处理某种加载屏幕。

有关游戏中“延迟加载”的出色示例,请查看(3d)侠盗猎车手游戏、Minecraft(无限世界)和 Ultima 7(庞大的游戏世界被划分为当您靠近它们时加载的区域)

于 2011-07-27T18:50:14.767 回答