为什么很少有游戏支持场景破坏?是因为技术问题吗?
最近很多游戏狂热迷们正火热讨论的一个问题是:现在都2021年了,为啥市面上依然很少有游戏支持场景破坏呢?行业逐渐内卷、游戏制作人员技术大幅度提升、行业水准越来越高同样也无法解决这些问题,想要实现整座房子被炮弹打穿已经很容易,做一个demo也很容易,那么我们开动大脑思考一下那到底是什么原因导致仅有少部分游戏支持场景破坏呢?通常游戏公司做某件事情或者是改动游戏之前,总会思考如下三个问题:
需求原因:为什么要这么做?这么做能够提升玩家的游戏体验吗?必要吗?
技术原因:我们有能力做到这效果吗?
成本原因:制作这个,我们需要花多少人,多少时间,多少钱?

如果在上面三个条件都满足的情况下,市面上还是没有支持场景破坏的游戏脱颖而出,那无非就是目前没有合适的承载体。
游戏能同时拥有物理效果和场景破坏固然很好,但低配置玩家几乎没啥多余的硬件承受能力,况且画质和抗锯齿等各种效果已经占据了整个计算压力的90%以上。
如果这时候再加上场景破坏和物理效果,这个时候低配玩家就得泪流满面了(music:西湖的水,我的泪......)

所以现在游戏的主要发展方向仍然是玩法和画质方面,但是也并非所有游戏都没有可破坏部分,我们拿一款比较火热的游戏举例——《彩虹六号》,这款游戏不管是从画面还是设计来看,给小编的感觉还是比较震撼的!
由于游戏设计者们考虑到玩家的思维习惯,所以游戏里就仅有小小一部分可破坏墙面用来增加玩家游戏体验感,毕竟谁在游戏里面谁会为了营救人质而去炸掉房子呢?
接下来,我们一起来感受一下《彩虹六号》游戏里慢放的破坏效果:

怎么样?大家是不是感觉很炫酷呢?
当枪发出射击后,墙面一瞬间爆炸出现的火光、烟雾以及火星子等等简直还原了现实中爆炸所出现的一系列场景改变,甚至还出现了暂时性的耳鸣(简直绝绝子,我愿称之“身临其境”!)
在游戏中, 通常有游戏引擎和图形引擎,如果在游戏中增加环境破坏,那么同时又增加了另一个引擎:物理引擎。在玩家摧毁建筑物时, 物理引擎则需要重新计算每个元素在每一帧的位置。根据游戏的逼真程度, 它还需要完成:场景破坏、玩家行为、NPC 行为、要显示的图形、要管理的AI、音乐播放、演奏的声音。

这样一套物理运算是非常消耗性能的,我们以6块木板的箱子为例,计算木板与木板之间的碰撞反弹,6块木板如果每块都互相碰撞了一次,则需要计算15次;如果是100块木板,需要计算4950次;当然,这只是最基本的碰撞计算,其他包括重力、阻力、光线影响、不同材质的物理特性差异等等计算过程都会呈指数级增长,而且这些计算都必须在一帧之内完成。

然而这只是一个箱子,想想如果场景中有100个这样的箱子呢?如果是一幢房子呢?比如在正常的游戏制作流程中,一个道具模型师最多三天可以完成,但是要做破坏的效果,工作量会提升到三十天左右,为了一个不确定能不能令玩家喜欢的点,将开发成本大大增加,这就足以劝退很多游戏开发商了。

总结下来,游戏当中能否在任意场景完成破坏的主要问题是在于如何在游戏这种实时性要求极高的应用当中完成那么多复杂的计算。算法本身是个难点,但是更难的是性能问题,也就是这种种原因导致了大部分游戏都不支持场景破坏。