#SP_LASH_ 解説 + 裏話
灘校文化祭の「文化祭からの脱出」サークルの一企画として、SP_LASH_ という Twitter 上での全体戦が行われました。
僕は LINE bot のシステム開発と一部の問題作成を担当していました。
その SP_LASH_ の解説と裏話を書いていこうと思います。
解説
5/3 の 9:00 に文化祭からの脱出の公式アカウントから LINE のアカウントのリンクがツイートされました。
友達登録をしてみると、このアカウントでは次の 2 つのことが行えることが分かります。
-1000 以上 1000 以下の整数を送信して、それに応じた問題の画像を獲得する
問題に解答する
とりあえず適当に数字を送信してみると、ある法則に従って問題が返信されます。とりあえずそれらの問題について解説します。
※問題番号は法則に則って振ってあります。また、発想の飛躍が必要な箇所は太字で書いています。
1 問目
ヒント: L***** C******
問題画像に書かれている LAMENT という文字やヒントなどから、Limbus Company の囚人のプロモーションビデオにおける台詞ではないか?という推測が立ちます。
その推測のもと、各囚人の台詞をまとめると、
No. 08 Ishamel: If you please, call me Ishmael.
No. 03 Don Quixote: To reach the unreachable star!
No. 12 Outis: I am... nothing at all.
となり、文字を拾うと bungei henshin なので、答えは henshin (変身) となります。
難しい。僕も相方から問題を出された時は普通に分かりませんでした。2 つ目のヒントが出てから比較的すぐに Limbus Company が出て集合知すげ~ってなりました。
2 問目
右下に薄く書かれたモールス信号を解読すると "THEKEYISTREE." となります。これがモールス信号で書かれていることから、モールス符号を木構造で表したものを考えればいいのでは?という推測が立ちます。
↑の記事などを見ながら M から R までの経路上にある文字を辿ると確かに TEA となるので、P から L までの経路上にある文字を辿ると答えは WAR(せんそう でも OK) となります。
これは僕が作った問題です。モールス信号を木構造で表すの面白いな~と思って出しました。原案を投げようとしたときは右下のヒントが無く、流石に無理か…となったので追加しました。
3 問目
まず上半分が何を表しているかを考えてみましょう。青色の丸は神奈川の東のほうから富士山を見ており、これが Boston に移動しているようです。ここから神奈川沖浪裏を連想し、これが Boston へと移動していることから、灘校の卒業生でレゴビルダーの三井淳平氏と何か関係があるのではないか?と推測できます。
その推測のもと下半分を考えてみると、赤い部分は阪急三番街「HANKYU BRICK MUSEUM」であることが分かり、そこの 1 階に展示されているものを上から埋めると
宝塚大劇場
阪神競馬場
嵐山
未来の OSAKA
京とれいん 雅洛
となり、文字を拾うと答えは宝箱(たからばこ)となります。
相方から出された問題です。灘校と絡んだ問題その 1。ちょっと難しいかな~と思っていたので意外とすんなり解かれてびっくりしました。
4 問目
ヒント: WE = NADA
WE が表すものを考えると、この全体戦は灘校生が作っていることから、「灘」ではないか?と考えられます。
そこから考えていくと、 + の数字は小惑星番号に関連していることが分かり、それらの発見者を調べると全て同じ人物であることが分かります。よって答えは野村敏郎 (のむらとしろう) です。
これも相方から出された問題です。灘校と絡んだ問題その 2 。 OB の方に解かれて、流石だな~となりました。
5 問目
金額推定とグラフの色から、歴代コナン映画の被害総額推定なのではないか?という推測が立ちます。
ということで??の (答え) は業火の向日葵となり、答えは向日葵 (ひまわり) となります。
Twitter で歴代コナン映画の興行収入と勘違いされてました (なぜか正解されてしまった)。 1 つの映画だけ興行収入がずば抜けてるなんてことは無いと思うけど…
6 問目
問題にある文言をうまく検索すると、アニメ「チェンソーマン」 ED のアーティストのコメントが出てきます。左にある数字はそのアーティストが ED を担当した話数であることが分かるので、文字を拾うと答えは超越者 (ちょうえつしゃ) となります。
もともとこの枠には別の問題があったのですが、スタート前日に「これ色々まずくないか…?」ということになって、急遽作りました。アニメは全然見ていなかったので苦戦するかと思ったのですが、チェンソーマンの ED が週替わりだったことを Twitter で見たのを思い出したのでこれをテーマに作りました。
7 問目
緑、赤、水色の色と数字から、ポケットモンスターの歴代御三家を並べているのではないか?という推測が立ちます。
ということで、色が付いた四角の文字 (黄色はホウエン) を読むと答えはけつばんとなります。
これは企画ができたときに最初の方に作った問題です。想定通り瞬殺されました。最近ポケモンが 1000 種類を超えて図鑑の No. が 4 桁になったのもこの問題を作ったきっかけの 1 つでした。
ちなみに僕はツタージャ・ポカブ・ミジュマルの世代です。
8 問目
問題に使われている色から、抵抗の色と数字が対応しているのではないか?と考えられます。
よって、後は全て数字に変換すると、上は下の数字を英語で表したものが入ることが分かるので、数字の順番に読むと答えは tension (てんしょん) となります。
これは企画ができる前から全体戦で使おうと考えていた謎で、「1 回は見たことあるけど忘れているであろうもの」をテーマに作りました。
結構すぐに解かれてびっくりしました。
9 問目
上の 1 行から、(テーマ) に入るのはドラえもんではないか?と推測できます。
よって、「ぼくドラえもん」の歌詞を調べると答えは摩訶不思議 (まかふしぎ) となります。
相方から出された問題。個人的に 9 問の中で 1 番簡単だったと思います。
問題が出される法則
Twitter でツイートされた情報や問題を解くことによって得られるヒントをまとめていくと、以下の 2 つの法則によって問題の画像が返信されているのではないか?と推測できます。
時刻の桁和 (digit sum) を求めることを 3 回行うことで得られる 1 桁の整数によって返信される問題が変わっている
問題を獲得する前に送信する数字は現在時刻からの "ずれ" を表している
これをもとに考えると、あることに気が付きます。それは
0 問目の存在
0 問目を獲得するには、現在時刻とずれを足し合わせると 00:00 になるように整数を送信する必要がありました (逆にそれ以外の時は 0 問目は返信されない)。よって、そうなるように送信すると最後の 0 問目が出題されます。
0 問目
ヒント:
theme of problems
blackboard, green, twitter
実際に行く必要はない
Find account of circles
実は今までの 1 ~ 9 問目のテーマは、灘校文化祭で出展しているサークルと関係がありました。まとめると、
1 問目: 文藝同好会
2 問目: アマチュア無線研究部
3 問目: レゴ同好会
4 問目: 地学研究部
5 問目: コナンサークル
6 問目: アニメ研究部
7 問目: ポケモンサークル
8 問目: 物理研究部
9 問目: ドラえもん同好会
となります。そして、問題画像で黒板に緑色で文字が書かれていることから、現地でも各サークルの展示教室にある黒板に緑色で文字が書かれているのでは?と推測できます。
ただ、実際に文化祭に行く必要はなく、実は各サークルの Twitter アカウントを調べると、(アニメ研究部は代わりに文化祭からの脱出が) 緑色の文字が入った黒板の写真をツイートしていました。
各サークルで書かれていた文字をまとめると、
文藝同好会: s
アマチュア無線研究部: p
レゴ同好会: o
地学研究部: t (3 枚目)
コナンサークル: l
アニメ研究部: i (1 枚目)
ポケモンサークル: g
物理研究部: h
ドラえもん同好会: t
となり、順番に文字を読むと、最後の答えは spotlight (すぽっとらいと) となります。
裏話
きっかけ
元々 LINE 謎をかなりやっていて、全体戦は存在すら知らなかったのですが、ある時に偶然「Twitter のあんたがたに挑戦します」を見かけて、面白そうじゃん~と思って参加してました。
ある日、教室で暇だったので what3words の面白そうなアドレスねぇかな~とスマホを見ていたところ、相方が「w3w 見てるやん」と言って話しかけてくれました。聞くとあんたがたの GM (ゲームマスター) をやっていたらしく、すぐに意気投合して全体戦や謎解きの話をしていました。
それからしばらくして、相方から「文化祭であんたがたやりたい」という話を持ち掛けられて、その時はこんなに大変になるとは知らず「ええやん」ということで作り始めました。
LINE bot について
僕は元々競技プログラミングをやっていたのもあって、プログラミングをやるのはそこまで抵抗がありませんでした。折角なので LINE を使って高級なことがしたいと思ったので、 Google Apps Script (GAS) を使って開発を始めました。
テスト環境であまり他人を呼んでデバッグをしていなかったせいで、本番では様々なバグが起きてしまいました。これは本当にごめんなさい。
こんなバグがあったというのを懺悔として列挙しておきます。
整数を送信しても画像が返信されない
LINE ユーザの管理はスプレッドシートを使って行っていて、友だち追加されたときにユーザ ID と最後に整数が送信された時刻がスプレッドシートに追加される仕様になっているはずでした。しかし、ここがバグっていて情報が追加されず、整数を送信してもエラーが起きる状況になっていました。
-1000 以上 1000 以下じゃない数字を送っても画像が返信される
上のバグを直した後、 Twitter で「3000 と送信しても画像が返される」というツイートがあって、展示教室で「は??????????????」と叫んでしまいました。
詳しく調べてみると、
これが
になっていました。本当に競プロやってた?
小数を送信しても画像が返信される
これは完全に想定外でした。
おそらく挙動としては 3.14 が送信されると 3 分 8.4 秒後の問題の画像が返信されると思います。
ブロ解してもう一度追加するとクールダウンが無視できる
これも想定外でした。スプレッドシートに情報を追加するときに以前にもう追加されているかを確かめていなかったのが原因でした。
こんな感じでバグが大量に起きてしまい、部活のシフトと同時並行で対応に追われていました。
0 問目のギミックについて
XXXXL3 と若干ネタ被りしてしまってましたが、まぁええか!ということでそのまま進めました。
事前に各サークルの Twitter 担当に DM を送ったり、実際に教室に行って頼みこんだりでかなり大変でした。万が一来年も全体戦をやるんだったら、もうちょい準備が楽な仕掛けを作った方が良い (作問陣は卒業するので関わらないですが…)。
当日対応
相方がシフトで忙しそうにしていたので、文化祭の脱出の本企画のほうのシフトやその他の部活のシフトをやりながら Twitter で対応をしていました。
当初ヒントが無くても 6 時間以内に終わると想定していたので、急にヒントが必要になった時に相方に相談しに行ったり、上述したようなバグについてアナウンスしたりとかなり大変でした。それもあって、様々な箇所でミスが発生したことに関しては、本当に申し訳ないです。
最後に
色々不手際はありましたが、作問してても、本番で Twitter 上の集合知で自分たちが作った問題が解かれていくのを見るのも楽しかったです。
解いてくださった方々、本当にありがとうございました!!!!!!!!!