我正在设计我的开放世界RPG的架构(我正在创造它的乐趣,我不打算成为热门游戏:D),并且不得不停下来,因为我遇到了严重的墙。
如果创造一个大型的开放世界游戏,那么其规模将会很大。
让我们想象一下,当我找到一个新的补丁时,我的游戏会有一个自动更新的启动器。
再次下载整个游戏是不可接受的,因为如果有一个小错误修正,谁会再次下载整个游戏,如果只有一个小的改变?
所以我不得不制作一个可修改的架构,所以如果有更新,我的启动器只会下载更改的文件,而不是整个客户端。
当我构建游戏时,90%(如果不是更多)游戏数据都在一个程序调试数据库中。
当我看一个游戏时,例如“魔兽世界”,它的文件是在压缩目录中组织的。如果在一个区域的特定位置(如缺少一棵树)有一个小修复,他们不必更新整个游戏,甚至不是整个地图,甚至不是整个区域。
相反,他们只需要更新文件,这确定了(例如)世界上20x20米区域的错误。
让我们通过一个简单的例子来实现:
我有一个场景很大的地方,我必须修理它的一小部分。
如何在不下载整个客户端的情况下更新已发布客户端的错误部分?
提前感谢您的帮助! :)
答案 0 :(得分:1)
有几种方法可以做到这一点。 unity-3d中最常见的方法之一是asset-bundles。这将允许您以类似于例如哇的方式更新您的游戏。
应用程序商店中还有大量资源可供使用。我个人使用的是M2HPatcher,这主要是因为它当时是免费的。我不确定它是否仍然是