元素熵:我的 GIGJam48 体验(特约文章)

元素熵:我的 GIGJam48 体验(特约文章)

Glitch Game 的首届 GIGJam48 吸引了 35 支队伍,共 53 名参与者。一个由精选评委组成的团队收到了 23 个项目进行评审,评选正在进行中,预计将在未来几周内公布获奖者。在为期周末的活动中,来自世界各地的参与者上传了大量照片,一些开发者分享了他们的经验,包括 SupertappGame Dev Nation

Jason Schroeder 是一位纽约市的应用程序开发者,也是 GIGJam48 的参与者之一。自 2011 年开始使用 Corona SDK 以来,Jason 已经发布了三个使用该平台制作的应用程序,他最近的应用程序 Chungaboo 语言系列(之前名为 Lingo Slingo)曾是 Corona Labs 的“本周最佳应用”,并在多个国际应用商店中被评为“热门应用”。Chungaboo 语言系列的后续作品目前正在制作中,将于今年夏天发布 iOS 和 Android 版本。GIGJam48 是 Jason 的首次游戏创作马拉松,这篇特约文章转载自 Jason 的个人网站


Jason Schroeder上周末,Glitch Games (热门Forever Lost冒险游戏系列的创作者)为 Corona SDK 开发者举办了一场名为“GIGJam48”的 48 小时游戏创作马拉松。我很高兴地说,我参加了这次马拉松,并想为我的活动体验写一篇“事后总结”。

