形容詞
Property(性質)

形容詞的な働きをするテキスト。
BABAなどの名詞IS で接続されることにより、名詞にルールを追加する。

色つき背景の上に透明なテキストで書かれている(名詞と反対)

なお、このページが扱うのは BABA IS YOU タイプの後置型の形容詞のみ。
形容詞の英単語であっても他のタイプの単語は 文頭修飾語 のページにまとめてある。

以下の説明において
固体…STOP,PUSH,PULL属性によって付与される、その物体に重なれなくなる性質
進入禁止…STOP,PULL,STOPにつっかえたPUSH属性によって付与される、そのマスに侵入できなくなる性質
とする
また、特に記述がない限り、FLOAT, PHANTOM, SAFE, STILL, LOCKED, BROKENの効果は考えないものとする。



移動に関するもの

YOU(あなた)

  • YOUである物体は(PCのデフォルト設定では)矢印キーとWASDキーで上下左右に動かせる
    • 同時に入力すると見かけ上高速移動する
  • YOU物体が画面内に1つも存在しないと、BGMが変化する。ここで待機できる場合、全てのキーが待機ボタン扱いとなる。
    • 待機した結果、YOU物体が再び出現すれば操作を再開できる
  • (これはYOUの性質ではないが)待機してステージの状況が変わる場合、待機できる。待機できない場合、キー入力時のボッという音がならない。
    • ただし、BELTなど待機することでアニメーションが変化する物体は、待機できなくてもキー入力によりアニメーションが変化する

MOVE(動く)

  • 向いている方向に1マス移動する
  • STOPなどの進入禁止マスにぶつかると跳ね返って移動する
  • この効果は重複する
  • 詳細な処理は、CHILLの詳細を参照
バグ?
+ ...
  • Aが2つ以上のMOVE効果を受けているとき、下記条件では反転しない
    • 2回目の反転
    • PUSH物体を1マス以上押したとき

  • 以下の例では、2*「A IS MOVE」「ROCK IS PUSH」「WALL IS STOP」、Aは初め右向きとする
  • 例. 「壁 A 壁」という配置のとき
    • Aは1回だけ反転し、左を向く
  • 例. 「壁 無 A 壁」という配置のとき
    • Aは2回目は反転せず、左に1マスだけ移動する
  • 例. 「A 岩 無 壁」という配置のとき
    • Aは反転せず、右に1マスだけ移動する
  • 例. 「A 無 岩 壁」という配置のとき
    • Aは右に1マス移動し、反転して左に1マス移動する

SHIFT(移す)

  • 自身と重なっている物体を、自身の向いている方向に1マス移動させる
  • この効果は重複する
詳細
+ ...
  • 「A IS SHIFT」のとき、Aは1ターン内に次の2つの処理を行う
    • 通常移動時効果:Aは、自身と重なっている物体を、自身と同じ向きにし、その方向に1マス移動させる
    • 特殊移動時効果:Aは、自身と重なっている物体を、自身と同じ向きにする(移動はしない)
  • 前者の処理は、内部IDによらず同時に行われる
  • 後者の処理は、内部ID順で行われる
  • この処理のタイミングは、大雑把には次の通りである。詳細は「仕様・バグ関連」を参照
    • YOU→MOVE→前者SHIFT→ルール解析→変化処理→TELE→後者SHIFT→FALL

TELE(テレポート)

  • TELE状態のAに重なったAでない物体を、別のTELE状態のAへ瞬間移動させる
詳細
+ ...
  • TELE状態のAが1つだけなら効果はなく、3つ以上あるなら移動先がランダムになる
  • A AND B IS TELEの場合、A同士とB同士で瞬間移動を行い、AB間で瞬間移動を行うことはない
  • A AND B IS TELEのような状況で、1つのAと1つのBが重なっているとき、どちらのTELEが先に発動するかはルールが解釈される順番によって決まる

バグ?
+ ...
  • TELEオブジェクトAが特定の条件を満たす場合、その上のオブジェクトはTELEしない
    • 特定の条件とは、TELE直前のタイミングで、TELE移動・FALL移動・TELE以下の効果によって変更されるルール解釈を無視した場合に、A自身がSINK状態であることに伴う破壊以外の処理によってAが破壊される、という条件
    • 製作者は、このバグを修正するにはTELEを1から作り直さねばならないため修正する予定はない、と述べている
    • 下記の例では、本来TELEは破壊処理より前に実行されるが、それが実行されないことが確認できる
    • 例1. 「ICE IS TELE AND WEAK」の場合
      • このとき、iceに重なると、TELEされずその場のiceが破壊される
    • 例2. 「BABA IS YOU AND TELE」「SKULL IS DEFEAT」で、2体のbabaがいる場合
      • このとき、一方のbabaがskullに重なると、skullに重なった側のbabaが破壊される
    • 例3. 例2の条件下で、babaがiceに重なるタイミングでTELE効果によって「BABA IS SAFE」が完成した場合
      • このとき、一方のbabaがskullに重なってもTELE効果は発動されず、その後babaが破壊されることもない
    • 例4. 例2の条件下に加えて「BABA IS SAFE」が完成しており、babaがiceに重なるタイミングでTELE効果によって「BABA IS SAFE」が破壊される場合
      • このとき、一方のbabaがskullに重なると、TELE効果が発動し、その後他方のbabaが破壊される

