Ludum Dare 40 —后事态

在过去的这个周末,我参加了有史以来第一次比赛。 特别是Ludum Dare(LD) 。 我已经尝试了很多年了。 在LD的两个选项中,我选择了compo。 compo是更核心的版本,您提交的所有内容都必须从头开始创建并单独创建。 这意味着音乐,声音效果,艺术以及游戏本身必须在48小时内从头开始创建。

在这篇文章中,我将讨论我的经验的几个方面。 我将其分为以下几个部分: 游戏理念,MVP,游戏引擎,艺术与声音,提交。

如果您有兴趣查看我的作品,可以在这里找到。


转换回怪物后的盟友

游戏的其他部分内置了该主题的其他功能。 一个例子就是我称之为“ The Bagger”的怪物。 当您杀死突变体时,它们的尸体会缠住。 您可以使它们复活,或者可以摧毁尸体。 如果您都不选择,那么这个“ Bagger”敌人会吞噬尸体并变得更强壮。 与您拥有的身体越多的主题相匹配,游戏就越艰难。


一旦我有了自己的游戏构想,我就开始写出在提交之前要制作的绝对最低功能列表。 与任何形式的创造力一样,最伟大的想法是在您开始之后产生的。 我坚持自己的原始列表,当弹出一个新主意时,我只是将其添加到我的v2功能列表中。 我专注于首先只完成最低限度的工作。

v1列表如下所示:

  • 玩家,盟友,怪物和子弹图片
  • 在地图上移动玩家并能够射击
  • 朝玩家移动并攻击/杀死玩家的怪物
  • 能够射击和杀死怪物
  • 跟随玩家并向怪物射击的盟友
  • 能够给死掉的突变体解毒剂并将其变成盟友

现在查看该列表,看来这将是一个无聊的游戏。 没有滚动,没有动画,一个没有背景,只有一种颜色的屏幕,说实话看起来很糟糕。 但是我在v1结束时的目标是要玩点游戏,即使那很丑。

我也开始关注v2项目的优先级。 游戏开始和游戏结束菜单,所有角色的动画以及音效之类的东西开始出现在我的画板上。

我在第一天晚上结束时达到了我的v1目标。 我以那为胜利,睡了一段时间。 第二天早上,我开始使用我的v2功能,到那时为止,它包括一种全新的怪物类型。


我看到的大多数人都在竞争中挣扎,他们正在使用带有某种形式GUI的游戏制作工具。 我一直很想尝试一个新的Java游戏库,所以我以此为契机坐下来学习了一个。 我选择了CraftyJS。 这是一个很棒的图书馆。 我绝对喜欢它处理碰撞的方式及其“组件”系统。 但是,在卡纸开始后我花了4到6个小时来学习这些知识,这可能是一个错误。 在其他所有人将其精灵拖放到游戏中,自动计算动画并单击“开始”的同时,我正在学习如何对动画进行编码以甚至加载和正常运行。 由于我决定不使用真正的“游戏制作工具”,我花了很多时间重新发明轮子,我认为那是一个错误。

在下一个LD之前,我肯定会花一些时间来实际学习我将要使用的工具。 如果您计划以任何方式进行实际比赛,几乎都需要具备体面的舒适度。 当然,我知道仅凭经验我就没有机会在任何地方放置受人尊敬的东西,但是如果我有8个小时以上的时间专门用于游戏设计或美术,那将是与现在完全不同的游戏。

从这一困境中继续前进,我计划将我的游戏移植到各种游戏制作工具中,以找到我最喜欢的工具。 我非常想尝试GameMaker Studio,Godot和MonoGame。 我想到这种想法,可以用Javascript做同样的事情,但最终我想做出色的游戏,而不是说我拥有最酷的后端技术。


