这部作品最初是 GMTK Game Jam 2024 的参赛作品。比赛的主题是 “Built to Scale” 。针对这个主题,我考虑制作一款机制类似于俄罗斯方块的游戏。然而,考虑到时间有限且我缺乏开发俄罗斯方块类游戏的经验,最终我选择了我最擅长的平台跳跃类型作为游戏的核心玩法。
作为一个人,我不期望制作出一款内容过多的游戏。因此,我试图 在“简单”中寻求“精致”,从“旧”中创造出的“新” 。游戏中, “旧”的方面是它是一款平台跳跃游戏,一个我以前做过很多次的类型,而“新”的方面在于多角色的实时切换、物理效果以及操控方式。
1. 人物设计
我选择了四种不同的形状,并赋予它们独特的操控方式和技能。它们不同的形状会影响碰撞体的大小和性质,这也给关卡设计和物理实现带来了挑战。
在编写角色切换逻辑时,我发现了一个有趣的现象: 当切换回刚才使用过的角色时,它会保留之前的状态。 这原本是一个Bug,但我意识到如果利用得当,它可以创造出新的玩法可能性。所以最终,我决定将其保留为一个“特性”。
2. 技能设计
为了让代码构建得更快且玩法更直观,四个角色的移动都只需要W、A、S、D键,技能也仅用一个按键(空格键)来执行。因此,仅用一个按键创造出四种截然不同的玩法风格是一项相当大的挑战。整个过程中,我不断思考:这四个技能应该是什么,它们应该分配给哪个角色,它们的效果是什么,以及它们将如何与关卡结构和机制互动。
最终我决定了: 正方形拥有普通的移动和跳跃能力。长方形只能像棍子一样滚动。圆形可以在空中漂浮。三角形不能跳跃,但可以附着在某些物体的表面上。
3. 操控设计
四个角色各自拥有不同的形状、技能和物理属性。最初,我设计的游戏是四个角色都可以在每一关中使用。然而,我意识到 圆形的飞行能力严重容易破坏带有重力机制的关卡平衡 ,使其在克服障碍方面远远强于其他三个角色。因此,我选择改变设计,使得每一关只能使用特定的角色来完成。
4. 关卡设计
虽然从代码实现的角度来看,实施“不同关卡、不同角色”的规则是一个更具挑战的选择,但它却成为了关卡设计的一个优势。这样一来,我不必围绕所有四个角色同时来设计关卡。相反,我可以先决定某一关将使用哪个(些)角色,然后再围绕它们来设计关卡。由于游戏采用的是一命通关制,我还确保每一关的完成时间不超过两分钟。
由于前面提到的角色切换系统留下的“特性”,切换角色有时会导致严重的穿模或意外碰撞(例如,当正方形贴着墙壁时切换成长方形,可能会导致穿墙)。当时,我还没有完全理解如何使用复合瓦片, 所以我使用了一种比较“粗暴”的方法:在切换角色时稍微调整玩家的位置,以降低此类问题的风险。
5. 机制设计
游戏中一共有4种机关: 尖刺、移动平台、风扇和钥匙 。尖刺和移动平台在游戏设计中相当常见,但风扇更有趣。为了配合四个角色的特性, 我设定了它们不同的重量(长方形和三角形稍重,正方形中等,圆形最轻)。 这鼓励玩家利用每个角色的重量属性来通关,同时也有助于平衡圆形的机动性。要求收集所有钥匙是为了让关卡结构更丰富,引导玩家使用不同人物探索场景的各个角落,而不是简单地从头走到尾。
当时考虑到Game Jam只有4天时间,我使用了 像素艺术 (我唯一熟悉的画风)来在短时间内创作角色动画、地面、前景、背景、特效、UI、标题和封面图。同时我从 嘻哈和涂鸦 中汲取灵感,选择了极简的涂鸦风格。 这种风格具有弯曲夸张的造型、较暖的色调和异想天开的元素 ——所有这些都极大地帮助我高效地完成美术资产。
四个角色的主题色选择也是经过深思熟虑的。虽然这涉及心理学,但我的理解非常基础,所以我会根据自己的主观感受来解释这个过程。我首先根据每个形状给我的感觉分配了性格特征,然后选择了匹配的心理色彩:
正方形:常见且普通 → 开朗的性格 → 主题色:青蓝色 正方形
长方形:长而扁平,看起来有点滑稽 → 古怪、奇特的性格 → 主题色:橙黄色 长方形
圆形:圆润可爱 → 温和、友善的性格 → 主题色:粉色 圆形
三角形:最难设计的。形状稳定,但为了契合嘻哈美学,我赋予了它一种低调、都市、酷炫的氛围,而不是沉稳的感觉 → 主题色:冷酷、神秘的紫色 三角形
一旦确定了性格和颜色,动画的制作就变得相当顺利了。
7. UI设计
既然选择了为特定关卡分配特定角色的设计,新的问题就出现了:需要构建代码和数据结构来配置关卡数据,同步UI以显示这些数据并提供清晰的指示,以及提供用于暂停、重新开始和游戏帮助的菜单按钮(下图为角色切换的UI)。
8. 音乐与音效设计
对我来说,音乐制作和美术一样具有挑战性。为了保持视听风格的一致性,我使用 嘻哈乐器 来制作鼓点,并精心挑选了四条音轨来匹配四个角色 (最初,我想让音乐轨道随着所控制的角色动态切换,但由于我的技术限制,我不得不放弃了这个想法) 。最终,成品的节奏感觉有点慢,没有匹配上我心目中的“轻快活泼”的节奏——但考虑到我当时的技能水平,这已经是我能做到的最好了。
在设计主菜单时,我做出了一个大胆的决定:我把主菜单屏幕变成了一个小场景,把四个角色放在里面,甚至允许玩家控制他们。这种 “互动式主菜单” 非常有趣,但它真的非常考验代码的解耦和模块化。更疯狂的是,我最终居然成功让它运行起来了——这让我感到惊讶,也给了我真正的成就感。
三角形角色不仅可以附着在墙上,还可以附着在移动物体上,然后在移动过程中释放自身,利用惯性向前发射。然而,由于这个机制涉及复杂的物理效果和物体移动追踪,我最终决定放弃它以及相关的关卡。
尽管我在比赛截止日期前提交了作品,但游戏有太多Bug——而且它们非常严重,以至于游戏几乎无法游玩。这不是我第一次在我的项目中遇到这个问题,但看到数十小时的努力因为几个BUG而付诸东流,真的让我很受打击。我记得在那段时间里,看着其他参赛者的作品,有些 制作的比我的粗糙,但运行起来却顺畅得多。 我真的羡慕他们似乎能找到并修复游戏中的“所有”Bug。
我一直在思考这个问题,并向比我有经验的开发者寻求建议。他们的回答是: 完成比完美更重要 。创意头脑风暴是必不可少的,但你也必须考虑自己的能力、项目的范围以及实现的可行性。 制作一款精致、完整的小游戏,比制作一个雄心勃勃但残缺不全的作品要好。
我当然明白这一点,但我花了很长时间才真正接受它。 这意味着要学会舍弃——愿意删减、修改甚至放弃辛辛苦苦想出来的点子。 这是每个创作者都必须经历的事情,也是必须克服的挑战。
这部分算是个插曲。前段时间,我在尝试版本控制时,不小心损坏了我两个作品的项目文件——一个是Water Cube,另一个是For Scale。由于我只有保留美术资产的习惯,那两个项目的其他所有内容都丢失了,无法恢复。唯一留下的痕迹是我脑海中的一些记忆和几张上传到游戏主页的截图(所以那些上传的版本却成了最终的、不可复制的版本,哈哈)。即便如此,我也没有时间沉浸在其中,因为我还有新的Game Jam要参加,还有新项目要做—— 或者也许我会选择重制我其他的作品。
我创造了一个又一个项目, 但它们都是在Game Jam的“限时”条件下制作的。 结果,我无法完全实现我所有的想法,也无法展现出游戏本该有的样子。同时,我一直在不断尝试新的开发方法并学习新技能。最近,我也觉得自己的创造力和灵感开始枯竭。
为了避免在未来的项目中简单地重复自己或过度依赖旧套路, 我决定将注意力转回我过去的作品。 也许通过重制它们的过程,我可以回顾过去并获得新的见解——同时也能将我所学到的新东西充分运用到这些作品中。
当我再次打开旧版本的美术资产时,我意识到我早期的作品是多么的“粗糙且简陋”。 项目中的任何东西都无法通过简单的调整来修复——一切都必须从头开始做 。所以实际上, 项目文件被删除反而变得不重要了。 同时我觉得四个角色的设计已经接近我想要的了,所以我没有对它们做太多修改。
1. 技能设计
三角形角色的“惯性发射”机制终于可以实现了,但事实证明它远没有我想象的那么简单。 甚至在最后的测试阶段,我还在调整这个机制。
2. 物理设计
在重制版中,无论是角色的移动还是机制的移动,一切都是由物理速度驱动的。使用“坐标移动”的方法不会产生真实的物理效果,并且在角色与场景交互时也存在BUG的风险。
其实只需将Composite Collider 2D组件中的Geometry Type设置为Polygons,瓦片地图的碰撞范围就会变成实心而不是仅仅一个表面。 这极大地有助于防止其他物体穿透瓦片地图,并且还能实现多个复合瓦片之间的碰撞效果。
为了利用机制的行为来引导玩家,我给移动平台添加了 “冲刺” 功能。这极大地帮助玩家理解三角形角色的“惯性”机制
5. 美术设计
除了角色之外,其他每个物体都重新绘制了。这包括为多种地形类型添加“Rule Tile”,加粗轮廓,并将边角修圆,使视觉效果更加紧凑饱满。为角色动作添加了粒子效果,以增强游戏的 “Juicy”感(即清新感/生动感)。
由于整个游戏不需要鼠标控制,我移除了点击式UI,并替换为 全键盘控制 (例如,按R重新开始,按Enter开始游戏,按P暂停游戏等)。
7. 音乐与音效设计
由于游戏过程中的帧间隔会发生变化,我从早期项目开始就一直在研究音轨同步功能。即使在帧间隔一致的情况下,仍然存在时间差异。经过多次代码修改和无数次测试,我终于成功了!(如果你感兴趣,可以看看我的另一个项目——Rhythm Rocket)
对于音乐作曲,我使用了的原版的两倍的乐器数量,从而产生了更好的混音。
至于音效,我自己制作了它们,而不是在资产商店里寻找。 (我使用的是Chipton,可以前往itch.io上下载——强烈推荐!) 8位音效完美契合了游戏的像素艺术风格。虽然背景音乐不是电子的,但音乐和音效并不冲突。
这是我第一次写长篇的游戏开发故事。感谢你能看到这里。也许我应该开始思考下一个要重制什么——或者考虑开发一个新项目。
如果有什么Game Jam,记得叫上我哦!
评论区
共 条评论热门最新