SWAP(入れ替える)

  • SWAP物体との移動は入れ替え移動となり、進入禁止の影響を受けない
詳細
+ ...
  • SWAPによる移動はSWAP移動となり、以下の特徴を持つ
    • 移動した/された物体と位置が入れ替わる
    • STOP, PUSH, PULLの影響を受けずに移動する
    • TELE, FALL等の特殊な移動では発動しない
  • SWAP物体のAが非SWAP物体の(複数の)Bsに移動するとき、AとBsはSWAP移動となる
  • SWAP物体のAに非SWAP物体のBが移動するとき、AだけがSWAP移動となる(Aのマスに存在する他のオブジェクトはSWAP移動しない)
  • SWAP属性は自身の固体/PUSH属性を無効化する

FALL(落ちる)

  • 固体属性か境界にぶつかるまで下に一瞬で移動する
詳細
+ ...
  • FALL移動では、PUSH物体を押さず、進入禁止として扱う
  • FALL移動では、PULL物体を引かない(もちろん進入禁止として扱う)
  • FALL移動では、SWAPの効果が固体属性無効化のみとなり、SWAP移動の効果が発生しない
    • ただし、STILLによって固体属性無効化の効果を無効化できる
  • FALL移動時の移動時破壊効果に伴う移動結果は、下記のように扱う
    • FALL状態のAに対し、OPEN/SHUT, EAT, WEAKの対象Bが落下途中にあるBのあるマスへ通常の移動によって移動した(ただしSWAPは上記効果のみに制限して考える)場合を考える
      • AがBを破壊する(重なってからでもよい)場合、Bを破壊して下まで落下する
      • AがBを破壊せず、Bを押さずに重なる場合、Bを通り抜けて下まで落下する
      • AがBを破壊せず、Bを押してしまうか、Bのあるマスに移動できない場合、Bの上で止まる
例.
+ ...
  • FALL移動では、1マス毎に条件の更新を、落下しきった際はルールの再解析を行い、再解析後に新たにFALL可能な物体が存在する場合、再度FALL処理を行う
    • ただし、この処理は1度までであり、2回目のFALL移動により新たにFALL物体が登場しても、その物体はこのターンFALL移動しない
    • 200回を越えてルールが解析された場合、特殊演出が発生する
  • FALL移動は内部ID順に行われ、また全てのFALL物体がFALLできなくなるまで繰り返し行われる
    • もし固体の物体が重なっている場合、それらを同時にFALLにさせて分離することができる
  • エディタでは向き付きFALLが存在する
    • 反対方向のFALLが共に適用されている場合、適用数の多い方向にFALL移動する
    • 反対方向のFALLが共に同数適用されている場合、どちらの方向にもFALL移動しない
    • FALL方向の打消し処理後、DOWN, RIGHT, UP, LEFTの優先度でFALL移動を行う
      • この処理は、適用方向にFALL移動できなくなるまで、繰り返し行われる
  • 例.(以下、KeyとDoorはFALLの落下途中にあるとする)
    • KEY IS FALL、KEY NEAR DOOR IS OPEN、DOOR IS SHUT
      • Doorは破壊される
    • KEY IS FALL、KEY NEAR DOOR IS WORD、[Key] IS OPEN、DOOR IS SHUT
      • Doorは破壊されない
    • KEY IS FALL、KEY NEAR DOOR IS POWER、POWERED KEY IS OPEN、DOOR IS SHUT
      • Doorは破壊される
    • KEY IS FALL、KEY IS OPEN、DOOR NEAR KEY IS SHUT
      • Doorは破壊される

STOP(止まる)

  • その物体は固体となり、STOP物体と同じマスに移動して進入できなくなる
  • 以下の形容詞によって、その効果を失う
+ ...
  • STOP物体がPUSHでもあるとき(PUSH効果が優先される)
  • STOP物体がSWAPでもあるとき(SWAP効果が優先される)
  • OPEN/SHUTで、一方が他方(STOP)に移動し、その効果が発動するとき
  • EATで、捕食者が被食者(STOP)に移動し、その効果が発動するとき
  • 他の物体がWEAKを持つSTOP物体に移動し、その効果が発動するとき

PUSH(押す)

  • その物体は固体となり、PUSH物体と同じマスに移動して進入できなくなる
  • PUSH物体と同じマスに他の物体が移動して進入した場合、PUSH物体は進入してきた物体が動いた方向と同じ方向に移動する
  • 複数のPUSH物体が進行方向の一直線上に並んでいる場合、同時に押すことができる
  • PUSH物体が押せない場合はSTOP物体として振る舞う
詳細
+ ...
  • PUSH物体を押したときの移動タイミングは、押した物体が移動するタイミングと同じである
  • PUSHとSTOPが適用される場合、PUSHとして振る舞う
  • PUSHとSWAPが適用される場合、SWAPとして振る舞う
  • PUSHとWEAKを同時に適用した場合
    • PUSH物体が押せる場合はPUSHとして、それが移動できない場合はWEAKとして振る舞う

PULL(引っ張る)

  • その物体は固体となり、PULL物体と同じマスに移動して進入できなくなる
  • 他の物体がPULL物体と隣接した状態で隣接面の反対方向に移動したとき、追随して移動する
  • 複数のPULL物体が進行方向の反対方向に一直線上に並んでいる場合、同時に引くことができる
