我只是在阅读有关“无人的天空”文件中发现的内容的信息,其中有很多未使用或与游戏无关的内容。不久前,我还阅读了有关Watch Dogs文件中保留的E3设置的信息。为什么游戏开发人员会在最终游戏中留下旧文件和未使用的文件?
当然,这只会占用光盘上的额外空间,并且意味着如果您下载游戏,必须下载更多的数据吗?
另外,开发人员是否不害怕人们会找到什么?
我只是在阅读有关“无人的天空”文件中发现的内容的信息,其中有很多未使用或与游戏无关的内容。不久前,我还阅读了有关Watch Dogs文件中保留的E3设置的信息。为什么游戏开发人员会在最终游戏中留下旧文件和未使用的文件?
当然,这只会占用光盘上的额外空间,并且意味着如果您下载游戏,必须下载更多的数据吗?
另外,开发人员是否不害怕人们会找到什么?
Answers:
大型游戏使用一种称为构建管道的工具。这就像另一组工具,可以处理所有不同发行版本的游戏内容。诸如No Man's sky和Watch_Dogs之类的多平台游戏肯定会在不同平台上使用不同的资产。因此,我认为您的问题有两个可能的答案。
开发人员忘记从管道中删除某些资产,因此他们与实际游戏捆绑在一起。
开发人员有意将一些“未使用”的资产留在游戏中,以供以后在补丁或更新期间使用,因为他们无法按时完成任务。《巫师》中的恶魔坑实例3。
在由多人共同开发的大型游戏中,要找到所有参考内容可能比想象中的难。即使有明确的工具可以提供帮助(我们在ArenaNet上构建了此类工具,使用Unreal的任何人都可以使用Unreal版本的那些工具,Bungie的工具可以做同样的事情,甚至可以谈论它们,等等)。
引用内容的方法有几种可能会打败此类系统,通常是简单地通过引用系统无法跟踪的内容(例如,在代码中创建对某些资产的隐式或硬编码引用)来引用内容。
即使假设您已经解决了查找所有内容相互引用的问题,也存在无法分辨是否确实使用了某些问题的问题。也许某个脚本中的某处引用了某些资产,但是该脚本的触发量未正确放置在墙上,因此内容永远都不会在游戏中产生。彻底测试这一点也很困难。
当自动(或自动售货机能),用于检测和过滤掉不用的内容失效的方法,你只剩下老式的方法:人工干预。人们会犯错误,做出错误的假设(他们可能会认为文件仍在使用,即使不是因为其他人进行了更改),是的,甚至有时选择将游戏中无关的内容作为复活节彩蛋。导致这种情况的仅仅是人类的自然错误。
这通常不是内容足够量的真多动针负荷或文件大小的优化。还有一些工具可以报告任何大型构建链或引擎中最大或最慢的资产,但重点是减少主要违规者的影响,而不是查找和定位每个浪费的字节。通常。
编辑:
对原始问题发表评论后,
没有人记得删除它们
为什么游戏开发人员会在最终游戏中留下旧文件和未使用的文件?
当然,这只会占用光盘上的额外空间,并且意味着如果您下载游戏,必须下载更多的数据吗?
另外,开发人员是否不害怕人们会找到什么?
游戏开发人员将未使用的文件留在最终游戏中,因为他们不想花费精力查找和删除所有未使用的文件。毕竟,游戏在运行时还需要一些额外的材料,时间就是金钱。清理会增加成本(取决于此操作的自动化程度)。
虽然这会占用额外的空间,并且意味着必须下载更多的数据,但这通常不是开发人员的问题,甚至客户通常也不太关心稍大的下载大小。
不确定开发人员是否需要担心别人会发现什么?他们为什么要这样?只要多余的文件没有任何妥协(真的是不好的艺术品,关于老板或顾客的笑话,...),他们可能就不在乎。尽管在某些情况下,他们实际上担心参与者会在资产中发现什么。
Not sure if developers need to be afraid of anything people might find?
阅读了Titanfall 2的技术测试没有进入PC的原因,他们不同意:P。
有人暗示了这一点,但其他答案并未完全提及它:一切都归结为成本,而且有些成本比您想象的要棘手。
最明显的代价是有人必须删除它们。现在,您可以在案子上放一个实习生,让他去搜索文件和其他内容,以删除实际游戏中不需要的文件。但是仍然,您必须为此付出代价,即使您不付款(因为您是不付实习生的怪物),您仍然可以让那个实习生做一些有用的事情,例如为开发团队订购比萨饼,因此它仍然会花费你。
不太明显的成本是您要删除的资源是由于某种原因而放入的:您是否绝对确定该原因已过时?当然,您为演示编写了此代码,并且不再需要它了,但这完全正确吗?您是否编写了一个有用的函数而忘记了迁移到其他库的功能?Stacey是否为最终在真实游戏中的演示制作了非常酷的图形?内部模拟器是否仍然使用您用于测试的旧级别?
制作游戏是一项业务。即使它不是赚钱的业务,它仍然是资源有限的业务。每个决策都需要进行成本效益分析,即使您不必为每个决策编写业务案例。一个简单的事实是,将这些资产留在游戏中的成本要稍高一些才能下载,而这样做的好处是可以大大降低发行前就发生爆炸的风险。
“不太明显”段落中的所有问号都表示不确定性。你就是不知道 而且,当您开展业务时,必须将未知数换成已知数。众所周知,即使您构建的程序包有点膨胀,它也通过了测试。
还有其他潜在成本,例如开发过程中的信息泄漏,可能会被用来诱骗黑客,但是您是按原样通过测试过程完成的,因此您不必担心。
tl; dr:没有人会注意到下载量增加了4%,但是他们会注意到您是否通过删除必要的文件破坏了游戏。