游戏创作马拉松是一种“黑客马拉松”式的活动,开发者会被指定一个主题或一组特定的限制条件,并需要在短时间内(在这种情况下是 48 小时)创建一个符合这些限制的原创游戏。在任何给定的星期或月份,都很容易找到某地有人举办此类活动——(Ludlum Dare 是行业中的佼佼者,而#1GAM (“每月一款游戏”)项目今年确实取得了进展——但专门为 Corona 社区举办的游戏创作马拉松仍然很少见,看到像 Glitch 这样的团队组织一个这样的活动令人兴奋,他们是 Corona 领域的重要参与者。他们的开源在许多 Corona 开发者中非常受欢迎,我想可以肯定地说,我们大多数人都羡慕他们在“Forever Lost”中所取得的成功。

幸运的是,GIGJam 是按英国时间运行的,这意味着我不是在星期五午夜收到马拉松的主题(“元素”),而是在纽约市星期五晚上 7 点宣布主题。我在星期五晚上几乎没有进行实际编码——我进行了头脑风暴,并奠定了一些无论我的游戏采取何种形式都适用的基础(例如,制作 118 个机器人声音读取元素名称的音频文件)。从一开始,我就决定避免将“元素”解释为“土、火、风、水”,而是将其视为元素周期表中的化学元素。这部分是为了帮助我的游戏在众多游戏中脱颖而出,部分原因是因为它给了我更广泛的原材料来使用(嘿,如果你可以用这些元素创造整个世界的一切,制作一个简单的电子游戏应该很容易,对吧?!)。我星期五晚上准备工作的一部分是创建一个 lua 表,组织了所有 118 个元素的所有数据——这在我星期六尝试不同的游戏想法时非常宝贵。(如果您有兴趣,可以在此处查看该表。)我星期五晚上在半合理的时间睡觉了,脑子里充满了想法,硬盘里装满了 mp3 和 Lua 表,以及一个我喜欢的标题:“元素熵”,它是“元素”和“熵”这两个词的混合体。熵的一个定义是“缺乏秩序或可预测性;逐渐陷入混乱”,这很好地描述了我上次玩“吃豆人”时的状态。我显然受到了启发。

我必须承认,我坚持完成这件事的决心并没有我希望的那么坚定——我和我的妻子预计本月晚些时候会生双胞胎,周末通常很忙,要为他们即将到来的到来做准备,所以我没有奢侈地躲到某个与世隔绝的角落里待满 48 个小时。不过,我的妻子非常理解,她慷慨地允许我在电脑前专心工作几个小时,而我可能应该在给公寓做婴儿防护或做其他事情(谢谢,莱斯利!)。但我不止一次考虑放弃,认为我不可能在星期天晚上拿出一个像样的作品。星期六尤其如此,当时我的想法层出不穷,但没有任何明显的赢家出现。有一次,我正在构建一个问答式游戏,看看你是否可以将元素的符号与其名称匹配——但我放弃了,因为感觉太简单了……而且一个“寓教于乐”的标题对我来说似乎不太像“游戏创作马拉松”。然后我考虑过某种“万智牌”式的卡牌游戏,其中每个元素都由一张卡牌表示,战斗属性从原子量等数据中提取。我仍然认为第二个想法很酷,但由于我小时候从未真正玩过任何卡牌交易游戏,我不知道从哪里开始实现它!有时我感到迷茫,差点就放弃了,以便我可以洗更多的婴儿连体衣。但不可避免地,在休息 60 或 90 分钟后,我又回到了笔记本电脑旁。

到星期六晚上,我正在努力制作一款在美学上与我的最终产品相似的游戏,但其工作方式却大相径庭。元素“气泡”会使用 Corona 的物理引擎从天而降,并粘在它们接触到的第一个其他元素上,有点像化合物。这个想法是,随着你的化合物增长,你需要小心保持平衡,以免它从它所在的平台上掉下来,此时游戏将结束。你创建的化合物越大,你的分数就越高。这个想法是可行的,观看物理引擎创建一个“粘粘世界”式的化合物,每次添加新元素时都会抖动和伸展,这很有趣。但最终我没有足够的时间来微调某些方面,使其具有可玩性:我能够使其非常难以成功构建大于 3 或 4 个元素的化合物,并且我能够使其如此容易,以至于使化合物从平台上掉下来都成为一种挑战,但我很难找到中间地带。即使我有一个可以无缝跟踪任何显示对象在虚拟空间中移动的工作“相机”,也出现了一些令人恼火的后勤问题:随着化合物的增长,用户如何才能关注到可能在没有视觉警告的情况下从平台上掉落的化合物的较低层级?解决方案可能是随着化合物的增长而缩小相机,但由于只剩下不到 24 小时的时间,我没有足够的时间来实现这一点。可以使用 Box2D 物理实现缩放,但要使其正常运行并不容易,我没有大量的时间来自己学习。我星期六晚上很晚才睡觉,感到沮丧,不确定是否会提交任何东西。

JS screenshot 1周日早上我醒来后开始摆弄我的代码。我的意思是真的是这样——我一点点地修改代码,有点漫无目的地在模拟器中尝试,看看有什么能吸引我的注意。在某个时刻,我最终给元素气泡添加了一个触摸监听器,允许我将它们在屏幕上随意抛掷,并让它们相互碰撞。“嘿,这挺有趣的!” 这也让我想起了 Puk,另一个我非常喜欢的 Corona 制作的游戏。有了这个灵感,我开始构建一个单屏幕游戏场地(再见,相机管理!),这与 Puk 中看到的类似。我还回收了前一天我正在开发的“教育娱乐”版本游戏中一些废弃的图形,创建了一个类似拼字游戏瓷砖的目标区域。一个街机风格的游戏! 灵光一现!当这一切真正开始成型时,距离提交截止日期只有 3 或 4 个小时了,但是即将到来的截止日期真的能让人集中注意力,真是太神奇了。我很快就创建了一个粗略的关卡进度系统,从屏幕上的一个元素气泡开始,每次清除屏幕时,气泡数量就增加一个。随着气泡数量的增加,游戏变得更加困难,因为如果用错误的元素击中目标,你的分数会减少。为了保持多样性,每个元素的密度由其真实的原子密度决定,导致一些气泡几乎轻轻一碰就飞过屏幕,而另一些气泡则需要持续的力才能在屏幕上移动(这很容易实现,因为我周五晚上做了准备工作,将元素周期表翻译成了一个 Lua 表)。我实现了一个游戏时钟,这样游戏就不会无休止地运行——并通过在增加分数的同时给时钟增加几秒钟来奖励正确击中目标的玩家。我快速实现了一个基本的评分系统,玩家的分数会因目标元素的原子序数而增加。天啊,我想我在这里做成了一个游戏!

Jason's second screenshot距离提交截止日期只剩下一个多小时的时候,我已经有了一个感觉像游戏的游戏,并且有一个清晰的开头、中间和结尾。但它需要一些装饰。当游戏结束时,它就只是结束了。没有铃声或口哨,没有“赛后报告”。它也没有介绍或菜单屏幕。在时间紧迫的情况下,我只有时间实现这些元素中的一个,我选择构建一个菜单屏幕——我的赛后报告将不得不使用一个简单的本地系统警报。但仅仅几分钟,我就能够快速制作出一个外观不错的菜单页面,该页面与游戏的整体感觉非常协调,元素气泡在屏幕上随机抛掷。我甚至有时间制作一个快速的“如何玩”屏幕,这样评委们就不会无所适从。我对于缺乏一个漂亮的赛后报告感到遗憾,但我认为在当时的情况下,我做出了正确的决定。我在实际设备上进行了快速的 10 分钟游戏测试,将我的项目文件夹压缩并上传到了 Jam 的组织者那里。成功!

现在我已经有时间好好睡一觉了,我对我的 GIGJam 体验感觉如何?最重要的是,我真的很高兴我坚持了下来,并且一直工作到我有东西可以提交为止。很容易就假设这不会发生并放弃。但我认为这就是游戏 Jam 的重点:它不是要制作完美的东西,它只是要制作东西。而且,嘿——我认为我实际上制作了一些玩起来相当有趣的东西。我甚至可能会对它进行一些额外的润色,然后将其发送到应用商店。我认为它应该在那里占据一席之地。我绝对学到(或重新学到)了一些关于给自己设置约束的价值。我有几个游戏项目已经构思了几个月了,它们可能比“Elementropy”更有潜力,但由于我没有为它们设置任何截止日期,我继续修修补补,修修补补,以至于该死的东西永远都不会真正完成。但在短短的 48 小时内,因为我不得不对什么是可能的做出快速而艰难的选择,我设法创造了一些几乎可以准备好进入 App Store 的东西。这里面有宝贵的教训。我认为现在是时候给我的其他项目设置一些限制和真正的约束了,以免它们变成没有终点的无休止练习。

但也许最重要的是,这个周末我玩得很开心!我想衷心感谢 Glitch Games 组织了 GIGJam,我迫不及待地想参加下一个了。

Jason Schroeder

inna
无评论

抱歉,评论表单目前已关闭。