詳細&バグ?
+ ...
  • PULL物体を引いたときの移動タイミングは、引いた物体が移動するタイミングと同じである
  • PULL物体の移動先が固体のとき
    • そのPULL物体が連続したPULL物体の先頭である場合、それがたとえSWAP属性を持っていたとしても移動しない(WEAK効果を発揮しない)
    • そのPULL物体が連続したPULL物体の2つ目以降である場合、移動先が固体かどうかによらず移動する
  • 1ターンに同方向に複数マス移動する場合(形容詞が異なってもよい)、連続したPULL物体の3つ目以降の物体は、1マスしか移動しない
  • PULL物体を挟むようにして移動し、かつ移動時の破壊が起こりそうな状況である場合、正常な挙動をしない

本編未使用語句
+ ...

SELECT(選ぶ)

  • PATH設定されているオブジェクト(通常はLINEやLEVEL)の上を移動キーによって移動する
  • レベルメタデータの存在するレベルの上で決定キーを押すことで、そのレベルに侵入する
  • 固体のオブジェクトの上でも通ることができる
  • この移動が他のオブジェクトに影響を及ぼすことはない
  • ちなみにPATH設定は、各マスのこのオブジェクトに設定する、という形をとっている
    • そのため同じオブジェクトでPATHの設定/非設定を混在させたり、複数のオブジェクトに設定をしたりすることが可能
    • やろうと思えば、レベルをクリアするとルールが表れる、ということも可能

YOU2

  • 操作設定で設定されている2番目の移動キーによって移動する
    • このとき、YOU物体は2番目の移動キーでは移動できなくなる
  • 他の処理はYOUと同様
  • レベルが自動で進行する場合、YOUと同時に動かせる
    • そうでない場合、たとえ1番目と2番目の移動キーを同一に設定しても、同時に移動はしない

AUTO (自動で)

  • 向いている方向に1マス移動する
  • MOVEと違い、進入禁止にぶつかっても跳ね返らずに移動しようとする
    • その性質上、進行方向が壁の場合、WEAK物体は破壊される
  • 詳細な処理は、CHILLの詳細を参照

CHILL(怖気づく)

  • 方向をランダムに決めた後、MOVE移動を1マス行う(跳ね返りが存在する)
  • 上記性質上、ルールを重ねても斜めには移動しない

詳細
+ ...
MOVE, AUTO, CHILLを同時に適用したときは、以下のように処理される
  • これらは同一移動タイミングで処理され、1つの「移動方向」と1つの「移動量」しか持たない
  • 「移動方向」は、CHILLに依存する。CHILLが適用されていなければ、自身と同じ向きである
  • 「移動量」は、適用されている合計の個数である
  • 「反転可否」は、MOVE > AUTO > CHILLの優先度で決定される。すなわち
    • MOVEが適用されているとき、またはAUTOが適用されていないときは壁で跳ね返る
    • MOVEが適用されておらず、AUTOが適用されているときは、壁で跳ね返らない
LOCKEDと共に使用した場合は不思議な挙動をする。詳細はLOCKEDを参照

NUDGE UP/DOWN/LEFT/RIGHT(小突く ↑/↓/←/→)

  • 向きを変えずにその方向に1マス移動する
  • 異なる方向を同時に適用した場合、RIGHT, UP, LEFT, DOWNの優先度で移動する

REVERSE (反転する)

  • その物体が移動する際、移動方向を反転する
詳細
+ ...
  • その物体のYOUs, MOVE, SHIFT, AUTO, CHILL, NUDGEs, FEAR, FALLsによる移動を、向きはそのままに反転させる
  • この効果は重複し、ちょうどNOTと似たような挙動をとる
    • 偶数個適用されている場合は通常と同様、奇数個適用されている場合は反転移動となる
  • PUSH, PULL, SWAPによって引き起こされた移動に対しては作用しない
  • LOCKEDsは、反転後の移動に対して判定を行う
例.
+ ...
  • BABA IS MOVE, BABA FACING UP IS REVERSE, BABAは上向き
    • BABAは上を向いたまま、壁にぶつかるまで下に移動する
    • 壁にぶつかると、それ以上移動せずに上と下を交互に向く
これは以下の挙動に基づくと推測される
  • BABAが下向きで壁に隣接しているとき
    • MOVE移動の反転処理を行う
      • babaが上を向き、反転済みフラグがtrueになる
    • REVERSE文が成立し、前進方向が逆転する
    • MOVE移動の前進処理を行う
      • babaは上を向いたまま下に移動しようとするが、下方向は壁でかつ反転済みフラグがtrueのため、反転もせずその場に留まる
  • BABAが上向きで壁に隣接しているとき
    • REVERSE文が成立し、前進方向が逆転する
    • MOVE移動の反転処理を行う
      • babaは反転して下を向き、反転済みフラグがtrueになる
    • REVERSE文が未成立となり、前進方向が正常に戻る
    • MOVE移動の前進処理を行う
      • babaは下を向いており下に移動しようとするが、下方向は壁でかつ反転済みフラグがtrueのため、反転もせずその場に留まる

STILL(静止した)

  • その物体のBACK以外の全ての移動を無効化する
    • 向きは変化する
    • その性質上、PUSHやPULLはSTOPとして振る舞う
  • SWAPの進入禁止無効化を無効化する
  • これによって移動を禁止した場合、MOVEの反転効果やWEAK効果は発生しない

