gamemaker 编程语言(游戏开发GameMakerStudio)

关注“indienova”,挖掘独立游戏的更多乐趣

引言

首先声明,本文不是 GameMaker Studio 2 的使用教程,而是关于如何使用使用教程的教程,至于为什么不在本文直接贴教程,不是因为我懒,而是因为官方教程做得太贴心,我写不出比官方教程更好的教程,我如果选择性的贴过来反而把人家教程碎片化了,不利于大家系统化的学习,况且最重要的学习能力是信息检索和动手能力,不是伸手能力,所以我在这里授人以渔。

gamemaker 编程语言(游戏开发GameMakerStudio)(1)

《GameMaker Studio 2 初体验》

版本及购买

(如果你已买,可跳过本段直接看一)

如果你已购买过 GMS 1,你将可以享受到对应模块的六折优惠,在 Steam 的国区的低价政策之下,比官方价格确实划算很多。如果你 Steam 名下没有 GMS 1,可以请好友代购以礼物赠送。

gamemaker 编程语言(游戏开发GameMakerStudio)(2)

这里值得一提的是,GMS 2 需要关联 YoYo Account,而 YoYo Account 会调用 Steam API 识别你是否在 Steam 上具有相应版本的使用权。也就是说,DRM 认证机制不仅在 Steam,而且在第三方的 YoYo Games。如果 Steam 上这些版本你买了不止一个,只需要下载一个即可,名称不同,但内容和文件体积是相同的,购买记录仅用于 YoYo Account 检测用,然后你会获得相应模块的使用权。这会表现为下图中的选项:

gamemaker 编程语言(游戏开发GameMakerStudio)(3)

这种第三方检测授权机制对开发者来说相当于“双向授权”,也就是说你如果直接在 YoYo Games 官方购买,会获得相应 Steam 版的兑换码;而如果是在 Steam 购买的,只需将 YoYo Account 与你的 Steam ID 绑定后即可登录从官网直接下载的非 Steam 版本并获得相应模块的使用权。

gamemaker 编程语言(游戏开发GameMakerStudio)(4)

根据以往经验,Steam 版的更新速度和功能完善可能会比官方直接下载的版本慢半拍,比如目前的 Steam 版暂时还无法支持 Marketplace(今后会支持)。因此对于国内开发者来说,目前购买策略的最优解就是通过 Steam 购买,绑定 YoYo Account,然后使用 YoYo 官方的下载版本。

