青鬼6.23RTAの話
突然ですが、青鬼 というゲームがあります。
ウェブ上で無料配布されている謎解き型ホラーゲームです。青い謎のオバケから逃げ回って探索をしていきます。
私は数年前からこのゲームのRTA(リアルタイムアタック)をやっておりまして、それに必要な技術について少し考察したのでここに述べておきます。
青鬼は先述の通り鬼から逃げるゲームでもあるのですが、その中のワンシーンに 地下牢 が登場します。
この中に落ちている鍵 (光っているものがそれです) を拾うと、下の扉から青鬼が入ってきます。しかし彼 (?) は牢の扉を開けることができず、しばらく放っておくと突然画面が切り替わり鬼の顔がアップになって鉄格子を揺らしてくるシーンが挿入されます。
初見の人をビビらせるシーンの一つであり、実況プレイ動画では名物となっています。
しかしタイムアタックをやるうえではこのような演出を待っていては大幅なタイムロスになります。したがって、鬼が入ってきたらすぐに牢の扉を開け、檻の中でうまく鬼をかわして出ていく必要があるわけです。
さて言葉を定義しましょう。まず檻の中の面積は マスあります。今からここに離散的な座標を振っていきます: 左上のマスを とし, 右下のマスを とおきます。上の画像でひろし (主人公) が立っているのは ですね。
鬼を檻の中でかわすには、檻の中の一番外側をぐるっと回るのが一番確実だというのが容易に推測できます。扉の目の前は ですから、扉を開けたらすぐに右へ走り、 についたら鬼を引き付けながら上へ走って へ、そこから左に走って に着き、真下へ向かって脱出という具合です (下記動画の 3:43 からがわかりやすいです。当然ながらホラー注意。)
【青鬼TA】営業成績一位の男にガチ実況させてみた コメント有
この脱出方法では、ひろしが面積 の長方形の外周を走って逃げていると考えられます。こういった脱出方法を ]-type と呼ぶことにしましょう。
より一般に、面積 の長方形の上を逃げる方法を ]-type と定めます ()。また、整数 に対し ]-type で実際に逃げ切れる場合 は檻脱出問題の解である ( gives a solution of the escaping-in-jail problem) と呼ぶことにします。
さて、以下のような問題が考えられます:
[檻脱出問題の minimal solution]
檻脱出問題の解となる の最小値はいくらか?
は明らかに解になりえないので、 かつ を仮定します。
上記の結果 (王定六, 2011) より という解が与えられました。しかしこれは最小ではなく、青にいと (2015) によってより強い評価が得られました:
檻脱出問題には解 が存在する。
証明はこちら:
なお、青にいと氏の上記動画は青鬼 6.23のタイムアタックで現行最速となっています。
そして以下が私の主定理です:
檻脱出問題には解 が存在する。
証明はこちら:
仮定より、 の評価が最も強いので、檻の中での回避の最短ケースもこれで確定しました。