游戏开发引擎的数量众多,主流的如Unity、UE、Cocos等,但不同的制作人往往在不同的阶段也会选择不同的开发引擎。
游戏日报【对话制作人】栏目采访过游戏制作人中,在才入行的时候有人会选择性能较好的主流引擎,比如14岁就自学UE4开发动作游戏的虚妄喵,也有人会先选择一些轻量级的开发引擎进行练手,比如腾讯光子工作室群《末剑》的制作人庾楼月最初用的就是他自己写的引擎、《泡泡的人》制作人流贾君用的是一款轻量级引擎GameMaker。
GameMaker是一款以2D游戏设计为主的游戏开发软件,这款引擎游戏日报君仅在几位独立游戏制作人的口中听说过,国内用户并不多,主要用户群体都在国外。
2021年初昆仑万维的子公司Opera收购GameMaker研发团队之后,也曾想在国内好好运营起来,在2021年中,欧朋中国联系了B站长老湿、顺子、Yunzi等UP主,逐步启动在国内的运营。但由于研发团队人手原因导致引擎更新后总是不稳定,在国内仅运营了不到一年,就基本没再花什么时间到国内了。
尽管官方在国内的运营如今已经近乎停摆,但仍有不少人用过或是还在使用着这个引擎,对于新人来说容易上手、性能靠谱等优势比较明显。因此本次游戏日报也邀请到了此前GameMaker的运营人员B张长老湿,深度解析了GameMaker的一些优劣势,或许会对想尝试这款引擎的小伙伴有一些帮助。
以下为B站长老湿的分享整理:
从有做游戏的想法到寻找一个称手的工具,再到使用它去完成一些东西,笔者大抵用了七年时间,现在姑且能算上是一名业余的独立游戏开发者。在这条越走越远的道路上,洋洋洒洒的开发了几个名不见经传的小游戏,此间对这款名叫GameMaker的引擎是又爱又恨。爱是因为使用它,实现了自己的游戏制作梦;恨是因为嫌弃它,为什么不能再快点赶上主流引擎的脚步。
初期,笔者试过各种对新手友好或劝退的引擎,如RPG Maker、Constructor2、Unity、UE等引擎,在上手难度、价格、性能、安全性、适用场景等问题上徘徊良久,最终在Steam上选定了一个评价还不错的轻量级引擎:GameMakerStudio2。
说到GameMaker系列引擎制作的游戏,你应该或多或少的听过些由它制作的游戏:《武士零》、《UnderTale》、《勇网直前》、《I Wanna Maker》、《浮岛物语》、《泡泡的人》等等。
哇,你也许会觉得这个可以追溯到上世纪末的引擎非常厉害,不过不要惊讶的太早,因为它的上限高低,大多取决于开发者的能力。作为合格的独立游戏开发者,需要在美工音效、代码性能、剧情策划之间八面玲珑,能够不断的调和它们之间的矛盾,甚至有时还需要绕过工具自身的BUG才能迈出下一步。
下面,基于笔者的使用感受,从多个方面介绍下这款在夹缝中生存了这么久的、专注于2D游戏开发的引擎,至于是否愿意为它付出宝贵的时间与精力,请三思后行,毕竟自己穿着舒服的才是好鞋。
一、Gamemaker:游戏制作者?
听名字是有点唬人,GameMaker只是一款专心于2D游戏设计的游戏引擎,开发商为YoYoGames。引擎支持中文在内的11种语言,可在WINDOWS、LINUX、MAC三端运行,引擎本身并不吃性能,甚至可以在树莓派等配置较低的嵌入式环境下进行游戏设计。
本体主要由游戏编辑器(IDE)与实时运行库(Runtime)两部分构成。IDE本身体积很小,约110M左右,下载与安装速度较快,界面清爽不卡顿,这也是笔者选择它作为开发工具的原因之一。
IDE与Runtime一般需配套使用。引擎安装完成后需要登录,第一次登录后还要等待Runtime安装完成。这时候,对国内用户就较为考验耐心和网速了,因为服务器在国外的原因,很可能下得慢且有可能再来一次。当然也有办法解决,常用的就是选择在上午9点左右下载、使用国内第三方镜像或者直接解压别人下载完成的包。
此外,由于Runtime较大,如果不记得删除,更新几个版本后会将你的系统盘塞满,需要自己在IDE里或者在引擎的Cache数据目录下手动删除较旧的Runtime。
自从2020年被Opera收购后,GameMaker引擎的更新速度明显变快。笔者从17年入手该引擎,目前最新的GameMaker本质是GameMakerStudio2的更名延续。在版本2.3.6之后,YOYO重构了引擎的底层库。笔者撰稿时的最新版本为GameMaker2022.8,该版本的IDE基于.NET6实现,而且不久之后还会推出全新的Runtime框架。不过目前新架子更新太快有点不稳,所以如果不是为了尝鲜,一般非必要不更新,等大家都说好的时候再选择更新也是良策。
设计上支持GML Visual界面拖拽与GML Code代码编程两种形式,后者目前在语法上接近于JavaScript,不同点在于非闭包的语法设计。这两种模式在游戏设计时允许同时使用,并在一定范围内支持相互转换。
程序新手适合使用GML Visual进行基本的游戏逻辑设计,无疑站着拖一拖拽一拽就把游戏做出来是不错的选择,不用为代码头疼。为什么要站着?因为工作量太大太累了,坐得腰疼,对于复杂的逻辑,若是设计失误导致的功能检查与重构也是不小的工作量。
如果能有一些编程基础,比如说C语言、JavaScript等等,那GML Code就再好不过啦,使用代码实现功能更加是事半功倍,可以进一步加快游戏设计进程。但因为语法还在不断完善中,有时会出现对过去的语法修改的情况,所以这需要用户花费一定时间来理解与解决兼容性问题。
二、入门Or入坑?
对于引擎的使用与学习,首先需要看的就是帮助文档。GameMaker的文档内容属于保姆级别,看了就会,涵盖很多游戏设计上的细节,只要肯按F1,看下示例代码,一般不会有什么太大的问题。但中文文档目前大体属于机翻,之前还有过很多搞笑的翻译,如把精灵翻译为雪碧等等,这需要长时间的打磨,国内已有LiarOnce同学进行了较为全面的翻译,GameMaker文档的早期中文版本就是GIT他的,确实翻译的很到位。不过,如果能够懂一些英文,对文档原意会有更深刻的理解。
GameMaker有着丰富的、入门开发的各阶教程,有基本的小游戏《打砖块》,纵版跳跃游戏《救火员》、横板跑酷游戏《风之谷》、实时动作游戏《英雄轨迹》、任务类游戏《小镇》。用户可以直接在官方或自定义的游戏模板上新建工程,做做简单的换皮工作,即可完成一款游戏。
上边介绍的每个教程都配以教学视频,笔者和国内的几个小伙伴也有幸参与了国内的新手教程制作,如《救火员》的中文版本重置、GML入门教程《200行代码实现俄罗斯方块》等。不过,官方教程主要是英文为主,最原始的视频需要在油管上观看,在国内只能在B站看搬运的视频。
若要了解或学习较为深入的游戏制作技术,还可以选择阅读官方不定时更新的技术博客,里边有很多关于技术难点的文章,如游戏性能提升、光照、渲染模式、着色器等等,是一个提升自己的技术的不错的途径。
如果为游戏素材头疼,GameMaker还推出了官方Buddles,虽然感觉都是一些小游戏的素材,但是对于订阅了该引擎的用户,用这些资源制作游戏是免费且没有版权风险的,并且官方每月都会推出一套新的游戏资产,并会配以一些使用示例。此外,官方还会定期向用户征求素材的使用意见,以保证这些资源受到游戏开发者的青睐。
除了官方提供的免费资源,还可以在官方市场上购买到你想要资源,甚至售卖自己制作的插件。不过由于市场服务器在国外的原因,国内使用感觉有些卡顿。目前YoYo团队正在赶制新的游戏资源市场2.0,希望届时能够不负众望。
若想要获取较为实时的帮助,前往社区询问也是不错的选择。GameMaker最活跃的社区还属它的英文论坛,基本是有问必答,但国内用户需要注意时差问题。因为YoYo的员工是按时上下班、周末正常双休的,这个团队甚至还有两个月左右的寒暑假。
如果遇到了BUG,那么需要在指定的通道提交,论坛提交BUG是不支持的,笔者怀疑这和他们的工作业绩有关系。不用担心没人理,提交的回复速度也较快,基本能在1~2个工作日内得到答复,当然前提是需要和他们用英文沟通。
此外,论坛经常有游戏JAM比赛活动,奖励也算丰厚,如果觉得设计能力有所小成,也不妨试一试。
说起论坛,也关乎GameMaker的运营,这款商业软件本身面向全球市场。由于各种原因,对国内重视程度明显不足,很可能和国内游戏行业大环境有关吧。其在国内的运营目前是昙花一现,笔者有幸参与过欧朋中国在国内的运营,然而时过境迁,物似人非,令人唏嘘。
再吐槽一点,虽然这个引擎团队的人说话好听、有求必应,但总归是人太少,听说只有20个左右的员工,测试BUG的精力明显不足,基本上开发者就是他们的“倒贴测试员”。
三、性能与功能
从性能角度来讲,它确实是2D游戏引擎中的佼佼者。在笔者16年攒的PC上,可同时创建2000个实例对象不卡顿。游戏编译和构建分为VM虚拟机模式与YYC原生编译两种,一般情况下VM模式可以满足大部分2D游戏的性能要求,如果还想进一步提高效率,或者增加代码的反编译难度,那么YYC原生编译足够让游戏性能再次提升30%左右,并且可以较好的保护游戏的代码逻辑。
GameMaker可导出的平台很广,主要包含:GX、PC(WIN/LINUX/MAC)、HTML5、移动手机(安卓、苹果)、UWP、主机游戏平台(PlayStation、Xbox 、Nintendo Switch)等。
其中,GX是基于OperaGX浏览器的导出环境,该版本允许用户免费在PC上使用OperaGX浏览器执行并发布游戏, 同时还支持在任意手机浏览器上执行GXC上发布的游戏。
功能上,引擎涵盖了游戏开发大部分的需求,目前版本的核心是以资源框架为主,包含动画曲线、扩展、字体、对象、路径、房间、脚本、序列、着色器、声音、精灵、瓦片图、时间轴、特效等。此外,还支持Spine,截至目前支持的版本为Spine4.0。如果能够对这些内容都有所涉猎,相信你已经是一名合格的游戏开发者了。
它不是万能的,YoyoGames直言他们会将核心注意力集中在2D游戏的制作上,这不禁让人感到有点失望与遗憾。
不过,虽然YOYO的核心是面向2D游戏开发,但本身是支持3D游戏制作的,比如《Post Void》、《FIGHT KNIGHT》等,不过数量上确实屈指可数。所以,这款引擎入门较为容易,但是上限的高低,要看开发者本身的技术了。
国外大神kraifpatrik针对GameMake制作了3D游戏设计工具BBMOD。有意思的是,这个工具的作者已被YoYoGames“招安”,目前是GameMaker团队的一员。
总体上,YoYo这个团队画的大饼还是保熟的,也能算是一款很走心的引擎吧,只是由于某些历史东家的原因,让其错过了一阵引擎发展的黄金时间,但是从目前来看,YoYo团队本身虽小,但还算专业和努力,有了Opera的加持,起飞指日可待。目前它的RoadMap上已经加入了很多用户翘首以盼的如UI、粒子编辑器、多国语言支持等常用功能。这些功能目前并不是无法实现,只是需要用户自己去造轮子,如果能有原生加持,那就再好不过了。
四、最后,关乎钱包
目前GameMaker在GX平台下是免费的,其它平台导出则为订阅付费制。软件渠道有GameMaker官网与Steam两个,从这两个渠道下载的软件没有区别。如果你有VISA或银联之类的信用卡,可以直接在官网上绑定,但想要解绑,则需要在官方Request里提出解绑请求,有点上山容易下山难的感觉。所以对于国内的用户,建议直接使用Steam渠道,这样就会从你的Steam Wallet上扣款,安全系数相对高,也更方便一些。
导出版本一共有四个,Free免费版、Creator创建者版、Indie独立开发版、商业版。付费订阅的版本之间可根据需求随时调整。
免费版除了导出平台受限外,和其它版本在功能上的区别并不大。新手开发者完全可以体验之后再考虑入手其它平台的导出,甚至可以在GX上调试完成游戏内容后再考虑移植到其它平台。
GX版本底层技术基于WASM,执行速度堪比原生环境。同时该版本可以将你做的游戏直接打包发布至GXC,很容易让更多的玩家认识你和你的游戏。同时,里边包含了很多内置功能,如排行榜,网络对战支持等等,方便进一步提升游戏的乐趣。不过目前最大的痛点是GXC国内不能走正常途径直接访问。所以对于国内的新人同学,只能先在调试环境下测试游戏,并不能导出到平台。
如果只制作PC端游戏或者在Steam平台发布你的作品,那么选择Creator版本即可。它可以导出桌面版本的游戏,即WIN/LINUX/MAC平台。目前月付8元,年付80元,某些游戏里的一个皮肤,就可以玩足GameMaker引擎八年。
如果还想导出手机游戏或者HTML5上的游戏,那么Indie版本是不二之选。在PC上设计差不多后,直接移植到移动端,当然由于各平台的差异性,少不了功能和性能上的测试与重构。以笔者的经验,开发手机或者WEB游戏,基本需要先保证游戏在PC上的真实运行帧率在200fps以上,才可以考虑移植,否则会卡爆。该订阅版本月付16元,年付160元,笔者目前订阅的是此版本。
最后如果还想导出专业主机平台上的游戏,如Switch/Xbox等主机游戏,那么需要选择商业版,支持命令行模式编译,更加专业,官方对此版本的支持优先级也相对高一些,比如视频播放功能在主机平台环境下已经有了,直到2022年才逐渐完善并开放到其它版本上。当然,价格也相对高很多:月付211,年付2110。需要注意的是,GameMaker并不直接负责在这些主机平台上的开发者注册,所以需要开发者对这些平台上的游戏发布有一定专业上的了解。