One more thing, Mac 版也将于当地时间 3 月 22 日开始内测,并预计在不久后发布。非常良心的是,已购买 PC 版的用户将不必为 Mac 版再次付费。如果你希望抢先体验 Mac 版,可以在这里(http://www.yoyogames.com/blog/414)提交内测申请。

Steam 链接

http://store.steampowered.com/app/585410/

1自学及上手

凡事总有个开端,你或许只是一名没做过游戏的玩家,但当你第一次打开 GMS 2 的界面并登陆后,你可能没有留意,这也许就是你迈向游戏开发生涯的历史性的第一步。这个时候你恐怕要问,应该点哪?

gamemaker 编程语言(游戏开发GameMakerStudio)(5)

如果你不知道应该点哪,鉴于本文是使用使用教程的教程,我告诉你,点那个 Tutorials。然后你会看到下图这样的界面:

gamemaker 编程语言(游戏开发GameMakerStudio)(6)

这时,鼠标悬停在某一块上,比如 My First Game - D&D,它会显示为这样:

gamemaker 编程语言(游戏开发GameMakerStudio)(7)

这里的 D&D 是 Drag and Drop 的简称,中文意思是“拖放”,也是不需要编程就能完成游戏制作的第一课,不要怕,难度比很多放置类手游的操作容易多了。点击左侧的 install,对,就那个下载按钮。下载完成之后它会变成个三角形,再点,然后会弹窗提示你存储位置,点 OK。 进入界面之后,你会看到左侧有一个教学栏,这里可能会考验你的英语水平或查字典能力,如果英语水平在高中以上,可能会轻松一些,如果水平不足高中,那么可以结合字典等辅助工具。相信我,查字典 阅读原版帮助文档的难度总和会低于直接看汉化教程的难度,坚持走正统的自学路线很重要,后续我会解释原因。读完每页时,你只需要点击右下角的 “NEXT”。(如果你的网络环境较好,或者上网基本技能合格,你还可以看到相应的视频教学,但文档已经足够。)

gamemaker 编程语言(游戏开发GameMakerStudio)(8)

跟着这个教程,你会在不知不觉中完成你人生中第一款游戏,虽然没写一行代码,但你会恍然大悟“卧槽,我居然做出游戏了!” 。相信我,这种惊喜一辈子只有一次,这一刻会令你终身难忘。 看到这里,恭喜你,你已经学会学习 GMS 2 了!你的第一款游戏可能就此诞生。至于后续的课程,官方没给课表,我帮你列一下,仅供参考:

  • 0. Workspaces - IDE Basics

  • 1. My First Game - D&D (我没排错顺序,只是想鼓励你先做出游戏,再去研究别的)

  • 2. The Object Editor - IDE Basics

  • 3. The Sprite Editor - IDE Basics

  • 4. The Image Editor - IDE Basics

  • 5. The Room Editor - IDE Basics

  • 6. Tileset Editor - IDE Basics

  • 7. My First Game - Code

其他课程方法同 1,跟着教学文档走,如有必要就查字典,然后反复点“NEXT”,就像安装软件一样,把游戏开发者的思维系统安装到脑子里。你也可以安装第三方安装“绿色汉化精简版”的开发者思维系统,装得更快,至于是否稳定能否长久支撑你的游戏梦想,那就不好说了。不过有一点是肯定的,头脑系统按正统的方法安装完,你就可以给别人安装“绿色汉化精简版”了,与学习二手知识相比,生产二手知识供他人学习岂不是更爽?

2使用帮助文档

GMS 2 有一处非常贴心的改进在于教学和帮助文档,你可以在文件 (File)- 设置(Preferences)中选择用外部浏览器打开帮助(Use an external browser for help)。

gamemaker 编程语言(游戏开发GameMakerStudio)(9)

这时,当你按下 F1,帮助文档会从浏览器打开,你如果足够细心就会发现其地址是本地 IP,这说明帮助文档是存储在本地的。

本地存储一是为了节省载入时间,二是因为下一个更贴心的原因:帮助文档中的 GIF 动画教学。

gamemaker 编程语言(游戏开发GameMakerStudio)(10)

比如你搜索 Tile Set Editor, 你会在页面中看到如下教学动画:

gamemaker 编程语言(游戏开发GameMakerStudio)(11)

Tile Set Editor 是 GMS 2 的一大亮点,编辑关卡会非常方便,甚至有 Auto Tile 能自动根据所选 Tile 的位置生成相应的地形,它会自动判断,不用你逐格选取,就像一支智能的画笔。

gamemaker 编程语言(游戏开发GameMakerStudio)(12)

这么神奇的画笔,你肯定不会用,怎么办呢? 按 F1,看帮助,搜索 Auto Tile。 搜到了吧?关了吧。恭喜你,你已经学会使用帮助了!这才是我希望你在本文中学到的技能,记住,帮助的快捷键是 F1。

gamemaker 编程语言(游戏开发GameMakerStudio)(13)

你可能要问“学会使用帮助对我有什么帮助呢?” 两个用途,一是当你想不起来某个函数的功能时方便你查询(比如我就经常忘,查询帮助很正常,不要有负罪感);二是帮助你看懂 DEMO。 你已经完成了前面的全部或部分课时,你又见到这个界面: 这次,点 Demos。 根据自己实际情况点选想看的内容,前两课建议,只是建议:

  • 0. YoYo Arena Shooter - DnD

  • 1. YoYo Arena Shooter - GML

然后比较两者实现的区别和联系,尝试相互转化。其他的 Demo 凭兴趣看,相信你一定有兴趣,看不懂的地方按 F1。

3善用论坛

进去以后点第一行 Announcements 认真阅读人家版规,剩下的你就会了,看不懂的查字典,用翻译软件。如果翻译软件也不会用,就在翻译软件中按 F1。

4多实践

  • 最受关注的 Ludum Dare 在这里:https://ldjam.com/

  • 如果觉得不够,全世界的 Game Jam 几乎都在这里:http://www.indiegamejams.com/

  • 还有这里:https://itch.io/jams

  • 每月一款游戏:http://www.onegameamonth.com/

  • 以及 indienova 小组 #1GAM:https://indienova.com/groups/69

5题外话

在你学习实践的过程中,可能会有些“专家”跳出来跟你讲“这么学没用,GameMaker 是玩具,真正的游戏引擎绕不开写代码”之类的,老老实实报个班学 Unity3D 或者 C 吧,你只需回复“你牛逼你用汇编写个 Undertale 啊”。我认为在未来,游戏引擎必然像玩具一样,你只需要专注设计,人工智能会替你完成编程。在当前这个过度阶段,通过“拖放”了解游戏开发的整体思维和设计理念要比通过 printf 实现 "Hello, World!" 有意义得多。

关于游戏引擎的选择,我曾经在某网站目睹 Unity3D 用户和 GameMaker 用户对喷,各方皆在论证自己的引擎比对方的更好,自己的选择比对方更明智,都在张贴各自阵营引擎的代表作,却没有一个贴出自己的作品。我认为引擎只是工具,各有千秋,优越感是通过作品而不是工具体现的。需要用什么引擎取决于你想做什么游戏。如果还没想好,那最合适你的引擎就是纸笔,因为纸上原型学习和实现成本最低,无论是资金成本还是时间成本。

至于我为什么一直强调查阅英文原版文档,那是因为即便有一天国内出现了汉化的文档和界面,也不可能将函数和代码表达方法汉化,结果反而导致代码与帮助文档的差异更大,更看不懂,比如汉化文档说“精灵”,你不一定知道它对应的是 “sprite”,于是你去找画着精灵的那幅 png 图片,说到“速度”,你不知道是 "room_speed"还是"game_set_speed" (GMS 2 相对 GMS 1 有理念更新,老用户请自行查阅),说到“帧率”,你不知道是 "image_speed" 还是“gamespeed_fps”…类似很多,每个脑子里需要转个弯,这些小弯道累积起来就非常影响理解效率了,总体难度绝对会大于学英文 学代码的难度总和。况且,你都有勇气学游戏引擎了,还怕那点英文词汇吗?

最后,引用我校友王雪竹说过的一句话:

尽快把你人生中的前十个游戏做完,因为它们都是垃圾。

想了解更多?请点击下方阅读原文

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页