《再下一层(One More Level)》1 月开发日志

作者:Bozar
2021-01-20
5 1 2

PC 与幻影互动的代码稍微有点复杂,因为要同时考虑现实世界和镜中世界。具体分三种情况。PC 与幻影互动的代码稍微有点复杂,因为要同时考虑现实世界和镜中世界。具体分三种情况。《再下一层(One More Level)》是一款使用 Godot 引擎 制作的回合制 Roguelike 游戏。最新版本是 0.1.3,可以通过 GitHub 下载。该版本发布于 2020 年 11 月,开发日志延后了两个月(2021 年 1 月)才写完。整个 0.1.x 系列以“强制移动”为主题,新增了三座地下城:

  • 0.1.0:冥河摆渡(Styx)
  • 0.1.2:镜中世界(Mirror)
  • 0.1.3:热气球探险(Balloon)

最初灵感来自这个问题:如果按下方向键无法完全控制 PC 的移动行为,游戏会变得怎么样?接下来,我想依次分享三座地下城的设计思路,最后谈谈游戏中的进度条。

上一篇日志:

冥河摆渡

玩家需要从冥河左下角移动到右上角。每轮按方向键移动一格,能否成功取决于移动方向与目的地的水流方向。

  • 方向相反:无法移动。
  • 方向相同:继续移动。
  • 方向垂直:移动一格。

以图 2 为例,PC 可以向左或向下移动一格,向右移动四格,但是无法向上移动。

图 1:冥河。

图 2:移动示意图。

每隔若干轮,所有水流方向随机变化一次。随后在地城里划出几条线段,使河水朝一个方向流动。有时候玩家运气不好,被困在某处耗尽了时间。我考虑过添加更多朝向终点的水流,但是一方面这会降低难度,另一方面考虑到单局游戏时长不超过几分钟,哪怕因为随机性输掉了,挫败感不会太强。

镜中世界

镜中世界的灵感来自 HyperRogue 的地下城 Hall of Mirrors。这个世界的主要规则如下:

  • 利用(PC 或者幻影的)镜像收集五颗水晶后获胜。
  • PC 尝试移动时,如果 PC 被镜子挡住去路,或者“PC 镜像”被“幻影镜像”挡住去路,PC 无法移动。
  • 幻影被攻击后,必定在镜中世界产生一个镜像,有可能在现实世界(通过镜面反射)产生一个或多个镜像。
  • PC 被攻击后,与自己的镜像交换位置。

图 3:镜子。

PC 与幻影互动的代码稍微有点复杂,因为要同时考虑现实世界和镜中世界。具体分三种情况。

在镜像世界里,“PC 镜像”攻击“幻影镜像”。“PC 镜像”停在原地,移除“幻影镜像”。

在现实世界里,PC 攻击幻影。首先,如果镜中世界的对应位置已经存在“幻影镜像”,把它移除。其次,把现实世界里的幻影移动到镜中世界。最后,从现实中幻影的位置出发,往上下左右四个方向发出射线。如果射线接触到了镜面,尝试往现实世界添加新幻影。

在现实世界里,幻影攻击 PC。首先,交换 PC 与其镜像的位置。其次,每个 NPC 根据其新身份,幻影或“幻影镜像”,开始或停止行动。最后,如果某个镜像恰好覆盖了水晶,水晶将被自动拾取。

热气球探险

在热气球探险中,PC 的符号始终显示为箭头,代表当前的风向。五次停留在指定位置即可获胜。每一轮按照以下规则移动:

  • 首先顺着风向移动一格。
  • 随后朝着按键方向移动一格。
  • 两次移动时,如果遇到障碍物,往反方向后退一格;如果越过地图边缘,移动到另一侧对应位置。

图 4:热气球。

为了确保玩家走遍整张地图,我把地下城分为两行三列六块区域,选择其中五个放置目标地点。利用反弹规则,玩家可以抵达看似不合理的位置,比方说在下图中按右方向键抵达位置 2。

图 5:反向移动。

游戏中的进度条

设计镜子地城时我在想,分隔两个世界的墙壁能否美化一下呢?不如把它改成进度条,显示已经收集的水晶数量吧。沿着这个思路往下想,能否给每座地下城都添加进度条,告诉玩家距离胜利还有多远?现有的进度条分为三类。

  • 冥河:PC 在地图上的位置就是进度条。
  • 镜子,热气球:特殊符号的数量代表了胜利进度。
  • 骑士,沙漠:特殊符号本身暗示了游戏进度。

第三类稍微展开讲讲。在骑士地下城里,最终头目分为三个阶段,其符号依次为 S、P 和 D。当前版本(0.1.3)给沙漠地图新增了一个计数器(见下图),显示了已收集的优质香料数量,功能上相当于一格普通香料。

图 6:沙漠。

最后说一下未来计划。下一个大版本(0.2.x)以“武器攻击”为主题,可能包含三座地下城,第一个版本(0.2.0)预计一周内发布。希望大家喜欢!

本文为用户投稿,不代表 indienova 观点。

近期点赞的会员

 分享这篇文章

您可能还会对这些文章感兴趣

参与此文章的讨论

  1. 牙白 2021-01-21

    看完文章后我不知道基本操作,是打代码玩吗?非图形界面的话,受众可能会小。如有冒犯我先道歉

    • Bozar 2021-01-22

      @牙白:用方向键和空格控制主角行动。因为不是商业游戏,所以不太考虑受众面。

您需要登录或者注册后才能发表评论

登录/注册