Celeste 机制研究

0. 简介与惯例

Celeste (塞莱斯特) 是一个具有优秀手感的平台跳跃游戏. 虽然操作所使用的按键很少, 但是却有着复杂的组合机制. 在游戏实现上, Celeste 是一个锁定 60 帧 (实际帧率 60000/1001 帧)、对于输入序列确定性的游戏 (尽管某些机制具有 RNG , 但是这些 RNG 使用的种子是相对于地图名称固定的), 同时 Celeste 具有方便的 TAS 工具, 这使得其机制研究变得相当容易. 在以下行文中, 我们假设其帧率就是 60 帧整, 以不加单位的 pps (每秒像素数) 值来表示速度, 以不带单位的 pps/f (pps每帧) 值表示加速度, 以 x,y 表示横纵向速度, 以 Dv 表示单次加速度, 以不加单位的 dspf (每帧体力值变化) 值来表示体力值变化.

1. 基本操作


  • 在平地上按住方向键 Madeline 可以跑. 跑以 50/3 的加速度向两个方向加速, 能达到的最大值是 90, 因此在 6 帧内达到最大值. 如果不输入方向, 则会以 50/3 的减速度停下来. 如果速度在 90 以上, 则按住同向方向键会以 20/3 的速度减速, 按住异向方向键会以 50/3 的速度减速, 按下键会以 25/3 的速度减速, 如果同时按下左右和下键也是以 25/3 减速.
  • 滞空
    Madeline 在滞空时, 按住左右方向键会以 65/6 的速度加速, 不按方向键会以 65/6 的速度减速至 0, 最大可达 90 的横向速度. 横向速度超过 90 时, 按住同向方向键会以 13/3 的速度减速至 90. Madeline 最大的下落速度是 160. 为了方便起见, 我们将下落速度记为正, 上升速度记位负. 当 Madeline 的速度在 [-40,40] 的区间内时, 如果 Madeline是冲刺结束的状态或者按住跳键可以以 7.5 的加速度下落, 否则以 15 的加速度下落. 如果 Madeline 的下落速度大于 160, 不按住下键会以 -15 的加速度下落直到速度达到 160, 按住下键会以 5 的加速度下落直到速度达到 240. 在游戏中基本不可能获得超过 240 的下落速度.

  • 在游戏中有多种跳跃形式.
    1. 冲刺取消跳跃.
    2. 踢墙跳.
    3. 抓跳.
    4. 平地跳跃.
    冲刺取消跳跃和抓跳都有复杂的交互机制, 会在之后阐述.
    平地跳跃最简单: 会获得 D+40,-105 的速度. 如果是落地起跳, 则落地会先获得一次落地减速然后计算后面的速度. 如果地面拥有横向或纵向移动速度, 则这个移动速度会被叠加上.
    踢墙跳对于非移动块的机制也相对简单: 会以 130,-105 的速度跳出. 如果是以不按方向键的跳跳出则可立即普通的滞空状态减速, 否则会以 13/3 的速度减速至 90 后按滞空计算. 因此, 不按方向键的踢墙跳可以更快的减速,这使得不消耗体力爬墙成为可能. 对于移动块的机制 非 常 玄 学, 但是关于方向键的部分还是一致的. 不负责任的推测: 移动块的速度是内部以速度-曲线描述的, 而其值是连续的(这里我们将浮点数或者定点数视为连续值); 但是机关块的计算位置被取整到了像素值, 因此表观上机关块的速度一定是 60 的整倍数. 这使得在 TAS 的时候计算机关加速变得极其困难. 按这个理论, 我推测应该是获得 D90,-105. 其中 D90 是一个估计值. 另外 Celeste 计算的亚像素特性导致了更多奇怪的现象, 总体而言只能多尝试.

  • Madeline 拥有 110 体力值, 在休息 (落地或捡水晶) 后会完全恢复. 在抓墙不动时, 会以 1/6 速度减少体力值. 在向下爬时不消耗体力值. 在向上爬时以约 0.8 速度消耗体力值, 每次抓强跳消耗 27.5 体力值. 向上爬会以 -45 的最大速度爬行, 以 -15 的加速度加速, 在速度超过 -45 时以 15 减速. 向下爬会以 15 速度加速, 最大速度 80. Madeline 在安全的平台旁边爬到足够高并继续按向上爬会自动爬上平台, 但是这个操作在 TAS 或人类速通中几乎没有作用. 如果是不安全的平台, 那么 Madeline 不会完全爬到墙顶上. 抓墙时不按方向键或者按住向墙方向跳可以以 -105 的速度爬墙. 作为容错机制, 在墙边 2 像素的位置也可以抓墙, 如果在运动情况下则会扩展到 4 像素. 如果按中性(即不按左右方向)抓墙跳则可以隔空抓墙.

猜你喜欢

转载自www.cnblogs.com/tmzbot/p/12318561.html
今日推荐