在早期做游戏的时候,并没有专门的游戏引擎,直到开发者们发现很多游戏中的模块可以通用,才慢慢出现了专业的引擎,近十几年来,游戏开发技术每隔几年就带来翻天覆地的变化。更高的效率、更稳定的运行、更精致的游戏画面以及让更多的爱好者可以加入到游戏开发的队伍中,这就是引擎给整个行业带来的改变。
时间转眼到了2021年,游戏已经成为人们生活中最熟悉的娱乐项目,行业发展如此之快,玩家对游戏的品质需求也越来越高,所有游戏公司都感受到了精品游戏开发的空前压力。在这样的大环境下,行业内卷也随之而来,游戏开发成本居高不下,高端人才竞争异常激烈。有些团队资金充足,却无法聚拢高端人才,有些团队人才济济却难以维系高昂的运营成本。如今,一款游戏的制作对于任何体量的团队来说都是非常艰难并且庞大的工程,那么如何从技术上解决这些问题,让游戏开发变得更简单一点?这是整个行业都在探讨的问题。
2020年爆火的《糖豆人》
让小团队开发者看到了更多可能
但去年横空出世的《糖豆人》打破了这个局面,这款游戏由二十几人组成的团队打造,上线首月仅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的Vivox语音服务一样,虽然技术高端,但使用方法非常简单,如果能将Unity保持高科技功能,又降低使用门槛将其平民化,变成所有人的创作工具,那么Metaverse的元宇宙也就有可能实现了。
结语:
曾几何时,“自己做一款游戏”是创意丰富却苦于技术不足的游戏爱好者们遥不可及的梦想,如今随着Unity的发展,利用一站式工具就能解决从开发到运营的所有问题。也许有一天,我们能像玩抖音、玩一键处理图片软件那样,只要有一个独特的想法,就能看到属于自己的新游戏的诞生。那时,你还会认为开发一款游戏很难吗?
用户评论
这篇文章总结得真好!我也有个想法想做一款游戏很久了,但总是觉得从idea到实现好难啊~
有10位网友表示赞同!
真的特别想做一件自己创意的游戏,但是技术方面就不是很懂…
有18位网友表示赞同!
玩游戏的我可以理解开发的艰难过程。光是平衡游戏性、关卡设计、画面等等,就要耗费大量时间和精力!佩服那些能开发出好游戏的开发者!
有17位网友表示赞同!
我有个朋友刚好是程序员,他说做一款游戏确实很不容易。一方面要写代码,另一方面还要懂得游戏设计。这真的需要才华和毅力啊!
有14位网友表示赞同!
2021年,游戏开发门槛的确越来越高了。市场竞争激烈,玩家需求不断上涨,开发者压力可想而知!
有16位网友表示赞同!
完全同意!做一款好玩的,有创意的游戏真的很不容易。从策划、美术到编程,每个环节都需要精益求精!
有9位网友表示赞同!
别看游戏看起来简单,开发的过程其实非常复杂和艰难!光是游戏逻辑设计就需要很多时间和思考才能做到有趣且平衡.
有6位网友表示赞同!
我虽然没亲身经历过开发过程,但看着一些开发者分享的故事,确实感到他们付出的心血和汗水是不可替代的!
有20位网友表示赞同!
做游戏确实很累,而且回报也不一定稳定。很多开发者都很不容易啊!
有6位网友表示赞同!
2021年想做一款游戏确实不是一件容易的事!技术发展迅速,玩家的需求也越来越高...
有5位网友表示赞同!
我比较喜欢玩一些独立游戏,这些游戏的开发团队通常就只有几个人,他们的作品往往充满了创意和感动。真的值得支持!
有11位网友表示赞同!
做游戏要考虑很多因素,市场、策划、技术等等,需要具备全面的能力和经验!
有17位网友表示赞同!
2021年游戏市场真是变化无常,流行的类型也在不断发展。想开发一款成功的游戏,还需要密切关注玩家需求变化!
有15位网友表示赞同!
写代码本身并不难,难的是用代码创造一个有趣、有吸引力的游戏世界! 这需要开发者对游戏策划和设计的理解!
有14位网友表示赞同!
我觉得写文章比做游戏容易多了! 文章只需要文字,游戏还要涉及美术设计、编程等等。佩服那些能开发出好游戏的!
有14位网友表示赞同!
开发一款游戏是一个艰巨的任务,需要大量的资金、时间和人力投入!
有9位网友表示赞同!
做游戏真的太烧钱了!光设备、软件就花费不小!除非你有强大的团队和经济支持,否则很难坚持下去!
有6位网友表示赞同!
想做一款游戏,但技术不过关!只能先从学习编程开始吧...
有10位网友表示赞同!