サイトアイコン 大人のためのゲーム講座

『A Dark Room』テキストアドベンチャーゲームのSwitch版にイースターエッグ

AUTOMATONで、パブリッシャーのCIRCLE Entertainmentが2019年4月12日に欧米でeショップにて発売したテキストアドベンチャーゲーム『A Dark Room』にRubyのインタプリタとコードエディタが仕込まれていることが発覚したためeショップから削除されていたことを伝えていました。(きゃらまさん情報ありがとね)

せっかく情報をいただいたので記事にしてみました。いただいた情報をすべて記事にできる時間があるわけではないので取捨選択はさせていただいておりますが、今回はGW中で時間があったので色々調べて構成を考えました。

元記事ではこのブログではあまり使わない表現の「イースターエッグ」としていますが、コンピュータ用語での「イースターエッグ」とは

コンピュータのソフトウェア・書籍・CDなどに隠されていて、本来の機能・目的とは無関係であるメッセージや画面の総称

(ウィキペディアより)
のことを指します。

『A Dark Room』の「イースターエッグ」はゲーム自体にプログラミング言語「Ruby」のインタプリタとコードエディタが仕込まれており、Nintendo Switch本体にUSBキーボードを接続して「〜(チルダ)」キーを押すと、Ruby機能が有効になりRubyのコードを実行できるようになる、というものです。

開発をしたAmir Rajan氏が今年4月18日から20日にかけて福岡県で開催されたRubyのコミュニティイベント「RubyKaigi 2019」で『A Dark Room』の開発についての講演を行ったそうです。そこで「コーディングの楽しさを子供たちに知ってもらいたかった」と、『A Dark Room』にRubyのコードエディタなどを仕込んだ理由について語り、それが任天堂の耳に入り、ストアから削除、つまりBANされ、販売元のCIRCLE Entertainmentからも怒られるという騒ぎになりました。日本版も販売予定だったそうですが、現時点では今後どうなるのか不明です。

なお、SwitchでRubyを実行するとこのようになります(本人談)

Amir Rajan氏はRubyで実行できるコードはエディタ側で制限をかけているのでできることが限定的で、遊び程度にしかならないという認識で子供向けに付けたおまけ機能のつもりだったようですが、Rubyのコードをメモリに保管して実行するというだけでSwitchシーンのみなさんがあれこれと手を尽くしてくることは容易に想像できますから、そういうイースターエッグ付きのアプリケーション撤去はやむなしというところでしょう。

そもそも任天堂自身がイースターエッグだったSwitchにこっそり内蔵していたファミコンゴルフゲーム”flog”を削除してしまう程ですので、当然外部アプリケーションにそのような類いのプログラムを走らせる環境を認めるわけがありません。

で、ここからが本題です。この『A Dark Room』ですが調べたところパソコンの黎明期に人気があったテキストベースのアドベンチャーゲームで、コマンドを入力するゲームではないのですが与えられた選択肢を選んで物語を進めていくというゲームです。PC版とiOS版Android版があり、モバイル用は有料アプリとして配布されていますがPC版はブラウザで動く無料版です。ブラウザなのでOSは問いません。スマートフォンのブラウザでPC版をプレイするとアプリ版ダウンロード紹介ページにリダイレクトされてしまうため、残念ながらPC版をモバイル環境でプレイできません。UserAgentを偽装できるブラウザならプレイできます。(iOSのPuffin Web Browserでプレイできました)

コードはGitHubで公開されており、ブラウザで動くPC版には日本語版も用意されています。

データのセーブ(エクスポート)やロード(インポート)も、ドラクエの「ふっかつのじゅもん」のようにテキストに変換されたデータとして生成されるのでPC間でコピペ可能。ブラウザをまたいでプレイが可能です。

序盤しかプレイしていませんが、かなり奥が深いゲームのようで日本語ファイルのソースコードを見ただけでも表示されるテキストはかなりの量がありました。普通にプレイしているだけでは出てきませんでしたがソースコードを見る限りDropboxとリンクできる機能もあるようです。

モバイルバージョンを終了