2021年,开发一款游戏到底有多难?
开篇语:北京的夏季是炎热的。5月30日下午,“Unity技术开放日”北京站正式开启,此次活动报名人数突破了800人,这远远超出了Unity官方的预期。为了符合防疫要求并让所有来现场的开发者们都有所收获,工作人员临时“包下了隔壁会场”,8位演讲嘉宾以AB厅的方式在两个会场同时开讲,也就是说每位嘉宾当天需要连续讲两次。即使是这样两场仍然爆满,很多找不到座位的观众就干脆站在后排听完了全程。在炎炎烈日的北京,开发者求知的热情,释放出了比烈日更耀眼的光芒。
在早期做游戏的时候,并没有专门的游戏引擎,直到开发者们发现很多游戏中的模块可以通用,才慢慢出现了专业的引擎,近十几年来,游戏开发技术每隔几年就带来翻天覆地的变化。更高的效率、更稳定的运行、更精致的游戏画面以及让更多的爱好者可以加入到游戏开发的队伍中,这就是引擎给整个行业带来的改变。
时间转眼到了2021年,游戏已经成为人们生活中最熟悉的娱乐项目,行业发展如此之快,玩家对游戏的品质需求也越来越高,所有游戏公司都感受到了精品游戏开发的空前压力。在这样的大环境下,行业内卷也随之而来,游戏开发成本居高不下,高端人才竞争异常激烈。有些团队资金充足,却无法聚拢高端人才,有些团队人才济济却难以维系高昂的运营成本。如今,一款游戏的制作对于任何体量的团队来说都是非常艰难并且庞大的工程,那么如何从技术上解决这些问题,让游戏开发变得更简单一点?这是整个行业都在探讨的问题。
同时,这也是记者对本次Unity技术开放日饶有兴致的原因。据了解,目前Unity除了引擎之外,还推出了大量游戏开发及运营的解决方案,其目的就是为了帮助开发团队更高效的解决技术问题。所以,在开放日当天,记者很早的就赶到了现场,认真听讲了每一个嘉宾的分享,因为我们很想知道,在问世16年后,如今的Unity除了作为游戏引擎,还能为开发者解决哪些问题?
2020年爆火的《糖豆人》
让小团队开发者看到了更多可能
在开放日大会现场,最先引起游戏客栈记者兴趣的分享主题是“Unity多人联机实时对战技术”,提到多人联机的实时对战游戏,很多人都会先想到《王者荣耀》《使命召唤手游》这种长期霸榜的爆款产品,它们能够取得优秀的业绩,和开发商资本雄厚、游戏质量高是分不开的,而对于中小开发者来说,想要做多人联网游戏存在诸多困难。
但去年横空出世的《糖豆人》打破了这个局面,这款游戏由二十几人组成的团队打造,上线首月仅PC销量就超过12亿人民币,成为全球性的爆款游戏。能取得这样的成功,在技术开发层面上,Unity功不可没。
(图:小团队制作的《糖豆人》上线后即成爆款)
Unity游戏云业务拓展经理吴毅敏在演讲时表示,《糖豆人》除了使用Unity做游戏客户端之外,这款游戏最大的难题就是做网络层,对这种需要将每一个玩家的每一个行为和状态都进行实时同步的游戏,这一环节中存在诸多工作。包括低阶的序列化、分片、防篡改、重连、加密等功能,中阶的插值、压缩、优先顺序控制等功能,以及高阶的延迟补偿、预测算法、随机数同步、输入验证、锁定步进算法等功能。
在这一部分,可以考虑由专门的C++或者GO程序员去做,但对技术要求较高,开发周期也会较长;《糖豆人》则采取直接用Unity做游戏服务器的思路,利用服务器端模拟游戏状态和结果同步到客户端的状态同步,做到跨平台物理的一致性。由于Unity引擎里很多游戏的功能算法都已经在客户端做过一遍,只需要稍作修改就能作为游戏服务器,压缩了工作量,节省了大量时间。
解决了网络层的问题后,《糖豆人》还需要对匹配、开房间等内容服务器进行管理,游戏选择了Unity Matchmaking这个大规模对战匹配解决方案,它基于C#的可完全自定义匹配规则引擎,具有自动弹性伸缩的特点,开发者只需要聚焦自己的匹配逻辑,写好匹配函数上传,在游戏大厅里调用API就能快速接入,不用担心游戏在线人数暴涨后匹配功能无法顺畅运行,可以为开发者节省大量的开发时间。
完成匹配后,玩家需要在专门的服务器上进行对战,《糖豆人》用了Unity的Multiplay服务,这是跨越全球的混合云架构,帮助开发者管理游戏服务器在全球所有物理机和云主机上面自动分配和弹性伸缩,这种混合云架构具有成本低、覆盖面广的特点,可以用物理机来承载稳定可预测的用户量,玩家暴增时自动弹性扩展到公有云,同时享受物理机的低价和公有云的弹性,最大化节约成本,并利用Multiplay在全球有一百多个物理机房的特点,匹配之后根据玩家所在的位置把战斗服务开到最近的机房,将网络延迟压到最低。
最后,实时对战中的实时语音也是Unity的一大亮点,利用游戏内置的即时通讯服务Vivox,即可完成跨多端的高质量语音通讯,像《英雄联盟》《魔兽世界》《堡垒之夜》,以及曾在Steam上冲到前五名、同时在线达到十几万人的网易游戏《永劫无间》,都使用了Vivox的语音服务。记者在此前曾参加过《永劫无间》的测试,当时游戏的全球玩家语音同步效果给记者留下了深刻的印象。另外值得一提的是,Multiplay和Vivox都是不限平台、不限引擎的,几乎适用于所有游戏开发团队。
中小开发者“前狼后虎”的窘境,
正在被慢慢改变
从《糖豆人》这样一款需要实时对战技术方案的游戏上,Unity已经提供了一整套端到端的完整方案,从网络到匹配到服务器到语音完全了全方位的支持,这对中小开发者来说具有非同凡响的意义。
近十年来,手游行业得以飞速地扩张发展,但游戏开发者群体并没有出现明显的“百花齐放”状态,究其原因主要在于资金和人力,一方面手游宣传很长时间里都是渠道为王,中小开发者很难与掌握资源的巨头竞争;另一方面中小开发者也很难凭借十几个乃至几个人的团队完善地处理开发过程中遇到的种种问题,往往出现好创意被埋没,有潜力的团队被迫解散的结局。
比如说,像《糖豆人》这款游戏,开发者想出了玩家化身糖豆在赛道上进行令人捧腹的大乱斗这样一个创意,但如果后端开发能力和后端工程师资源不足,游戏的核心玩法“即时对战”就可能受到网络同步不佳、玩家匹配不合理、服务器延迟,以及线上人数骤增后的服务器崩溃等问题的影响,导致一蹶不振。
(图:起到了服务器“托管”作用的Unity让《糖豆人》的开发运营顺风顺水)
而Unity可以帮助中小开发者解决这些问题,让他们能跳出被技术不足(体现在人力物力上)束缚的圈子,将更多精力聚焦在游戏玩法等核心内容上,而将技术问题交给Unity全家桶来包办。也就是说,对资本更雄厚的大型游戏厂商来说,Unity是可靠优质的工具,而对中小开发者来说,它更是强大可靠的合作伙伴,改善了“前狼后虎”的局面。
从开发到运营,
解读Unity提供的一站式解决方案
目前全世界的游戏引擎数量有数百款,但Unity是其中市占率最高的,从2005年问世到今天,经过不断进化,逐步发展为现在的一整套工具。Unity大中华区平台技术总监杨栋在现场说的一句话让记者印象深刻:引擎的意义就在于将开发游戏变为“工业化”,通过引擎赋予的功能来让更多开发者做出精品游戏。
从这张图上可以看到,Unity的专业技术服务及支持服务提供了游戏创作、DevOps服务、通用后端服务、实时对战服务、游戏分发服务、游戏大数据服务、市场推广服务等从创意到开发再到变现的一站式解决方案,在游戏生命周期的每一个阶段都为游戏开发者提供工具和服务,帮助开发者降本增效,获得更大收益。
除了在上文中提到的利用了Multiplay游戏服务器托管和Vivox实时游戏语音功能,完成联网功能开发的《糖豆人》《永劫无间》之外,还有无数游戏产品都是Unity这一站式解决方案的受益者。
比如说,在前端开发阶段,除了开发引擎外,Unity还提供ArtEngine材质处理工具,利用AI辅助美术创作,自动实现和加快将照片转化为基于物理的渲染材质的过程,给游戏增添华丽的写实感。
(图:用AI辅助生成的树皮材质十分逼真且大大提升效率)
在DevOps(协同测试)服务中,使用新一代的PlasticSCM版本控制系统,与Unity无缝集成,直接通过Hub创建、添加以及Clone Plastic项目,在Unity编辑器中进行版本管理,让开发者清晰地查看整个工程的开发分支和合并分支,确保项目开发的效率。像开发《深海迷航》的UW团队就通过与Unity技术支持团队合作,使用PlasticSCM优化了源码控制与工具流,在计划时间内成功地将游戏移植到了Switch上。
(图:《深海迷航》的精美画面让平台移植问题更加复杂)
在游戏分发服务中,Unity的云端资源分发技术结合了革新性的可寻址资源系统,让开发者在线资源更新更加灵活顺畅,并且能通过边玩边下的方式让大型游戏实现快速下载、即时启动,保持了用户的活跃度。对工程挑战能力较弱的中小开发者来说,这帮助他们得到了更便捷的实施内容处理能力。比如说,在使用了Unity云端资源分发技术后,一款原本包体超过200M的游戏大部分内容都放在了云端,实际安装在游戏里的只有10M左右,因此只需几秒钟加载就能开始玩,但游戏画质和可玩性不会受到压缩。
游戏开发环节以外,Unity还能利用deltaDNA完成游戏数据分析,帮助发行商和开发者更好地理解玩家行为,去针对性地定制个人化体验,再加上Unity Ads在全球平均每月230亿曝光量的广告服务,为后续的市场推广和变现也起到了良好的推动作用。
除了这一条完整的开发运营推广工具链外,Unity还为开发者社区提供了包括前沿技术教程、技术人才培养和开发者支持计划等一系列支持。
而在实现了一站式为开发者提供技术支持解决方案后,Unity仍在进化发展的路上前行。
追求高科技平民化,展望下一代游戏引擎
未来,随着一切事物都在变得更加智能化,汽车、家用电器、广告牌甚至更多大大小小的屏幕其实都可以被看做一部部“智能手机”。Unity首先要做的事情就是在未来对各种智能设备提供背后的技术支持,例如在大会分享的上海外滩数字孪生,就是基于Unity打造专业的数字孪生解决方案,用来加速打造智慧城市的成果,同样基于Unity打造的专业数字孪生解决方案的还有中国香港机场。
另一方面,Unity也会逐步解决资产的问题,将市场变得更智能化,帮助开发者尽快获得正版的高质量的素材。
同时,作为游戏开发中的一款工具,Unity的终极追求就是“更方便”,虽然它目前提供的技术支持免去了开发者很多麻烦,但它仍然是提供给专业人士使用的,如果有一天,Unity能让大多数非专业人群都能熟练地使用,那才是它真正达成使命的一刻。这个目标看似不够现实,而演讲嘉宾对未来的态度更加乐观,他提出了全民创作虚拟世界的想法,就像Unity的Vivox语音服务一样,虽然技术高端,但使用方法非常简单,如果能将Unity保持高科技功能,又降低使用门槛将其平民化,变成所有人的创作工具,那么Metaverse的元宇宙也就有可能实现了。
结语:
曾几何时,“自己做一款游戏”是创意丰富却苦于技术不足的游戏爱好者们遥不可及的梦想,如今随着Unity的发展,利用一站式工具就能解决从开发到运营的所有问题。也许有一天,我们能像玩抖音、玩一键处理图片软件那样,只要有一个独特的想法,就能看到属于自己的新游戏的诞生。那时,你还会认为开发一款游戏很难吗?
作者:芥末君&淘金镇的精灵球