LOCKED UP/DOWN/LEFT/RIGHT(制限された ↑/↓/←/→)

  • STILLを特定の方向に制限した形容詞
  • STILLと異なり、SWAP, TELE, SELECTの移動は無効化しないが、SWAPの進入禁止無効化は無効化する

バグ?
+ ...
重ね掛けしたCHILLは、LOCKEDに対して反直感的な挙動をする
CHILLの処理は、以下のようになっている。
  • CHILLの個数だけ、次の処理を繰り返す
    1. 「移動方向」をランダムに決める
    2. 「移動方向」と「LOCKED方向」が異なる場合、次の処理を行う
      1. 「移動量」を1可算する
という処理を行う
よって、移動量が増加せずとも、移動方向が更新される場合があるため、LOCKED方向に移動する場合が存在する
例.
+ ...
「KEKE IS CHILL AND CHILL AND CHILL AND LOCKEDRIGHT」のとき
  • kekeが始め右を向いているとき
    • 上、左、下のいずれかの方向に1~3マス、右の方向に1~2マス移動する
  • kekeが始め右以外を向いているとき
    • 上、左、下のいずれかの方向に2~3マス、右の方向に0~2マス移動する

固体のSWAPは、LOCKEDに対して反直感的な挙動をする
  • 「A IS LOCKEDRIGHT AND SWAP AND (PUSH or PULL)」のとき
    • 左方向からAに侵入することができない
    • 右・上・下方向からAに侵入することができる
    • 右方向からAに侵入すると、Aは右方向にSWAP移動する

LOCKEDのレベル全体はLOCKEDのオブジェクトと一部異なる挙動をとる
  • PUSH, PULLによる移動を防がない
  • YOU, YOU2に対して、向きの変化も防ぐ
  • レベルがLOCKED方向を向いているとき、全ての方向のNUDGEとFALLが防がれる

BACK(戻る)

  • A IS BACKが完成した次のターンから、そのターンを基準に、Aの位置、向き、変化を逆再生する
詳細
+ ...
  • 参照する過去について
    • Aが既に存在するとき、n-1ターン目にA IS BACKを完成させると、n+kターン目にn-kターン目の過去を参照する(k≧0)
    • 「A IS BACK」成立中にAが変化・生成されたとき、そのターンをn-1ターン目として、n+kターン目にn-kターン目の過去を参照する(k≧0)
      • 上記特性により、参照する過去のターンはオブジェクト依存である
    • A IS BACKを完成させたターンにはBACKの効果は発生しない

以下、BACKで参照されるターンがkターン目であり、AがBACK状態であるとする。
  • 位置の逆再生
    • k-1ターン目とkターン目のAの位置が異なるとき、Aはkターン目の位置にワープする
    • これによる移動は、移動に付随する効果を起こさない
    • これによる移動は、STILL, LOCKEDsによって無効化されない
  • 向きの逆再生
    • k-1ターン目とkターン目のAの向きが異なるとき、Aはkターン目の向きに変化する
  • 変化の逆再生
    • k-1ターン目からkターン目にかけて「B IS A」等で新しくAに変化する物体が存在するとき、そのAは元の物体に戻る
    • この処理は、「A IS A」や「A IS NOT B」の効果を受けない
  • 生成の逆再生
    • k-1ターン目からkターン目にかけて「B HAS/MAKE A」等で新しくAが生成されたとき、そのAは消える
    • この処理は、「A IS NOT EMPTY」の効果を受けない
  • エフェクトの発生
    • BACK可能なターンが残っている(k≧0)場合、?エフェクトをだす

+ ...
1ターン目に座標(1,1)、2から7ターン目に座標(1,2)、8ターン目に座標(1,3)の履歴を持つkekeに対し、9ターン目に「KEKE IS BACK」を成立させた。
また、5ターン目に「KEKE IS DOWN」を成立させ、kekeの向きを右向きから下向きに変化させた。
  • 9ターン目はBACK効果は発生しない
  • 10ターン目は10ターン目に対しBACK効果が発動する
    • このターンにkekeを動かすと、そのターンのBACK効果が発動し、元の位置に戻る
  • 11ターン目は、9ターン目に対しBACK効果が発動する
    • このターンkekeは動いていないため「位置の逆再生」が発生しない
      • そのためkekeを自由に動かすことができ、動かしても座標(1,3)にワープしない
  • 12ターン目は、8ターン目に対しBACK効果が発動する
    • このターンにkekeを動かしても、移動後に座標(1,3)にワープする
  • 13ターンから17ターン目は、7ターンから3ターン目に対しBACK効果が発動する
    • このターンの間kekeは動いていないため「位置の逆再生」が発生しない
      • そのためkekeを自由に動かすことができ、この6ターンの間kekeは座標(1,2)にワープしない
    • 15ターン目のみkekeの向きが変化しているため「向きの逆再生」が発生する
      • これは、位置に影響は与えず、向きのみを右向きにする

何故このような不可思議な挙動になるか
+ ...
BACKはUNDOリストを元に作られている。
このUNDOリストは、負荷軽減のため、今までのターンの全てのオブジェクトの履歴を保存してはいない。
大雑把に言って、次の4パターンで保存している。(レベル等例外あり)
  • 位置が変化したオブジェクトに対して、組(種類:位置,変化前の位置:(x,y))
  • 向きが変化したオブジェクトに対して、組(種類:向き,変化前の向き:dir)
  • 新しく変化したオブジェクトに対して、組(種類:変化,変化前の物体:xxxx)
  • 新しく生成されたオブジェクトに対して、(種類:生成)
