Skip to content

关卡

Ballance 自制地图一般是以一个 关卡 为单位,例如原版 Ballance 具有 13 个独立的关卡。每个 Ballance 关卡储存在一个 NMO 文件当中。

关卡基本元素

一个基本的 Ballance 关卡至少需要包括:

  • 一个开头的四火焰盘点(注意是火焰,不是底部路面,路面不是必须的)。
  • 一个重生点(第一小节的)。
  • 一个飞船。

如果不包含以上物体,即使导出了关卡,Ballance 也会拒绝加载。

小节机制

小节用于分隔每部分的机关加载。默认情况下,每个关卡最多可以有 8 个独立的小节。

存在“小节”这一机制的原因不只是因为存档点,游戏在处理各小节的机关道具时是独立进行的,每个小节只会加载当前小节的机关道具。在游戏内很容易注意到,每当经过一个盘点火,上一个小节的机关道具会直接消失,而下一个小节的机关道具会被加载出来。而当玩家球死亡时,当前小节的所有机关道具均会重置为初始状态。

热知识

在以前设备性能不佳、内存吃紧的时代,分小节加载地图是一种很聪明的节约资源的方式。(事实是 Ballance 几乎随处可见这些节省资源的小技巧)

现如今,就算一次性加载所有小节也不会对游戏表现造成很大冲击,但小节机制也被一些制图者用来制作具有特殊机制的地图(例如全程在一段路面的地图,通过不同小节的机关道具来实现多样化的玩法)。

重生点与盘点火

如果只通过游戏可能会认为重生点和盘点火是同一个物体,因为游戏内的重生点一直都在盘点火处,但实际上它们是两个独立的物体。在制图时建议明确区分这两种特殊机关。

盘点火是控制着火焰与小节切换触发的重要机关。玩家球在触碰到下一小节的盘点火时,会触发小节切换,并将重生点设置到下一小节的重生点的位置。只有第一小节的盘点火是 4 火焰,而其它的是 2 火焰。

重生点仅储存重生时所需的物体信息。玩家球在死亡时,会回到上一个重生点的位置,并且旋转角、缩放等数据会与重生点同步。在制图时,重生点箭头的朝向表示复活后玩家摄像机会朝向的方向。

热知识

部分地图利用这个特性做出了所谓的传送门。即通过分离重生点与盘点火,使玩家触碰盘点火后,将重生点设置到另一个位置,实现所谓的“死球传送”。

在制图时,一般情况下,重生点的水平坐标应与盘点火相同,重生点的竖直坐标(在 Blender 中为 Z 轴,在 Virtools 中为 Y 轴)应比盘点火高。具体数值见下表:

盘点火高度差参考值备注
初始盘点火3.65从原版关卡中统计后取众数得出,下同
小节盘点火3.33(约值)实际参考值为 3.3258

一小节关卡 Bug

我们不建议制作只有一小节的关卡,尽管它玩起来没有任何问题。因为对于只有一小节的地图,Ballance 在渲染开头的四盘点火焰的时候会出现 Bug,表现为火焰粒子呈现为不自然的三角形,且进入关卡后无法使用 Esc 打开菜单,导致无法退出关卡,只能强制关闭游戏。

为了避免这种情况,请添加第一小节的检查点(两火焰盘点)和第二小节的重生点,让关卡 至少有两个小节

特殊一小节地图

虽然游戏存在一小节关卡 Bug,但我们仍有办法做出单小节的地图。

游戏通关判定是取决于有没有上飞船,而飞船的出现是取决于小节组的数量(而不是盘点的数量)。因此,我们可以 添加第二小节的盘点火和重生点以规避 Bug,但不创建第二小节组(即第二小节没有任何东西),此时飞船就会在第一小节就直接出现。

当使用 Blender 和 BBP 制作一小节地图时,可以先按 关卡基本元素 添加必须的物体,然后添加 机关 - 小节对 到第二小节。此时虽然有第二小节的重生点和盘点,但我们可以将它移动到正常游玩看不到的地方,因此只需要把盘点火放到很远的地方,即可做出关卡只有一小节的假象。

最重要的步骤是 在导出前,在 场景 菜单中找到 Ballance 地图选项,将小节数调整为 1

one_sector_config

注意

若要制作一小节地图,必须保证除了第一小节以外,没有任何小节的存在。也就是说不要将任意物体归入其它的小节组。

你可能想问,那为何可以放置第二小节的盘点火和重生点以规避 Bug 呢?答案很简单,因为 盘点火和重生点不需要归小节组,它们的小节号是直接写在物体命名中的。

导出时的导出选项中有一个 Ballance 参数 - 小节连续,请确保这个功能打开,并确保显示的小节数为 1 即可。

one_sector_export

Released under the MIT License.