国游销量吧 关注:19,144贴子:991,786
  • 6回复贴,共1

关于《河洛群侠传》的优化问题探讨

只看楼主收藏回复

班门弄斧一下,从技术角度分析下这游戏的一些问题吧。其实主要是大家都在反映的卡顿方面的问题。
个人认为,游戏优化方面,其中一点就是要针对内存进行内存优化。特别是这种无缝地图的开放世界,内存优化尤其重要。而内存优化又需要注意以下方面:
① 内存释放
首先,需要做内存释放的功能。例如怪物死亡后,需要将这个怪物资源占用的内存释放掉,腾出空间给其他资源和数据;再例如玩家从A场景进入B场景,那么就需要将A场景资源占用的内存释放掉。某些游戏玩了一段时间就感觉卡顿,就是因为没有及时进行内存释放,导致系统资源占用内存越来越多,结果就导致游戏运行过程中极其的卡顿,甚至游戏崩溃。
而计算机内存毕竟是有限的,如果没有相关内存优化功能,就算玩家用的是顶配电脑,也会因为游戏时间过长,而导致游戏出现严重卡顿,甚至系统崩溃的现象。
为什么河洛群侠传在游戏进行了一段时间后感觉很卡,必须玩了一段时间后退出游戏,再进入才感觉不会卡?个人推测就是因为没有做相关内存释放的功能。
② 内存池
其次,频繁的进行内存释放和资源加载也会造成卡顿。因为在内存释放的瞬间数秒内,因为内存的大量释放和数据清除,会造成系统的暂时卡顿,资源加载也同样如此。而内存池的作用,就是将玩家经常要加载的资源放到这个池子里面,避免经常释放资源占用的内存和加载资源,而造成系统资源的浪费和系统卡顿现象。
而一般游戏在进入一个场景前,需要先进行LOADING载入,而载入阶段就是释放之前场景资源和数据占用的相关内存,并且加载新场景资源的时机。前面也说了,内存释放和资源加载时会造成短暂的系统卡顿,而通过LOADING条载入的时候进行内存释放和资源加载,玩家就不会在进入新场景后体会到这种卡顿,从而给了玩家较好的游戏体验。这也是为什么很多游戏都会有载入阶段的缘故。
而具有开放性和无缝地图特性的游戏,因为场景都是无缝地图,对内存的占用要求会非常高,导致程序不好优化。因为玩家从当前场景前往新场景时,当前场景的内存不能随便释放掉,因为地图是无缝的,玩家回来很方便也很快,一旦清除当前场景资源和数据占用的内存,万一玩家突然因为什么原因又回来了呢?到时候加载都没时间加载(因为没有LOADING载入时间)。就算临时加载,又会导致场景的卡顿现象,总之比较麻烦。
所以这类游戏,不仅仅需要做内存释放的优化,还需要做内存池的功能。通过内存池,将最近用到的资源、经常用到的资源放入到内存池内,当需要调用和加载相关资源和数据时,系统直接读取内存池内的数据,这样就可以做到瞬间加载相关数据和资源,而不会造成系统卡顿现象。
例如这个场景经常会出现5种怪物,那么如果将这5种怪物的美术资源和数据存放在内存池,就不需要频繁的释放该资源占用的内存,并且在平时也就不需要再频繁的加载这5种怪物的资源,从而可以有效的降低卡顿现象。
而河洛的《河洛群侠传》,这游戏是无缝的开放式场景,这就导致对系统内存的占用会非常高。很多人反馈此游戏在平时游戏过程中都有卡顿。个人推测是由于没做内存池,导致需要用到资源时不得不临时进行资源加载导致的。
当然以上都是个人班门弄斧,毕竟不是真正的程序员,若有错误请见谅。


IP属地:江苏1楼2018-10-26 00:32回复
    项目策划一开始就出了问题,预算和工期都不足以完成原定目标才是根源。


    IP属地:浙江来自Android客户端3楼2018-10-26 00:38
    回复


      IP属地:河北来自Android客户端4楼2018-10-26 07:39
      回复
        我是爱学习的


        IP属地:江西来自Android客户端5楼2018-10-26 08:27
        回复
          怎么说呢,我们很多非行业内人士提的所谓意见在行业内人士眼中可能会贻笑大方。
          所谓“策划一时爽,程序员火葬场”。不是不想实现,而是不会做,就是如此。。。


          IP属地:湖北6楼2018-10-26 12:41
          回复
            作为程序员表示最该先搞的是给策划去写个更好的任务可视化工具别再祖传的填表了,侠客还好前传任务靠人肉搞就已经有崩的倾向了河洛直接全崩,改一版任务爆炸一次最后还是程序员自己吃shi去各种搞新版本的事,爆炸的存档还要调,优化这活就是个体力和时间活玩法和任务搞不完纯粹是没时间搞不是没相关的知识搞。


            IP属地:上海7楼2018-10-26 12:52
            回复
              策划人员脑洞大开想出了很好很强大的玩法
              动画特效部门根据这些玩法要做出想应的动画特技,压力是之前的三倍
              程序猿要为这些玩法赋予更多的逻辑性,压力是之前的N倍
              问题就是出在怎么把握预算分配更多的开发资源,拿多少资金可以做出什么样的游戏
              资金在怎么多也都是运转资源,但运转水平差的情况给在多资金也惘然


              IP属地:广西8楼2018-10-26 16:03
              回复