Blip/ja

Blipとは、通常とは異なる高さに着地することで、より高くジャンプできる仕組みである.

Steppingが落下中に適用されることで発生する.

1.8では3種類のblipがある:


 * 「通常のBlip」: 壁際に着地することでブロックの側面に乗り上げられるもの（仕様）.
 * Blip-Up: 低い壁の真横に着地することで、判定を悪用し空中に着地できるもの.
 * 壁Blip: 天井付きのX方向の壁の横に着地するもの（blip-upと同じ効果）.

Blip-Up
https://youtu.be/BjNbUP5-4wo

プレイヤーの着地時、ゲームは壁の当たり判定をチェックし、プレイヤーが周囲の壁に上れるかを確認する. この時、通常のsteppingと同じ処理が行われる.


 * プレイヤーのバウンディングボックスをリセットする
 * バウンディングボックスを上に動かす（最大0.6b）
 * バウンディングボックスを水平方向に動かす（X→Z）
 * バウンディングボックスを下に動かす（最大0.6b）

この手順は、プレイヤーが低い障害物を乗り越えられるようにする目的がある. しかし、steppingの適用が、バウンディングボックスがtick開始時のプレイヤーの位置にリセットされた後に行われるという致命的な欠陥がある. tick開始時のプレイヤーの位置が空中だった場合、stepping手順の開始は本来あるべき位置よりも高い位置で行われてしまう. この時、プレイヤーのバウンディングボックスは十分に下がりきらず、空中で停止してしまうことがある. こうして発生するバグはBlip-Upと呼ばれる.

このバグにより、プレイヤーは地面よりも上に「着地」できるため、通常よりも高くジャンプできる.

必要条件:

 * （落下/ジャンプで）垂直方向の速度がマイナスなこと
 * 比較的低い壁（カーペット/スイレンの葉など）の真横に着地すること - 着地判定tickのプレイヤーの位置よりも低い必要がある.

セットアップ:
blip-upのセットアップの原則は、開始地点から低い方の地面と高い方の地面へのtierを同じにすること.
 * blip-upの効果は、一般に落下速度が速いほど大きくなる.
 * 着地判定tickでのプレイヤーと地面の距離ができるだけ大きくなるよう慎重に調整する必要がある.
 * 得られる高さは0bから3.92b（終端速度）の間. 壁が高いほど、セットアップの効果は小さくなる.

シンプルなセットアップの例:
 * +1.5bのセットアップ
 * +1.75bのセットアップ

壁Blip
壁Blipは、必要なセットアップと状況が精密なため、Blip-Upよりもかなり後に発見された.

blipと同じように衝突判定に関するソースコードのバグが原因で発生するが、理解/実行はそれよりも難しい.

https://youtu.be/vueSpP-P53U

壁は、stepping機能を発動させるために必要（壁に上ることはできないが発動する）. 天井は、「2ルートのうち良い方を選ぶ」という手順を悪用するために、プレイヤーを別ルートに誘導するのに必要.

必要条件:

 * 天井の高さは地面より最低1.8b上で、着地判定tickでのプレイヤーの頭頂部より最大で0.6b高い必要がある.
 * 壁はX方向である必要がある（第1ルートを穴部分の方向にするため）.
 * プレイヤーの位置と速度は、第2ルートでの水平方向の移動距離が第1ルートよりも長くなるようなものである必要がある.

最後の必要条件がやや分かりにくいため、図と式で表す:



着地判定tickで、$(v_X,v_Z)$ をプレイヤーの速度、$(\delta_X,\delta_Z)$ をプレイヤーから壁の角までの距離とすると、必要条件は:

$$\sqrt{\delta_X^2 + v_Z^2} > \sqrt{v_X^2 + \delta_Z^2}$$

連続Blip


Blip-Upと壁Blipは、同じセットアップで繰り返し行うことで高さを上げていくことができる.

ただし高さは無限に上げていけるわけではなく、最終的には着地までに余分にもう1tickかかる高さに達し、それによって得られた高さのほとんどが失われてしまう.

連続Blip-Up
各blipごとに0.104ずつ高くなり、ジャンプ1～4回おきに低くなる.


 * 3層の雪（4ドット）では1回blipできる → +0.104
 * トラップドア（3ドット）では2回blipできる → +0.208
 * カーペット（1ドット）では3回blipできる → +0.312
 * スイレンの葉（0.25ドット）では4回blipできる → +0.416

低い方の足場から開始すればカーペットでも4回blip-upが可能だが、足場分の高さが失われる（合計で+0.353になる）.

最終的には、プレイヤーの高さが高い方の足場よりも低い位置になり、積み重ねた高さが全て失われる. そういった意味で、連続blip-upは周期的である.

pa_O1dmuLe8

連続壁Blip
壁BlipもBlip-upと同じように連続で行うことができる.

blip-upとは異なり、壁blipは無限に繰り返すことができ、人為的に難しいジャンプを作り出す事が可能.

1.8より前:

 * 1.7.10までは、天井付きの一部ブロックを上れないというバグがあった. blipは1.8より前でも可能だが、このバグにより一部セットアップでは違った挙動をする可能性がある.


 * 1.8.0は1.8.1以降とは少し異なる（天井が検出された場合でもバウンディングボックスが0.6b下げられる）. この違いはblipには影響しないが、ジャンプキャンセルには影響する（1.8.0ではgrindingが不可能）.

1.9以降:
1.9でジャンプの高さが上がった（1.249から1.252）ためblipはやや影響を受けたが、仕組み自体は変わっていない.

1.9以降での連続blipでは、各ジャンプごとにY座標が0.121ずつ高くなる（以前は0.104）.


 * 3層の雪では1回blipできる → +0.121
 * リピーターでは2回blipできる → +0.242
 * カーペットでは3回blipできる → +0.363
 * スイレンの葉/カーペットでの4回blipは不可能になった.

1.14以降:
Blip-upと壁blipが修正された. 「通常」のblipはまだ機能するため、仕様であることが示唆される.


 * バウンディングボックスが下げられる距離が変更され、最大0.6mではなくプレイヤーの高さから垂直方向の速度を引いた値になった.


 * これにより、Blip-Downと呼ばれる、適切な条件下では地面より下に着地できるという新しいバグが発生した. blip-downを行うには、steppingの判定領域が地面に触れないよう外側に向かって動きながら、ブロック縁に着地し、steppingが可能な壁に衝突する必要がある.

1.15以降:
Blipで落下ダメージを打ち消せる場合がある（1.16で修正）.