こんばんは (@tenhouginsama)です。
今回はGitHubからクローンできるエンジニア向け脱出ゲーム「あるリポジトリからの脱出」をご紹介します。エンジニアでないと、とっつきにくい可能性があります。
公式サイト
- GitHub - kokuyouwind/escape-from-the-repository: プログラマ向けの脱出ゲームです。Twitterハッシュタグ: #あるリポジトリからの脱出
- プログラマ向けの脱出ゲームを作った話 | 黒曜の吹き溜まり
この謎解きの概要
このリポジトリは、リアル脱出ゲームを参考にしたプログラマ向けの謎解きゲームです。
プレイヤーはリポジトリ内にあるデータを手がかりに謎を解き、このリポジトリからの脱出を目指します。謎を解くために必要な情報は、すべてこのリポジトリのデータに含まれています。
このリポジトリをローカルにcloneして、ファイルの内容を書き換えたりコマンドを実行したりすることで謎を解いてください。
最終的に、このリポジトリからの「出口」を見つけ、無事に脱出することが目的です。
中のコードを少し確認しましたが、謎を解いていき答えを入力していくと暗号化されたファイルが開くことが出来るようになり先にすすめます。
前提知識
- シェルスクリプトの知識、及び実行環境(bashを想定)
- gitの知識、及び実行環境
- プログラミング・プログラミング言語・Unixコマンドなどについての初歩的な知識
- openssl, md5sumの実行環境
- MacOSの場合は標準でmd5sumが存在しないため、
brew install md5sha1sum
などでインストールしてください- UTF-8のテキストが等幅フォントで正常に表示・編集できるターミナルとテキストエディタ
- α(アルファ), η(イータ), λ(ラムダ) , →(右矢印) などが正しく表示できること
- このテキストを表示した時、↑この位置に丁度λが表示されていること
- iTerm2 の場合は
Treat ambiguous-width characters as double width
のオプションを設定してください- Vim の場合は
set ambiwidth=double
を設定してください- その他の端末やエディタで問題が起こる場合、「(名前) 記号 ずれる」などで検索すると情報が出てくる場合があります
参考資料でこの辺りを抑えておけば良いかなあと。
プレイ方法
$ git clone git@github.com:kokuyouwind/escape-from-the-repository.git
$ cd escape-from-the-repository
$ checker/run.sh
$ 0/run.sh
コマンドを叩くとこんな感じですね。(git cloneはSSHキーを登録していないのでhttpsにしています)
AWSでEC2インスタンスを借りると簡単にできます。(ローカルでVagrantやVirtualBoxを立てても良い)
問題を実行するとこんな感じですね。
あらすじ
気づくと、あなたは奇妙な歴史の中にいた。
実行不能なコード群、意味不明なコミットメッセージ。目の前にいるのは、頭部が猫で体が蛸の不思議な生物。
彼女はモナリサと名乗り、混乱するあなたに滔々と語りかける。モナリサ:
ここは壊れた時間の狭間、私の愛した歴史の集積地。
理由はよくわからないのだけれど、たまに外の人が流れ着くことがあるの。
あなたが脱出を望むのならば、ハジマリを表す0番の処理を実行するといいわ。
歴史の謎を紐解くことで、この世界からの出口も見つけられるはず。彼女の言葉を信じるならば、あなたが脱出するためにはこのリポジトリの歴史に散在する謎を解く必要があるようだ。
彼女は去り際にこう言い残した。モナリサ:
懸命に答えを埋めるだけでは、真実にはたどり着けない。
貴方の本分を忘れず、最後まで気を配ることね…こうして、あなたはこの世界からの出口を探し始めた…
注意点
ゲームの過程でスクリプトや回答ファイルを編集する必要がありますが、
これらの内容はコミットしないようにしてください。謎解きの過程で編集内容が失われる操作は表われないようになっていますが、必要であればリポジトリ外にバックアップを取ることをおすすめします。
Issueにヒントを掲載していく予定です。どうしても解けない謎があれば参照してみてください。
さいごに
ついにGitHubを利用した謎解きがでましたね!
これをキッカケにLinuxやGitの使い方を覚えるのもありかも??