我之前的Feypath相关视频都聚焦于编程,所以我觉得是时候制作一个与游戏玩法相关的视频了。

起初我从来没想过在我的游戏中加入速度跑技术,但有一天我遇到一个无法解释的bug。

简单来说,当玩家角色(青蛙)落在地图边缘时,相比于“走”(或滑动,或者青蛙会做什么)到地图边缘时会有一个像素偏差。

经过查找,我发现这个问题与我的状态机有关,我意识到我想利用这个行为来做成一个特性。相比于最初的像素偏差,我增加了两个像素,这样玩家就能跳跃到之前不可能的位置。

“边缘跳跃”(Edge Jump)就这样诞生了,它成为玩家通过关卡的捷径。

类似的事情发生在我称之为“斜坡滑行”的bug中。 我注意到玩家角色从斜坡上掉下时存在一个不规则的现象,原来是与我的可改变跳跃高度的解决方案有关。 我通过“在玩家不是向下落体时,且玩家没有按住跳跃按钮时,应用重力两次”的方法来实现更短的跳跃。 当玩家从“走”状态转换到“落体”状态时,玩家可以在从斜坡上掉下时改变重力应用的方式,稍微减少掉落速度。

实际上,在游戏中有几处地方这会很有用,而不是把它当作bug去掉,我决定保留它。

我很好奇你们是否有类似的故事可以分享,关于bug如何变成游戏的特性。 我觉得使用Gamemaker进行开发时,由于开发速度快,可能会引入类似的bug。

如果你们感兴趣的话,Feypath将在夏季发布,目前可以在Steam上进行预约。 视频描述中有链接。