そのため、ターン前後で変化のないオブジェクトはそもそもUNDOリストに記録されていないため、BACK効果が発動しない
(そのようなオブジェクトに対してはUNDOではなくBACKの処理として前ターンの位置等を参照してワープさせるようにすればいいと思うがなされていない
他のバグを誘発してしまうのかもしれない)

PHANTOM

  • 「A IS PHANTOM」でAが移動するとき、移動方向の相手との処理を無効化する
    • Aは進入禁止マスやレベル境界に侵入できる
    • Aは移動方向の相手を移動させない
    • Aは移動方向の相手と移動時の破壊が行われない
詳細
+ ...
  • AはPUSH状態の物体を押さないが、PULL状態の物体を引くことができる
  • AがSWAP状態の物体に侵入するとき、SWAP移動は行われる
  • AがSTOP, PUSH, PULL状態であるとき、それらの効果は発揮される
  • AがSWAP状態であるとき、移動時の位置入れ替え効果は発揮されないが、自身の固体属性を無効化する効果は発揮される
  • Aが移動するとき、OPEN/SHUT, EATによる移動時の破壊は起こらない

HOLD(抱える)

  • 没単語、エディターで使用不可
    • ヘルプからネタバレ単語表示をONにしても表示されず、拡張機能で名前を「text_hold」にしても効果が出ない。
    • プログラムはmuseum内のluaファイルに存在するためレベルパックでなら実装できるだろうが、UNDO絡みでバグがあるため改修が必要。
  • HOLD状態のオブジェクトに重なっている全てのオブジェクトは、HOLD状態が移動しないときSTILL状態となる
  • HOLD状態のオブジェクトに重なっている全てのオブジェクトは、HOLD状態が移動するとき共に移動する
例.
「ICE IS TELE」「HAND IS HOLD」のとき、holdに重なっている一方のiceは、holdがTELEされると共にiceも移動し、他方のiceに重なる


破壊に関するもの

WIN(勝つ)

  • YOU物体がWIN物体と重なると、レベルをクリアする
  • YOUかつWINである物体が存在する場合、レベルをクリアする

DEFEAT(負ける)

  • YOU物体がDEFEAT物体と重なると、YOU側だけ破壊される
  • YOUかつDEFEATである物体は破壊される
  • DEFEAT処理はWIN処理の前に行われる

SINK(沈む)

  • SINK物体に1つ以上の物体が重なると、そのマスに重なっている全ての物体が破壊される

HOT(温かい)・MELT(溶ける)

  • HOT物体とMELT物体が重なると、MELT側だけ破壊される
  • HOTかつMELTである物体は破壊される

OPEN(開ける)・SHUT(閉じる)

  • OPEN物体とSHUT物体が重なろうとすると、共に破壊される
  • OPEN物体とSHUT物体が重なると、共に破壊される
  • OPENかつSHUTである物体は破壊される
詳細
+ ...
A IS OPEN AND STOP, B IS SHUT AND STOPとする
  • AとBが重なろうとする場合
    • AがBに向かって移動すると、移動する前に破壊処理が行われ、AはBの位置に移動する
    • 以下の場合は、移動することができず、破壊処理も発生しない
      • A,BのFLOAT状態が異なる
      • A,B以外の物体によって移動先のマスに進入禁止効果がある
      • A,Bの両方がSAFE状態
    • AとBが複数重なっている場合、どちらかがなくなるまで繰り返し行われる
    • この処理はOPENとSHUTを入れ替えても成り立つ
  • AとBが重なっている場合
    • 1つのAと全てのBが破壊される
  • A IS OPEN、EMPTY IS SHUT、A HAS Bの場合
    • 重なったAsが無に移動すると、全てのAが破壊され、1つのBを生成する

WEAK(弱い)

  • 自身の固体属性を無効化する
  • 他の物体と重なる、もしくは進入禁止マスに向かって移動すると破壊される
詳細
+ ...
  • MOVEによる反転では、WEAK効果は発生しない
  • PULLの固体による分離では、WEAK効果は発生しない
  • PUSHかつWEAK状態の物体は
    • 別のマスに押せる場合は、WEAK効果は発生せずに押せる
    • STOP物体に押し当てた場合、FLOAT状態に関わらず破壊される
  • STOPかつWEAK状態の物体は
    • FLOAT状態が等しい場合、自身への進入を許すが、移動時には破壊されない
    • FLOAT状態が異なる場合、移動できず、破壊されない

FLOAT(浮く)

  • FLOAT状態の異なる物体同士は、同じマスにあっても重なったとみなされない
  • FLOAT状態の等しい物体同士は、同じ高さにあると見なされ影響する
  • OPEN/SHUT, EATは、移動時の処理もFLOATの影響を受ける
  • STOP, PUSH, PULL, SWAPは、FLOATの影響を受けない
  • ON, LONELY等の前置詞や文頭修飾語の判定は、FLOATの影響を受けない
  • 1つのルールの中にFLOAT状態の異なるテキストが存在しても、ルールの解釈に影響を与えない

本編未使用語句
+ ...

