引言
本文是一名经验丰富的 GameMaker 引擎使用者,MoaCube 工作室的 TEEGEE,于 2012 年写的一篇系统介绍 GameMaker 优劣势的文章,原文见此。到今天,游戏引擎的市场格局发生了许多重大变化,文中不少内容已经过时:目前 GM 基本停止了更新维护,这款引擎背后的公司 YoYo Games 已经将重心放在了 GM Studio 上,并且陆续推出了多平台的导出功能。文中提到的 GM 和 GMS 曾诞生过许多颇有影响力的独立游戏名作,例如今年引起过一段时间热度的 Hyper light drifter 就是 GMS 出品 。随着 Unity, Unreal 等引擎支持免费商用,加上 Unity 官方对 2D 游戏的支持也越来越完善,许多用户开始流失,GMS 的地位似乎变得略微有些尴尬,那么它是否仍然有学习和使用的价值呢?尽管本文讨论的重点是 GMS 推出之前的 GM8 版本,但本文的某些观点对 GMS 依然适用。值得一提的是,国内依然存在许多使用 GM8 版本的用户,由于许多人使用的是汉化与破解版本,加上过去积累下来的大量插件和教程,所以很难做出挪步到新的 GMS 版本的决定。相信本文给出的意见也能有一些参考价值。
正文
MoaCube 多数作品使用 GameMaker 开发,这并非什么秘密。截止 2012 年,我使用这款引擎已经有七年历史了。有时候只是用来探索某些创意,但多数时候是用于商业项目,当年在 Codeminion 工作的时候,也用它开发过一些快速原型。
Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。
GameMaker
GameMaker 在业余与自由开发者中相当流行,但你会留意到,它的确很少用于商业品质的游戏项目,因此也很少看到有文章提到 GM 游戏专业开发运营的问题。
随着 YoYo Games 发布 GM HTML5 模块并推出全新的 GM Studio, 我们能看出他们希望吸引一批更专业的开发者使用它们的引擎。在这个时机,我觉得以商用角度来评价一下这款引擎的利弊应该能对大家裨益良多:
优势
快速开发
如果你必须为资金与死线的问题烦恼,那快速开发的优势就显得更加重要了。当然,一个强大的 C++ 程序员使用优秀的框架差不多也能达到同样高的效率。但是……嗯……首先你得雇佣这名程序员,让他花费数月时间先开发好这套框架。GM 在这些方面节约了大量的时间与金钱。
此外,它的适用面十分广泛:你能构想到的任何种类的 2D 游戏基本上都可以使用 GameMaker 来实现。这一点上它胜过那些专注于某个类型的游戏开发工具,比如用于制作文字冒险游戏的 Ren'Py 或者用于 Rpg 游戏开发的 RPG Maker。甚至也胜过许多自研引擎,它们也经常只满足某些特定类型游戏的开发需求。
而 GameMaker 则能够做各种各样类型的游戏,街机风的射击游戏,复杂的 RTS,平台跳跃游戏,视觉小说,甚至一些你自己构想出来的实验类型游戏。无需为每个新开项目重新学习工具的使用,能够省下不少时间。
性能靠谱
我认为 ArcMagi 和 Cinders 都已经是非常漂亮的游戏,使用了大量特效,粒子效果,酷炫的过渡动画等等。这两款游戏即便跑在上网本和比较老的硬件上也能很轻松得将帧率维持在 60 fps 以上。我从来没有为了防止掉帧来砍除游戏中酷炫的效果。
我反而会觉得 GM 的使用方式过于傻瓜是个问题,会害人变得太懒。一不小心你就会把所有的美术资源丢进项目里,一股脑儿将成吨的粒子效果轰到屏幕上,接着用掉太多内存你开始抱怨性能问题。
只需要更谨慎负责地使用内存,进行一些简单的优化措施,就能解决到 GM 大部分性能问题。而其实无论使用哪一款引擎,只要是商业项目,这些都是必须考虑到的问题。我可以确定地告诉你,以我目前使用性能更好的自研引擎开发的 Phantasmat 这款游戏为例,在屏幕上渲染任何东西我都不可能不顾及低端硬件上的性能表现。
价格低廉
易于学习
方便预测
良好的多平台支持
缺乏竞争
GameMaker 难说完美(嗯,我确实没法这么说),但我觉得它应该是目前最好的2D游戏快速开发工具。
劣势
注:此处提到的多数问题在目前版本的 GMS 中都已经得到解决或改善,而 GM8 版本对此类问题的解决则依赖于第三方社区支持。
糟糕的第一印象
这完全不应该,会吓跑许多开发者,并且让他们以为 GM 只是给小孩用的工具。当然并非如此,但第一印象太重要了。
几乎无法使用的 Mac 版
Mac 版基本上就没法用。我的意思是:压根没法用它做游戏。每个函数调用都可能导致崩溃。连载入带透明度的精灵都做不到,绘制超过三行文字就会让游戏卡得不行。为了让 Cinders 和 Magi 这两款游戏的 Mac 版能玩,我们不得不为 YoYo Games 做了大量的 QA 工作:我们和引擎开发者取得联系,提交了大量的 bug 报告,为其他用户提交的 bug 报告补充重现过程和实际案例,等等。
成品勉强过得去,但瑕疵依然不少。界面崩溃后,编辑器却根本不报告正确的错误原因,只会停止响应或者产生一堆bug信息。如果你非常清楚 GM 的工作流程,但如果你是第一次在 Mac 上使用这款工具,唔,朋友我同情你。
值得关注的是,即将推出的 GM Studio 支持导出到 Mac 版本,想必能解决这些问题。但最好还是专注 Windows 平台。游戏的移植目标无法运行在开发机上会导致许多问题,如果你有过类似经验应该对此感同身受。
据说所谓的 GM9 会支持真正的多平台开发支持,待它真正发布的时候再说吧。
Win7 下的全屏问题
为什么我会强调这一点呢?因为如果想要全屏运行游戏,画面就会被放大来适应屏幕(你不可能预先支持所有的屏幕尺寸)。多数引擎会得到略微模糊,但基本上还成的画面。而 GameMaker 呢,不妨试试它在 Window7 下的效果?
想象一下,你做了一款休闲游戏,打算放 BigFish 游戏网出售。看起来是 GM 很擅长的项目啊。游戏完成后初步通过,你收到了官方的技术文档,其中一点明确写着:“游戏开启后必须能够正常运行在全屏模式下。”嗯。这下子有趣了。
GM8.1 中的精灵加载bug
我们花了两天两夜试图重现问题。我从来没有那么久不睡觉过。毕竟,有人买了游戏却玩不成。谢天谢地,这是 beta 版本期间出的问题,而非正式发售……那可真会把我们害得声名狼藉。Marius 最后总算找到一个能复现 bug 的旧电脑。又经过几天的测试,我们终于确定了游戏崩溃的原因。出于某种预感,我重新使用 GM8.0 而不是 GM8.1 编译了游戏,问题果然解决了。
结果证明是 GM8.1 会导致低配电脑下加载较大的贴图材质时发生崩溃。此外,还有些在原型阶段不会暴露的问题,会发生在比较大的项目之中。Russell Kay,GameMaker 程序员,顺便一提,是个非常酷非常靠谱的伙计,他花了好几个礼拜来修复隐藏bug。游戏可算不会崩溃了,但某些配置的机器上却出现了图形错误和性能下降的问题。
最后,我们不得不选择 GM8.0 来编译我们的 PC 发布版本(好在我们还保留了旧版本的代码),即便我已经买了 GM8.1。而 GM8.1 修复了 GM8.0 中有关反锯齿字体效果的问题。
诡异的开发进度
嗯,然而事实是,GM8.1 已经有好几个月不更新了,大家开始转向 GMS 和 HTML5 模块。不幸的是,它们都基于残破的 GM8.0 版本的代码。全屏问题被拖延到 GM9 中修复。
不得不说,负责开发 GameMaker 引擎的程序员是一群非常聪明有能力的人。但很难不去怀疑他们是不是存在管理方面的问题。不停地发布新版本,而核心产品却让然存在严重问题,这不像是能吸引到专业开发者的策略。
糟糕的内置编辑工具
缺乏移植性
除非你和 YoYo Games 达成一些不是那么愉快的协议,条件很苛刻,50%的分成,独占权,经过一堆磋商你会被他们列为开发者,这样你的游戏大概就能获得移植了。而所谓的多平台支持的 GM Studio 据说是基于 GM8.1 的代码二次开发的,这可不是靠谱的兆头啊。
总而言之,如果你的主要面向目标是手游市场,那使用 GM 有点过于冒险了。至少当下是这样。
很难进行团队合作
不确定的未来
总结
那么,GameMaker 到底值得不值得学习呢?如果只是业务兴趣,或者以轻量级的独立制作为目标,那选它没有什么大问题。快捷,简单,而且它的问题对小型项目影响也不那么显著。
至于商业项目。我的确并不非常推荐你选择它,除非你已经是一名老手,确认能从可能踩到的任何坑里自己爬出来。它高效、灵活、强大,但它的一些缺陷很可能会在项目收尾阶段令你承担一些不必要的风险。而且看官方目前的效率,你很难指望 bug 很快就能修复好。
以我们自身为例,我们很荣幸选择 GM 来开发 Magi,ArcMagi 和 Cinders 这三款游戏。它们都丝毫不打折扣地按我们设想的那样完成了,视觉效果很棒,开发过程十分迅速,后期扩展和调整也很容易。以 GM 为基础开发的 Cinder 尤其令我们满意:一个非常灵活的视觉小说引擎,类似 Ren'py,但图像表现却更好,也很容易拓展其他的游戏要素。而我们从头实现它只用了三个月。
我们今后的一些游戏项目,也还会选择使用 GM,尤其是视觉小说游戏或者一些探索性质的项目。我们近期的一款较大的制作,投入至少 10 万美元,曾强烈希望使用 GameMaker 来做,但最后还是认为风险过大,选择了其他引擎。
请容我重申一遍:需要对外部投资负责的时候,我们会考虑使用风险更小的全新引擎来代替使用了七年的 GameMaker。这会让我反思很多事。也许你也会有一些感想。
GameMaker 是一个令人报以厚望的工具,而且它最终也应该会成为一个确实可行的选择,但它确实需要更多时间来完善,也需要 YoYo Games 更好地掌控它的发展。他们也会采纳许多有建设性的反馈意见,因此如果你是专业的独立开发者,可以试着联系他们,向他们反应你在使用过程中遇到的主要问题,这样做带来的改善对你是否继续使用它十分关键。GameMaker 的维护和开发者真的很棒,值得你这样信任。
如果你觉得本文还算有帮助,可以考虑在推特上粉我。多谢啦!
补充内容
我留意到不少 GMS 的用户也读到了这篇文章。鉴于本文写于 GMS 正式发布前,因此我再加一些内容作为补充。
GMS 修复了我前面提到的许多问题。例如糟糕的全屏问题已经完全解决了,也在一定程度上支持团队合作,多平台支持也靠谱多了。它给人的第一印象还是很一般,内置的编辑器好用了一些,但和 Unity 或其他引擎相比,仍然差得远。
对我来说,GMS 主要的问题是没有 Mac 版(你可以将项目导出到 Mac 运行,但你不能使用 Mac 来进行开发),并且总体上来说,它还有许多 bug。GMS 尚且处于早期开发阶段,还在不断进行修复 bug 的更新,也不时会引入新的问题,其中有些问题甚至相当可怕:这是一篇 2012 年由于 drm 错误导致严重问题的报道。此外,内置的脚本语言也会经常变动,这可能会对跨时较长的中型项目造成灾难性的影响。当然,它在越变越好用。也许几个月后,它就不会有这么多问题了。
总而言之,我依然坚持之前的观点。GM 是相当不错的工具。新的 GMS 甚至做得更好。我会推荐独立工作室将它用到小到中型游戏项目中。但如果需要考虑对投资人的资金负责,用于更大型的项目,在使用它前,我会更谨慎地考虑利弊。
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
GMS 用户表示,这是 2012 年的老文章。说几个近两年的热词你们就更明白了:
Undertale,
Downwell,
INK,
Hyper Light Drifter,
Crashlands,
Nidhogg,
Hotline Miami,
...
对了,还有 Three Bots, Under The Tree 和刚刚被苹果推荐的 MOW: 2-Player
@了脚喵:后面三个游戏如雷贯耳!:P
@了脚喵: MOW: 2-Player才是重点~
@了脚喵:对没错,用这个引擎就是因为UT,在翻根目录时候发现的Game Maker广告
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
说到GM,我真的第一反应还是Iwanna系列那,GM对于Iwanna系列的影响真的不是一星半点!
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
有孙母未去,出入无完裙
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
人类的本质只是复读机.jpg
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”
“Gamemaker 呀,我对她爱恨交加。我们有一段美好的过去,但分手的念头也不时会冒出来,我有时会想转头去追求更年轻性感的 Unity 小姐。后来呢,我们又复合了。但你懂,还在一起只是因为孩子。”这句话太骚了吧?
gms2出了一段时间咯
入手就是unity小姐姐~~
最近由 Blackwings 修改于:2018-01-27 19:02:24