目次
公開日:2020年10月9日
更新日:2020年10月9日
コロナの影響で外出が減り、在宅しつつも、今までやらなかったようなことに取り組むことが増えてきた。今回は「脱出ゲームブック」である。
職業病なのか、物理学のような論理的手法や、コンサルで利用するようなExcelでの進捗管理、ハッカーがハッキングで使うような手法など、ゲームに対していろんな技を駆使してしまった。これについてまとめておきたい。
ゲームブックとは?
そもそもゲームブックとは何だろうか?Wikiには以下のように書かれている。
ゲームブック (Gamebook) は、読者の選択によってストーリーの展開と結末が変わるように作られ、ゲームとして遊ばれることを目的としている本である。「アドベンチャーゲームブック」・「アドベンチャーブック」とも呼ばれる。
https://ja.wikipedia.org/wiki/%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%96%E3%83%83%E3%82%AF
要するにゲーム要素を含んでいて順番に読む従来の本とは異なる構成になっている本である。
十人の憂鬱な容疑者
今回取り組んだのはAmazonでお勧めに出て来ていたこちら。「十人の憂鬱な容疑者」
ふと目を覚ますと、揺り椅子に座った死体があなたを見つめていた。
しかし、あなたは何の記憶も思い出せない!
不気味な屋敷、怪しげな人物たち、意味あり気なパズル──。
あなたはこの本に隠されたすべての謎を解き明かし、
物語のエンディングを迎えることができるだろうか?
評判は他の投稿を参考いただきたい。
十人の憂鬱な容疑者 素敵なパーティ、死体がふたつ (脱出ゲームブック) Amazon レビュー
本の構成とルール
ハッキング・攻略をするにも、まずはルールと構造を知ることが非常に重要である。
本文は数十から数百個のパラグラフ(段落)に分けられており、各パラグラフには順に番号が付いている。読者はそれらのパラグラフを頭から順番に読むのではなく、パラグラフの末尾で指定された番号のパラグラフを次に読む。パラグラフ番号の代わりにページ数をそのまま利用し、1ページを1パラグラフとして扱うゲームブックもある。いずれも次に読むべきパラグラフは1つに限らず、多くは複数の行き先が存在する。それらはプレイヤーによる任意選択ができたり、後述するランダム要素によって決められたり、以前に行った選択や判定の結果が影響して決まる。このような方法によって、多様に変化するストーリーを実現している。
本書も一般的なゲームブック同様に400以上のパラグラフ(段落)から構成されており、パラグラフを謎解きを駆使しつつ指示通りに進むことで読み進めていく方式である。地図やシートへの書き込みもあり、地図上の部屋の番号もパラグラフと連動している。
その他アイテムと時間経過という概念があり、それらの条件を満たしたうえで同じパラグラフを再度訪れると、行き先のパラグラフが変わり、さらに物語が進行する形式である。この進め方はパラグラフ+アイテムの番号で示されている。
なおこの本のゲームルールは以下のページで見ることが出来るため、既知情報として扱った。
https://www.rittor-music.co.jp/dgamebook/03/
Excel管理
本書冒頭に「メモを取ることをお勧めします」と書かれていたが、少し読み始めると、紙にメモを取ってどうなるレベルではないことが分かった。
本書の構成上、「手がかり」や「時間経過」によってあるパラグラフから別のパラグラフへ進むことが出来るようになり、ストーリーが進むようになっている。RPGで新しいカギが手に入ったら、新たな部屋に行けるのと同じ状態である。ということは、手に入ったアイテムがどの場面で使えるかを把握しておくことが、効率的に進めることに有効となる。
要するに抜け漏れなく効率的に作業を進める必要がある。この際には網羅的に情報を管理する方が効率がいい。これらを踏まえると、Excelを使うのが効率的だろうと考え、Excelシートを設定した。なんだかもう仕事みたいになっているじゃないか。
左端の列にパラグラフ番号を記入し、各列に情報を記入していく。最上位行に項目を記入しスクロール固定に設定。これにより400行以上のスクロールでも、どの列に何を記入すべきかを見失わなくなる。抜け漏れなく効率的に網羅できる。
既読未読判定
本を前へ後ろへ段落を飛びながら読むので、どこを読んだかが把握しづらくなる。そこで一度通過したパラグラフには1を入力していき、残りを空白にしておけば、全体のどれくらいまで進んだかどうかも一瞬で把握できる。SUM関数で通過したパラグラフ数が確認できる。
Excelフィルタ機能
例えばアイテム「ツ」が手に入ったら、アイテムの列のフィルタ機能で「ツ」にフィルタをかけ、該当するパラグラフのみを表示させればよい。これであれば、複数あっても見落とすことはない。ただ入力し忘れると見つからなくなってしまうので注意が必要である。
もっと他にも各機能で、自動で進むパラグラフを推移するように関数を組むこともできる。段落のつながりをマッピングなども出来るだろう。
しかし情報を整理して、迷わないように効率的に本を進めるという点では、フィルタ機能のみで十分な印象であった。
参考:Excel業務カイゼンブログ Excelのフィルター機能徹底解説
Google Hacking
公式には「答えやヒントは無いから自分で考えなさい」と書いてあった。結構難しいのに相当にドSなスタンスである。
そうはいっても、分からないものは分からない。さらに「謎」という特殊性からも、考えて分かるものでもなければ、論理が正しい保証もない。方向性が見当ハズレということもままある。
例えばアルファベットだと思っていたらローマ字読みだった、みたいなものまで。図柄が私の認識と違うなど。そして本の場合、自分で読んだ部分の説明や指示を見落としていたらドツボにハマる。この前提が違うというのが、分からないというのが相当にきつい。
そして個人的には大学生の夏休みじゃないんだから、他にもいろいろとやることがある。時間で区切ってくれた方がうれしい。(この時点で時間制限のない謎解きゲームブックは向いていないかもしれない)
個人的なルールとして15分考えて分からなかったら、検索して情報を探すことにした。
ここで役立つGoogle検索。実際にこの本のタイトルで検索するとこんなにも検索している形跡が。
(Google)
ここで、ただ単語を検索するだけではない。
おそらくご存知の方も多いとは思うが、Googleには指定の仕方でいろんなファイルがヒットしてしまう。
例えば、以下の検索では何がヒットするだろうか?
“password” site: example.com filetype:xls
passwordという文字列を含んだExcelファイルを example.comのドメイン内から検索することが出来る。Google Hackingと呼ばれるこの手法は、サイバー攻撃で使われている。まさか!と思われがちだが、実際にこの方法でパスワードが抜かれるような例もある。(抜かれるというよりもネットの検索でヒットする位置にそんなファイルを置く方が悪いのだけれども)ただこの本の場合には使用しなかった。
試用したのはこちら。単語を”word”のように””で囲う。これは完全一致検索に対し有効である。これにより効率的に探すことが出来る。
ブルートフォース(総当たり攻撃)・Covert Channel
Googleで検索をしても、それでもどうしても詰まることは確か2回ほどあった。そんな際には最終手段ブルートフォース(総当たり攻撃)である。力づくを意味するブルートフォース攻撃は、パスワードを全組み合わせを順番に試すことによってパスワードを開ける方式として知られている。何億通りとあるパスワードと違い、この本の場合、段落数は高々400ほどである。要するに400段落を全て見れば、どうなるかがわかる。さらに本書の特徴として、一部を除いてどの段落から、続いているかが記されている。この番号は、おそらく各パラグラフを読み終わった後に、見失わずに引き返すためのものだと思われる。
この構造を「ハック」すると、パラグラフをいくつか先まで見れば「手がかり」や「時間経過」に対応する番号が分かってしまう。システムの意図意外に利用する一種Covert Channelのような状態になる。
カバートチャネルとは
カバートチャネルとは、セキュリティポリシーに違反する抜け道のことです。チャネルと聞くと不正な通信をイメージしますが、”本来意図しない使い方”全般を指すことがあります。
カバートチャネル(Covert Channel)
サイバーセキュリティ専門家になるための総合学習サイト
このやり方がストーリーとして面白いのかはさておき、ストーリーが進むように逆引きをすれば、途中で詰まっても何をすればよいかが分かる。答えが分かれば、謎も解きやすくなる。これを行う際に、上記のExcelで通過した欄に「1」を入力していることが役立った。「1」を入力をしていないパラグラフが瞬時に判明するためである。
空白セルをにフィルタを設定すれば、「1」が入力されているパラグラフは非表示になる。
その過程はなんだかマンガの読み方が分からない人が、ページ内の全コマを読んで並べ替えるのと同じような状態になっている。
「無事」終了
上記のような手法を数回使い、騙し騙し最後までたどり着き、「無事」最後のCLEARの文字を見ることが出来た。
何問かは納得せずに次に行ったということは、完全にはクリアできていないじゃないか、というのは確かにそうなんだけれども。「達成率が100%ではないが一応クリア」ということにしておきたい。そもそもハッキング自体が正当な方法以外を使うことも多いので、そういう意味ではハッキングで成功したということは、正統的にはうまくいかなかったといっても過言ではなく、・・・キリがないので以下略。
一方で物理学に代表されるような論理的思考は足かせになることが多い。「指示無く勝手に並べ替えてはいけない。」のような先入観にとらわれている。次元が揃っていないものの足し算なんて言語同断、みたいに考えがちである。
なんだか途中からは情報整理の業務の作業のようになっていた。コンサル業務となんとなくデジャブ感はある。
時間は、本を開けてからClearまで合計で8-10時間程度だろうか。
個人的には次買うとすれば、ヒントが付いているものにしたいところである。
終わりに
個人的にはこれでも達成感を得ることが出来たが、上記のようなグレーなハッキングのような手法を使うのは邪道だという方も多くいらっしゃるだろう。しかしそれでも、Excelによる管理・特にフィルタ機能は効率性の面で有効であると思うので、是非試していただければ幸いである。
逆にExcelやスプレッドシート以外の方法でどのようにやったのかを知りたいくらいであった。紙でメモでは辛そうであった。