BOOM(ドーン(爆発音))

  • この形容詞を受けている物体は破壊される
    • その際、この形容詞がn個重ね掛けされているとき、BOOM物体からx座標とy座標の差が共にn-1以下の正方形領域内の(FLOATやSAFEでない)全ての物体を破壊する
    • 言い換えれば、自身を中心とする、一辺(2n-1)マスの正方形領域である

SAFE(安全である)

  • 物体が破壊される動作が起きた場合でも破壊されなくなる
詳細
+ ...
  • A IS SINKで、AとBが重なるとき
    • AだけがSAFE状態のとき、SINK効果は発生し、Aが残る
    • BだけがSAFE状態のとき、SINK効果は発生し、Bが残る
    • 共にSAFE状態のとき、SINK効果は発生しない
    • 共にSAFE状態でさらに別の物体Cが重なるとき、SINK効果は発生し、AとBが残る
  • A IS OPEN, B IS SHUTのとき
    • 一方がSAFE状態のとき、SAFEでない方が一方的に消える
    • 両方がSAFE状態のとき、お互いへの移動はOPEN/SHUTがないものとして振る舞う
  • A IS WEAKのとき
    • AがSAFE状態のとき、重なったときの処理はWEAKがないものとして振る舞う
    • 移動時の処理は特殊
      • PUSH処理、PUSHできずにつっかえる処理は残る
      • PULLやSTOP、PUSH AND STILLによる進入禁止の処理は消える
  • A IS BOOMのとき
    • AがSAFE状態のとき、毎ターン爆発し続ける
    • SINKと違い、そのマスにある全ての物体がSAFEであっても、BOOM効果は発生する(全て残る)
  • A EAT Bのとき
    • BがSAFE状態のとき、A EAT Bがないものとして振る舞う
  • MELTやDEFEATのとき
    • 破壊効果は発生しなくなる
  • DONEやBONUSに対して
    • 防げない
  • この効果で生き残っても、それはA HAS Aで生き残った場合とは異なる

エフェクト・色・向き

BEST(最高)

  • 光るエフェクトを出す。実はWINよりも光っている
  • 光り方がWINと紛らわしいが意味は無い

SLEEP(眠る)

  • 静止する。一部の物体には特殊グラフィックが用意されている
    • ベルトのようにアニメーションが存在する物体は、そのアニメーションを止める
  • YOU, MOVE, AUTO, CHILL, NUDGE, FEAR、FOLLOWの向き変化と移動効果を無効化する

RED(赤い)・BLUE(青い)

  • オブジェクトの色を変える
  • 赤は通常KEKEの色と同じ

UP(↑)・DOWN(↓)・LEFT(←)・RIGHT(→)

  • 物体の向きを上下左右に変える
詳細
+ ...
  • このルールを適用したまま移動すると、外見上向きを変えずに移動しているように見えるが、内部的には移動直後からこのルールの適用タイミングまでは向きが変わっている
  • このルールを複数適用すると、ルール数が最も多い方向を向く
  • ルール数が最も多い方向が複数ある場合、Aの右手、後方、左手、正面を順に調べ、最初に合致した方向を向く
    • この仕様上、全方向を適用すると、毎ターン90°時計回りに回転する(TURN RIGHTと同じ処理)

本編未使用語句
+ ...

TURN RIGHT/LEFT(回転する ←/→)

  • 今向いている方向から90°右/左を向く
  • この効果は重複する / 打ち消し合う

SAD(泣く)・WONDER(考え始める)・PET(ペット)・PARTY(パーティ)

  • BEST同様、エフェクトを出す。ただそれだけ
    • SAD:涙が飛び散る
    • WONDER:?マークが出る
    • PET:物体を撫でる手が出る
    • PARTY:紙吹雪が散る

(RED), ORANGE, YELLOW, LIME, GREEN, CYAN, (BLUE), PURPLE, PINK, ROSY, BLACK, GRAY, SILVER, WHITE, BLOWN

  • RED, BLUE同様、オブジェクトの色を変える
  • 紫は通常MEの色と同じ
  • ローズは通常GHOSTの色と同じ
  • 複数の色を指定すると、上記の順番で周期的に変化する
  • RED, BLUE以外は本編では未使用


その他

MORE(もっと多く)

  • 毎ターン、自身と上下左右に隣接するマスに、自身と同じ物体を生成する
    • 固体(PUSH, PULL, STOP)の物体が存在しているマスには生成しない
      • 固体の物体がSWAP, WEAK等で固体属性無効化効果を受けていても生成されない
    • 既に自身が存在しているマスには生成しない
  • 移動しているわけではないので、生成時にPUSH物体を押すことはできない

WORD(単語)

  • 物体をルール上で名詞として使用できるようになる
  • 先に「(物体を示す名詞) IS WORD」で定義する必要があるため、物体 IS WORDのみでは機能しない
バグ?
+ ...
  • 「X IS WORD」の条件に向きが関わるとき、正しく機能しない
    • 例として、FACINGを用いる場合、GROUP/POWEREDに対応する物体がFACING条件を持つ場合がある
  • WORD物体が連鎖してWORD状態になるとき、正しく機能しない
    • 例として、「BABA AND keke IS WORD」「KEKE AND me IS WORD」「ME AND baba IS WORD」のような構成のときである

本編未使用語句
+ ...

POWER(電力を送る)

  • レベル内にPOWER状態のものが存在するとき、文頭条件POWEREDが真になる
  • POWER2、POWER3は、それぞれレベル内にPOWER2、POWER3状態のものが存在するとき、文頭条件POWERED2、POWERED3が真になる

