那一段时期夫妻俩的生活虽然很紧凑,木晨曦每天都要忙着处理《星梦森林夜》的各种各样的杂事,完全已经没有之前他自己开发游戏时候的那般自在了。
以前他可以自己安排自己的事情,可以坐下来写代码一写写一整天,也可以用整块整块的时间来画素材,写文本。
现在不可以了,并不是他不需要再写代码,而是有很多向外对接的事情需要他自己去处理。
文本和设计有沈时玖在做,代码有小满做,他们两个都不擅长和外面的合作方谈判对接以及协调。
他们又都很看中沈时玖的这个设计点子,想把这个游戏做好,甚至已经开始考虑采抢先体验模式先上线。
因此对外的很多杂事,都是木晨曦在对接处理,而他还要负责总体进度的推进,还要随时保持着对开发成本的敏感。
方敏抒知道做生意做事业要细心,但是游戏行业她不熟。
木晨曦跟她说,游戏这个东西很容易因为开发团队自我膨胀,自己给自己画饼,而导致系统过于庞杂,实现难度过大,最后死于成本暴增,所以他必须随时考虑着,什么功能要,什么功能不要,什么细节可以花钱花功夫去做,什么细节可以靠视觉欺骗糊弄过去。
玩家是去玩游戏的,注意力只会放在游戏的主要方向上,因此那些增加氛围感和细节的部分,就可以考虑用简单的办法去糊弄。
所谓的优化,很多时候其实也就是大型糊弄技术。
2D游戏也许它不怎么吃显卡显存,但是因为在图形方面省出来大量的资源,开发者也会把主意打到CPU身上去。
游戏里的单位多了,主循环运转一次,需要处理的数据量就多,依然会非常考验开发者的性能优化能力。
譬如,《Rimworld》里的殖民地有了十六个居民,养了五百只鸡,主循环执行一次,就要检查五百只鸡的状态,扣减饱食度,扣减营养值,然后根据数值的变化,由观察者Observer来决定鸡的行为树或者状态机是不是需要切换。
这就是跑不了的五百次for循环。
如果是最原始复古的设计,for循环占用进程,那么势必会减少单位时间内的渲染次数。
渲染次数减少,对玩家来说,就是掉帧,卡顿。
如果还有对象没有及时回收,那又会导致内存泄露以至于最终游戏崩溃。
而为了实现在村子里养殖许多的鸡,就要想办法不让鸡的for循环干扰渲染,就要想办法利用CPU的并行能力。
那么就要走到多线程或者并发的道路上去。
用上了多线程或者并发之后,又会产生死锁,争用这样的问题,导致程序直接闪退或者卡死。
多线程的渲染是相似的,但多线程的游戏逻辑则各有各的多线程……
多线程的渲染有很多泛用性很广的解决方案,但是多线程的游戏逻辑是没有的,因为每个游戏的逻辑都不一样,那就只能是开发者自己去设计。
沈时玖当初因为游戏要处理的单位过多,而每个单位的复杂度又高,困在性能瓶颈上整年前进不了一步,最后近乎到了崩溃的边缘。
那段时间何心深有体会,经常吵架,搞得她一天天也疑神疑鬼的,一度以为两个人的感情要告吹,虽然最后发现是虚惊一场,但其实,她付出了很多坚持。
现在几个人一起来合作这个项目了,设计要求拔高了一些,最难的性能优化部分就落到了木晨曦的肩头上。
上一个小时也许还在和美术外包在沟通风格和素材细节,下一个小时可能就要开始琢磨算法了。这种在不同的心流间切换的感觉有时会很令人烦躁,但敏敏发觉自家老公对此很淡然。
也是,多难的日子他都过来了,这对他来说又算得什么呢?
这一段时期,木晨曦一周七天班地忙着,游戏也不玩了,电钢也不玩了,只要不驻唱和开演唱会,每天敏敏都要坐地铁去孵化园接他下班。杨小满对此“意见很大”,说自己见天儿吃狗粮,其实她自己有空的时候又带着警察哥跑博德之门的团。
整一个半斤八两。
而何心则并不和敏敏一起去孵化园接沈时玖,晚上他们下班的时候,何心一般都在忙。
这天孵化园里又只剩下他们三个人。
时间已经到了晚九点。
木晨曦吁了一口气,伸了个懒腰,然后按下了F5键。
“这一次应该没有什么问题了。”
小满在写脚本,累了一天本来也不是很专心,就扭头凑了过来,“那我看一看。”说完就掰了一下显示器。