我知道陷入这场困境是艺术和声音将是我最大的减慢。 我绝对不是艺术家,而且我从未从头开始创作自己的声音。 它花费的时间比我想象的还要长。 使用鼠标我可以为动画绘制精灵表,但是花了很长时间才能完成每一个。 我用Piskel制成的雪碧床单可以减轻一些头痛。 下次,我将使用带有精灵表插件的GIMP给我更多工具。 我还将购买图形输入板,以便更轻松地绘制很多图形。

我在以16×16绘制字符的艺术中也犯了错误。 我之所以采用这种方法,是因为我认为这样可以节省时间,并使绘图更容易。 问题在于游戏当时在浏览器上看起来很小。 对于第一天,我只是使用chrome中的缩放功能来更好地查看它。 在第二天,我意识到我需要修复某些东西,首先想到的是使用CSS转换来扩展画布并将其放大。 我这样做了,但这是以图像清晰度为代价的。 它使画布看起来有些模糊,这是我提交的游戏的第一批评论之一。 将来,我可能会以更大的尺寸(64×64)绘制所有内容,并仅使用更大的画笔尺寸来获得相同的16×16效果,同时保持图像质量。

为了获得音效,我使用了ChipTone,这使整个过程变得相当容易。 使用内置的模板,我能够将声音随机化,直到找到接近我想要的声音为止。 到那时,我可以对其进行调整以使其达到完美,然后下载.wav文件。

背景音乐是​​我为这个项目创造性地要做的最困难的事情。 我什至不知道从哪里开始。 我最终进入了http://www.soundtrap.com,对于像我这样的菜鸟来说,这是一种制作音乐的好方法。 我听了一些采样节拍,然后在短时间内(<30秒)将一些我喜欢的乐器放在一起。 我确实花了大约2个小时的时间在寻找音乐制作工具和创作与我的游戏最匹配的歌曲之间。


提交游戏是我无法完全解决的。 我以为我会在Github上托管它,利用Pages允许直接访问在浏览器中播放,但是我没有考虑提交时会遇到的其他问题。 也就是说,我没有考虑过封面,屏幕截图,说明,控件的详细信息,游戏目标的详细信息等。

我计划在截止日期晚上8点之前提交一个小时,但最终还是在大约晚上8:58(截止日期之前2分钟)提交。 当8PM推出时,我终于停止使用新功能,开始尝试收集所有内容以进行提交。 到我提交时,大约是8:45,我玩了几次以检查一切是否正常。 这是我发现一个关键问题的时间。 如果您死亡并单击鼠标,游戏将冻结并且不允许您在不刷新页面的情况下重新启动。

看起来似乎没什么大不了,但是我希望那些玩游戏的人能够按回车键并尽可能轻松地进行第二次射击。 我不希望他们再次尝试玩,只想锁定它。 像这样的bug使得整个游戏看起来不够精致,就像更多的呆板提交一样。 我争先恐后地找到答案,因为我只有大约10分钟的时间来弄清楚并解决它,然后才真正为时已晚。

该问题最终导致无法解除鼠标在最终游戏屏幕上被破坏的对象上的绑定,以及键绑定仅在死亡后监听第一个键的问题。 幸运的是,我能够修复这两个问题并及时提交。

下次,我计划在截止日期之前2小时停止使用新功能,以便给我充足的时间完善在开发过程中可能被忽略的所有内容。 在过去的最后一个小时,我还意识到我没有花足够的时间来玩游戏并进行调整。 这导致游戏在提交后有些失衡,但这是增加功能的代价。


在不到48小时的时间内,我在一场比赛中获得了绝对的成功。 截止日期确实使我将游戏分解为可以确保完成的最裸露的版本。 通过自己做所有事情,我学到了很多游戏开发知识,并且很好地了解了为什么人们选择比Java更好的游戏制作工具。 我认为在未来的比赛中,我想更多地专注于游戏本身,而不是背后的技术。 我期待在接下来的几周内获得有关我的游戏的反馈以及玩别人的作品!

如果您想查看其他一些卡纸,可以在这里找到!