BROKEN(壊れている)

A IS BROKEN
  • Aが主語となっているBROKENとMIMIC以外の全てのルールを無効化する
  • Aが補語となっている下記のルールを無効化する
    • X EAT A
    • X FEAR A
    • X FOLLOW A

REVERT(元に戻す)

  • その物体を初期状態(生成時の物体)に戻す
    • この効果は、「A IS A」で無効化できる
  • この効果は重複しない
  • この効果は変化処理「A IS B」「A WRITE B」より優先される
詳細
+ ...
A IS REVERT
  • Aは、自身の内部IDを参照し、内部IDに固有に割り振られた「REVERT先:B」に変化する
    • この変化は、AがB自身であるとき、または「A IS A」で無効化される
      • 「A IS A」で無効化した場合、「A IS NOT A」で再有効化される
    • この変化は、「A IS NOT B」では無効化されない
    • この効果は重複しない
  • 「A IS B AND REVERT」のようにIS変化とREVERT変化が同時に適用された場合
    • REVERT変化が発生する場合は、IS変化は行われない
    • REVERT変化が発生しない場合は、IS変化を行う
    • 上記のIS変化には、「A IS NOT A」による消失処理を含む
    • 正確には、毎ターン各オブジェクトについて「変化リスト」が構成されるのだが、REVERTは常にこのリストの先頭に代入され、変化リストを参照する際に、REVERT処理が見つかった時点でループを終了する処理をしている。このため、上記のようなIS変化の無効化やREVERTの重複しない仕様が発生する。

  • 「REVERT先」の設定
    • Aがステージ開始時に存在する場合、自身のREVERT先にAを設定する
    • 「X HAS A」や「X MAKE A」によって生成されたAは、自身のREVERT先にAを設定する
    • 「A IS MORE」によって生成されたAは、自身のREVERT先にAを設定する
    • 「EMPTY IS A」によって生成されたAは、自身のREVERT先に無を設定する
  • 「REVERT先」の引継ぎ
    • Aが「A IS B AND C」や「A IS ALL」等によって別の物体に変化しても、REVERT先はAと同一である
    • Aが「A IS REVERT」や「A IS BACK」等によって別の物体に変化しても、REVERT先はAと同一である

以下、A1, B1のREVERT先をB2とし、A1はB2と異なる種類の物体、B1はB2と同じ種類の物体とする
  • 例. 「A IS C AND REVERT AND REVERT」
    • A1にREVERT処理が発生し、A1は1つのB2に変化する
  • 例. 「B IS C AND C AND REVERT」
    • B1にはREVERT処理が発生せず、B1は2つのCに変化する
  • 例. 「B IS REVERT」、B1=テキストの"BABA"、B2=テキストの"KEKE"
    • この場合異なる種類の物体と解析され、B1はB2に変化する
詳細(v433dでの仕様、現在は修正済み)
+ ...
結論
  • 怪しい処理の挙動を大雑把に述べると
    • 多重変換してできるオブジェクトの一方は、REVERTが適用されると、自身が「多重変換元のオブジェクト」でないとき、「多重変換元の確認対象オブジェクト」に変化する
      • ここでいう「多重変換元の確認対象オブジェクト」とは、多重変換元のオブジェクトが「自身が『◯◯』でないとき『××』に戻る」というREVERT処理を行うときの、「◯◯」にあたるオブジェクト
  • 以下、その詳細な処理を述べる
内部IDの割り振られ方
  • 「A IS B」のように1:1の変化では、内部IDは引き継がれる
  • 「A IS B AND C」のように複数に変化する処理では、1つが元の内部IDを引継ぎ、残りは新しく割り振られる
  • 新たに生成された物体に対しては、内部IDは新しく割り振られる
    • 「HAS」・「MAKE」・「IS ALL」・「IS MORE」・無の変化等が該当する
  • 「A IS B AND REVERT」のようなIS変化とREVERT変化を同時に適用すると、REVERTを優先して処理する
    • もしREVERTが無効だった場合、AからBへは見た目上1:1の変化だが、内部IDは新しく割り振られる
  • UNDOでも内部IDは変わるが、revert情報は問題なく復元される(恐らく)
revert情報について
  • 全ての物体は、内部ID:idに応じたrevert情報、rootとparentを持つ
    • ここでのroot・parentには、オブジェクト名が入る
    • 一度設定されたrevert情報が、後で変わることはない(内部IDが変われば変わる場合はある)
    • 内部的にはそれぞれname、fromという名で保持されているが、オブジェクト名自体を指す場合との混同を恐れ、名称を変更した
revert情報の割り振られ方
  • レベル開始時に存在するか、HAS、MAKE、MOREで生成された物体は、revert情報rootとparentに、共に自分自身を設定する
  • 無から変化・生成した物体は、revert情報rootとparentに、共に無を設定する
  • 「A(通常名詞) IS ALL」により生成された各物体は、Aのrevert情報を引き継ぐ
  • 「TEXT/LEVEL IS ALL」により生成された各物体は、revert情報rootとparentに、共に自分自身を設定する
  • 「A IS B」の変化でかつ内部IDを引き継がない場合は次のように設定する
    • id.root = oldid.parent
    • id.parent = A
    • ただし、Aの内部IDをoldid、Bの内部IDをidとする
