这种可视化的编程语言在游戏中也带上了任天堂的可爱风格,小节点不再只是执行命令的简单程序,而是拥有自己性格的一个个角色。比如有一个会帮其他小节点计数的计数器小节点,相对于大部分温柔的小节点而言,它总用大写字母说话,仿佛打满鸡血,而且喜欢讲关于整数和数字的笑话。如果你想维持孩子在学习过程中的注意力,这种妙招通常很奏效。
但可爱的角色和鲜艳的色彩能起到的作用是有限的。《附带导航!一做就上手 第一次的游戏程式设计》还会让玩家通过失败来领悟游戏开发的复杂性。不过,想要在沮丧和富有创造性的谜题之间寻求平衡是一件相当困难的事。本作的设计让玩家可以在所有小节点的支持和帮助下,让失败变得较为体面且易于接受。
失败也是游戏的一环
我们的演示是从本作 7 个课堂中的第 3 个「Alien Blaster」开始的。这款游戏的每个课堂都配有大量详细教程,指引玩家学习制作平台跳跃、赛车、密室逃脱等多种类型的游戏,比如「Alien Blaster」这一课就是教人们制作类似《宇宙巡航机》或《守卫者》这样的横向卷轴射击游戏。
我们的演示跳过了「Alien Blaster」教程的前几个步骤,从控制装置连接完毕、画面上已经有一些预设敌人和障碍物开始。游戏提示我们创建一个新的画面,并用外星人和障碍物填充其中。我们看到演示代表添加了一些敌人,创建了一些大小不一的方块,并将它们放置进游戏空间中。这些设计似乎有从《超级马力欧创作家》获取灵感,包括拖拽及放置预设敌人和物体来改变它们的类型以及大小。
我们待程序设置完毕,马上回到游戏中去检查刚才所做的改动,结果却发现无法查看刚刚添加的所有内容。因为游戏忘记告诉我们要修改游戏的摄像头,即游戏画面了。它正在起点处舒服地歇着,丝毫没有理睬我们刚添加的东西。
这类突发状况或许会有点令人沮丧,但这也是游戏教学的一部分。里头的角色们也会对此开开玩笑,让玩家明白这是一个十分常见的错误。我们回到代码阶段,增加了画面的高度和宽度。这一次,虽然解决了之前的问题,但画面又被放大太多,让人几乎无法游玩。于是,我们的演示代表决定采用经典的横向卷轴设计。
此时,本作就向玩家展示了游戏开发的复杂性。首先,我们的演示员创建了一个程序,让其连接到游戏画面的 X 整数,当我们增加 X 值时,就能有效地将画面向右移动。然后,建立一个代表数字 1 的常数小节点和一个计数器小节点,当两者相连时就开始计数。接下来,我们再将计数器连接到 X 整数上来移动游戏画面。然而,当我们回到游戏中时,却发现游戏画面的移动速度非常快,快到无法看清任何东西。这又是一个游戏想告诉你的雷区。
电子游戏是一种完全遵照指令行动的复杂体系,当我们把一个常数与计数器相连,计数器就会开始以 1 这个整数为单位进行计数。这个数字很快就会滚得非常大,以至于游戏画面一下子就移动出框了。一开始,我以为解决这个问题的方法是用一个较小的数字代替常数,使计数器速度变慢,画面移动速度变得更为可控。可实际解决方案要比这个复杂得多。
为了解决画面超速移动的问题,我们不得不再增加一个小节点,先把计数器小节点与游戏画面断开连接,然后在两者之间夹上一个地图小节点。这个新的小节点会帮我们把数值压缩成一个更容易管理的数字。经过演示代表的几下快速设置,我们重新加载了新程序,相机终于开始以一种更为可控的速度向前移动了。
失败乃成功之母,《附带导航!一做就上手 第一次的游戏程式设计》为孩子和大人提供了一个在游戏制作过程中能够不断试错的轻松氛围。但是,就如称职的父母一样,它会扶你起来,给你掸去灰尘,并鼓励你尝试新的解决方案,因为本作更注重的不是结果,而是思考的过程。
理解游戏开发的内核
我与开发者聊到了这款游戏的无限可能。他们将如何创建一个像《超级马力欧兄弟 3》这样既有平台跳跃又有地图画面的游戏?会有物品栏吗?是否能实现像《超级银河战士》那样的循序渐进的升级?硬核玩家可否在这个游戏中创建出一整套超级任天堂游戏?面对我提出的这些,开发者一边与我聊天,一边描绘着解决方案,并给出肯定的答复。
他们想出了一些具有创造性的解决方案,并表示我上述的所有问题在理论上都可以实现,不过那属于更高端的玩法。《附带导航!一做就上手 第一次的游戏程式设计》的核心并非「游戏受众是谁」或「你能在游戏里做什么」,而是「你将如何制作一款游戏」。
本作的目标是改变玩家观念,并鼓励他们去尝试理解游戏设计师的思维。无论玩这款游戏的小朋友是想成为一名开发者,或只是单纯地喜欢玩游戏,这个新的工具都能帮助他们理解游戏的工作原理,因为玩家可以在他们当前游玩的程序及其底层代码之间随时切换。当玩家进入像《Alien Attack》这样的横向卷轴游戏时,他们不仅能知道为什么操控左摇杆时角色会移动,而且还能得知游戏画面是如何构建出来的。
开发者给我们展示了另一个开发者做的改编版《Alien Attack》,这款游戏其实更像是《爆破彗星》,他们打开游戏让我们亲眼见证并自行判断。进入游戏后,我们看到敌人的进攻模式是随机无序的。开发者告诉我们,他们一开始也没搞明白创作者如何让敌人在游戏中随机产生,所以「打开引擎盖」瞄了一眼。原来程序周围全是从不同角度发射的大炮,边上还有一台随机数生成器,随机向大炮发送信号,命令它们开火。
这是一个令人印象深刻的程序设计,按理说,如果想要掌握这种随机设计的原理,恐怕要花蛮多时间去学习和进行实际操作,但我们却在几分钟内就理解了,仅仅因为我们对别人的成果充满好奇,这就是《附带导航!一做就上手 第一次的游戏程式设计》的魅力,好奇心可以驱动玩家从单纯的享受游戏转变为学习以及理解游戏的内部运作。
毋庸置疑,《附带导航!一做就上手 第一次的游戏程式设计》将影响未来几代的游戏创作者。但更为重要的是,这款游戏将为玩家提供一个机会,得以一窥自己爱玩的那些游戏实际运作原理有多么复杂。
翻译:April 编辑:Zoe
2022-02-25
2022-02-25
2022-03-13
2020-11-12
2020-12-10
2020-12-10
2021-09-26
2021-05-07
2021-02-05
2020-11-13
2020-07-17
2020-11-04
2020-04-25
2020-12-10
2019-09-11
2020-04-25
2020-04-23
2020-06-19
2019-09-25
2019-11-06
回复
我要抛弃苹果的swift playgrounds来试试这个了
回复
是个偏向教程的游戏诶