大家好!
我想和大家分享一下我开发精确平台游戏(precision platformer)并将其发布到Steam上的经历。这是一个我生命中最大的项目之一,我花了大量的时间来开发它。 在开发的过程中,我遇到了很多挑战...和很多头痛😂。 这听起来可能很愚蠢,但是从技术艺术的角度来看(通过编程创建的艺术),让这个冲击屏障(shock barrier)的视觉效果(visual effect)正确是非常棘手的事情。 它是一个屏障,防止玩家通过它来携带黄色收集物品,内部我们称之为“小烟雾”(little smoke)效果。
这个效果的着色器(shader)需要知道游戏世界中的物体大小,以便正确绘制冲击纹理(shock texture)。此外,它还需要对边缘光滑(edge smoothing)进行缩放,使得效果在屏障大小不变的情况下保持相同的视觉外观。
此效果还与游戏代码进行交互,使得它可以平滑地在其活动状态(黄色)和非活动状态(白色)之间动画,并再次动画。
第二个主要挑战是几乎所有开发精确平台游戏的开发者都会遇到的:让物理(physics)感觉正确。经过大量的测试、实验和错误后,我们决定不完全依赖Unity的内置物理系统(built-in physics system)。相反,我们围绕它构建了自定义解决方案,以便我们可以拥有更细致的控制所需行为。
这是一个巨大的挑战,但是我们认为结果是绝对值得的。
这种方法允许我们支持斜面表面(angled surfaces)如斜坡、创建无或有惯性和摩擦的运动系统、构建精确和响应性的物理运动等。我们还能够使游戏在不同的帧率下(从60 FPS到300 FPS)保持一致的行为,同时维持稳定的和可预测的物理。
项目结束时,我们将两个游戏并排比较。第一个游戏几乎完全依赖于native物理,第二个游戏则使用了我们的自定义系统和Unity的内置物理的一部分。
差异简直是天差地别。看到它们并排比较后,我们清楚地看到我们学到了多少东西,并且项目有多么远大了。
你们遇到了哪些挑战?
如果你们在我们的项目中看到类似的问题,请联系我们,我们会提供帮助!(我们的项目:Steam页面)
评论 (0)