処理
  • 内部ID:idの物体Xは、自身がid.parentでないとき、REVERTにより、id.rootに変化する
    • idの物体Xは、自身がid.parentでなく、id.rootであるとき、同じ物体にREVERTする。すなわち「X IS Y」や「X IS NOT X」の変化・消失処理を無効化する。
    • idの物体Xは、自身がid.parentでなく、「X IS NOT id.root」によってid.rootへの変化を禁止されているとき、REVERTしようとして失敗する。すなわち「X IS Y」や「X IS NOT X」の変化・消失処理を無効化する。
      • これは、プログラムがREVERT処理を実行すると決めつけ変化処理を切り捨てた後に「X IS NOT id.root」のチェックで変化するかどうかの確認をしているため。「X IS NOT REVERT」や「X IS X」の場合は、そもそもREVERT実行ルートに入らないので、変化・消失処理の無効化は行われない。
例1.
IS変換で、A→B→C→D/E→F/FとIS変化させた後に
「F IS REVERT」「A IS C」「C IS B AND REVERT」「A AND B IS F」「F IS REVERT」
と順にルールを適用すると
F/F→A/A→C/C→A/B→F/F→A/C
と変遷する。
内部IDが変化している側のオブジェクト、すなわち
A→B→C→E→F→A→C→B→F→C
と変遷しているオブジェクトのrevert情報を追うと
(root, parent)
  1. A:(A, A) "A IS B"
  2. B:(A, A) "B IS C"
  3. C:(A, A) "C IS D AND E" 内部IDが新しく割り振られ、revert情報が変化
  4. E:(A, C) "E IS F"
  5. F:(A, C) "F IS REVERT" F≠Cのため、REVERTが適用され、Aに変化する
  6. A:(A, C) "A IS C"
  7. C:(A, C) "C IS B AND REVERT" C=Cのため、REVERTが適用されず、Bに変化。このとき内部IDが新しく割り振られ、revert情報が変化
  8. B:(C, C) "B IS F"
  9. F:(C, C) "F IS REVERT" F≠Cのため、REVERTが適用されて、FはCに変化
  10. C:(C, C)
例2.
  1. A:(A, A) "A IS B AND C"
  2. C:(A, C) "C IS D AND E"
  3. E:(C, E) "E IS C"
  4. C:(C, E) "C IS REVERT AND NOT C"
  5. C:(C, E)
最後の処理では、C≠Eのため、REVERTが適用されて、CはCに変化する
REVERT処理が行われるとき、他のIS変化処理は無効化されるため、C IS NOT Cが無効化される


特殊

ネタバレ注意
+ ...

HIDE(隠す)

  • 見えなくなる
  • TEXTがHIDE物体になっている場合、ポーズ画面でも定義が見えなくなる
  • TEXT ON X IS HIDEなどで一部の文章だけが見える場合、ルール画面でもそのルールのみ見える
  • 完全にルールがない場合はポーズ画面では何も表示されないが、HIDEで見えなくなっている場合はRULES:と表示されている
  • レベルアイコンとSELECT物体はHIDEの影響を受けない
  • PATH設定されたオブジェクトがHIDE状態の場合、SELECT物体がその上に移動することはできない

BONUS(ボーナス)

  • BONUS物体がYOU物体と重なるとBONUS物体が破壊され、ボーナスを仮取得する
  • BONUS物体がYOU物体でもあるとき、その物体は破壊され、ボーナスを仮取得する
  • ボーナスを仮取得した状態でレベルをクリアすると、ボーナスを正式に取得する
  • ボーナスを仮取得した状態でレベルをクリア以外の手段で脱出すると、仮取得したボーナスは削除される
  • ボーナスを仮取得した状態でボーナスを仮取得したターンをUNDOすると、仮取得したボーナスは削除される
  • セーブデータにORBのアイコンが表示される(カスタムレベル)

END(終了)

  • ゲームエンド
  • カスタムレベルパックでは、同時にクリア扱い
  • セーブデータにBABAのアイコンが表示される(カスタムレベル/カスタムレベルパック)

DONE(完了・用済み)

  • 物体を削除する
  • ALL IS DONEで裏END
  • カスタムレベルパックでは、同時にクリア扱い
  • セーブデータにFLAGのアイコンが表示される(カスタムレベル/カスタムレベルパック)

本編未使用語句
+ ...

3D

  • 80年代の3DダンジョンRPG風視点になる
  • 3D単体でYOUと似た効果を持つ
    • 上キーで前進、左右キーで方向転換
    • 複数のオブジェクトが3D属性を持っている場合、下キーで操作対象を変更できる。同時に操作できるのは1キャラのみ

  • オブジェクトのZレベルによって、3Dビュー上での表示が変化する
    • 0~10:床として平面状に表示される
    • 11~20:壁として立体的に表示される
    • 21~30:非3D時と同じく、画面上に常に表示される。3Dビュー上では非表示になるが干渉はできる

  • 「YOU」と「3D」を同時に適用すると、不思議な挙動をとる
    • YOUの向き変化→3Dの向き変化(回転)→YOU/3Dによる移動(最大1マス)、という挙動にも見えるが、他にもおかしい点が多々ある
      • この関係上、左/右/下キーは全て下に移動する(左を向いて左回転し前進、右を向いて右回転し前進、下を向いて前進しキャラ変更?)

タグ:

+ タグ編集
  • タグ:
最終更新:2024年06月11日 18:35
添付ファイル