コロッサル・ケーブ・アドベンチャー

コロッサル・ケーブ・アドベンチャー』(: Colossal Cave Adventure[1]は、アドベンチャーゲームというジャンル名の由来となっているコンピュータゲームである[2]。他に、ADVENTコロッサルケーブアドベンチャーという名でも知られている。プログラマケイビング愛好家のウィル・クラウザー英語版が設計したゲームであり、ケンタッキー州マンモス・ケーブ国立公園の洞窟群の一部であるコロッサルケーブを舞台のベースとしている[3]。コロッサルケーブにはいくつも入口があり、その1つがベッドキルト (Bedquilt) と呼ばれている。クラウザーは非常に忠実に現実の洞窟を再現しており、このゲームをプレイした洞窟探検家は、初めてベッドキルトからコロッサルケーブに入ったとしても、容易に洞窟を辿っていけるという[4]

Colossal Cave Adventure
ジャンル インタラクティブフィクション
対応機種 各種(当初はPDP-10
開発元 ウィリアム・クラウザー英語版ドン・ウッズ英語版
発売元 CRL
人数 1人
発売日 1976年(クラウザー)
1977年(ウッズ)
デバイス キーボード
テンプレートを表示
PDP-10上で動作するウィル・クラウザー版の冒頭部分

歴史 編集

ウィル・クラウザーは、ARPANETインターネットの前身)の開発にも関わった Bolt, Beranek & Newmanプログラマだった。クラウザーはケイビングを得意とし、ケンタッキー州マンモス・ケーブ国立公園でケイビングを行った経験を生かし、娘のためにこのゲームを作った[5]

クラウザーは1970年代初めにマンモス・ケーブ国立公園の洞窟群を探検し洞窟の地図を作成しているが、ゲームはテキストベースであり、1975年から76年ごろに作った[2][6]。現実の洞窟とは異なり、ゲームでは斧を投げつけてくるドワーフや魔法の橋などファンタジー要素が盛り込まれている。

最もよく知られているバージョンは、スタンフォード大学のコンピュータでこのゲームを見つけた大学院生ドン・ウッズ英語版がクラウザーの許可を得て改良・拡張したバージョンである[7]。ウッズはトールキンの大ファンで、エルフトロールといったファンタジー要素をさらに追加した。

ロバータ・ウィリアムズ英語版とその夫ケン英語版がそのゲームを見つけた当時、似たようなゲームは他になく、彼らはアドベンチャーゲームを開発販売する会社オンラインシステムズ(後にシエラ・オンラインに改称し、さらにシエラエンターテインメントとなった)を創業。まずグラフィックスを加えたアドベンチャーゲーム「ミステリーハウス」を開発し、その後20年に渡ってゲームソフトウェア市場で活躍することになった。

技術 編集

クラウザーの最初のゲームはFORTRANで書かれた約700行のコード[8]とそれとは別の700行のデータで構成されており、BBNのPDP-10で動作した。マップは79地点で構成されていて、それぞれにテキストが対応していて、139語の語彙、旅程表、各種メッセージなどがデータに含まれている。PDP-10では、ゲームデータを全てメモリ上にロードしてプログラムを実行する。そのため磁気コアメモリを60kワード(約300kB)必要とし、128kワードしか磁気コアメモリを搭載していないPDP-10システムにとってはかなり大きな負荷だった。

ウッズの改良版もPDP-10向けにFORTRANで書かれている[9]。コードは約3000行、データは1800行に増えている。マップ140地点、語彙293語、オブジェクト53点、旅程表、その他のメッセージなどがデータに含まれている。クラウザーのバージョンと同様データは全てメモリ上にロードするが、プログラムを工夫することで必要な磁気コアメモリを42kワードに減らしている。

FORTRANのコードはPDP-10特有の特徴を最大限に活用している。PDP-10のワード長(整数長)は36ビットであり、7ビットのASCII文字を1ワードに5文字格納できる。FORTRANではこのような5文字の文字列同士を整数として比較することができ、このゲームで認識する語彙は先頭5文字だけを比較して判別されていた。また、PDP-10のオペレーティングシステム (OS) には実行中プログラムの磁気コアメモリ上のイメージをセーブ/リストア/リスタートする機能を持っており、これがアドベンチャーゲームでのセーブ/リストア機能の原点となった。この場合セーブされるのはサスペンドしたプログラム全体であり、一部データだけという最近の実装とは異なる。このようにPDP-10固有の特徴を活用しているため、他のプラットフォームへの移植は難しかった。

その後このゲームはC言語やFORTRANといった汎用プログラミング言語で実装されるのではなく、Z-machineなどインタラクティブフィクション専用エンジンをターゲットとして実装されるようになった。

後のバージョン 編集

 
Osborne 1 上で動作中の ADVENT (1982年ごろ)

コロッサル・ケーブは様々なバージョンがリリースされてきた。一般に単に「アドベンチャー」と題することが多く、それに何らかのタグを付与することも多かった(例えば、「アドベンチャーII」、「アドベンチャー550」、「アドベンチャー4+」など)。大きな数字が付与されている場合、そのゲームでの最高得点を意味している。ウッズが改良を行った最初のバージョンで初めて得点システムが導入されており、「アドベンチャー350」とも呼ばれている。ラッセル・ダレンバーグの Adventure Family Tree のページ[10]に、不完全ながら各種バージョンとそれらの関係が示されている。

クラウザーの最初のバージョンが発見されるまで[11]、ウッズが1977年に拡張したバージョンが最初だと見られていた。ウッズは得点システムを加えており、最高得点は350点だった。その後のバージョンではさらにパズル的要素が加えられていき、最高得点は1000点やそれ以上になっていった。マルチプレーヤー版のコロッサル・ケーブもある。

1977年、ランド研究所ジム・ジログリー英語版はウッズとクラウザーの許可を得て、数週間を費やしてFORTRANからUNIX上のC言語に移植を行った。これはBSDのディストリビューションの一部となっていた。2012年現在、FreeBSDではportsのgames/bsdgamesに含まれており、Linuxのディストリビューションの多くでは "bsdgames" というパッケージの一部として含まれている(コマンド名は "adventure")。

1970年代末にはプライムコンピュータ英語版スーパーミニコンピュータにも移植されている。OSはPRIMOS英語版、使用言語は FORTRAN IV である。1978年末にはIBMのメインフレームにも移植された。OSはVM/CMS、使用言語はPL/Iである。

1980年、マイクロソフトApple II Plus 向けやTRS-80向けの「アドベンチャー」をリリースした。また1981年には IBM PC 向けの最初の MS-DOS 1.0 上で動作する「アドベンチャー」をリリースした。5.25インチのフロッピーを媒体とし、そのディスクから直接ブート可能となっており、DOSからその中身を見ることができないようになっていた。このバージョンでは130の部屋、15の宝物、40のアイテム、12の解くべき問題が含まれている。フロッピー上に2つまでセーブ可能である[12]

デイヴ・プラットの550点版には様々な新機軸が導入されている。FORTRANやCで直接プログラミングするのをやめ、プラットはアドベンチャーゲームを記述する A-code という言語を開発し、ゲームをその言語で書き直した。A-code のソースを FORTRAN 77 (F77) で書かれた "munger" というプログラムで前処理し、A-code からテキストデータベースおよびトークン化された擬似バイナリに変換する。それらをF77で書かれた実行エンジン "executive" と共に配布した。またゲームにランダム性を導入し、プレーヤーの選択に対する応答に幅を持たせ、滅多に発生しないイベントを導入したりしている。

その後の開発 編集

デール・ピーターソンによれば、ドン・ウッズは1990年代中ごろまでこのゲームのバージョンアップをリリースし続けていたという[13]。クラウザーからウッズが開発を引き継いだころ、他のプログラマもそれぞれ独自に開発を継続した。

デイヴ・プラットの550点版のコロッサル・ケーブはオリジナル版以外では最も有名で、その後の派生バージョンの起点ともなった。例えばマイケル・ゲッツのCP/M用581点バージョンなどがある。また、舞台も洞窟から火山や地下墓地の迷路などに変えられたり、プレーヤーが "plugh" と入力すると溶岩の上の空中に吊るされた椅子にプレーヤーが転送されるといった仕掛けも登場するようになった。バイキングが撮影した火星の写真が360度に描かれている部屋とか、魔法の絨毯といったそれぞれのバージョン独自の趣きが加えられている。

分析 編集

グラハム・ネルソン英語版Inform Designer's Manual ではこのゲームを1980年代のアドベンチャーゲームの3部構成のさきがけだとしている。3部構成とは、「ゲームの地下世界の閉所恐怖症的感覚と深さを強調する効果を持つ」地上でのプロローグ、「現実世界からファンタジー世界へと移行する」中間部分、そして結末「マスターゲーム」である[14]

脚注 編集

  1. ^ Crowther, 1976; Crowther & Woods, 1977.
  2. ^ a b Jerz, Dennis (2007) Somewhere Nearby Is Colossal Cave: Examining Will Crowther's Original “Adventure” in Code and in Kentucky, Digital Humanities Quarterly
  3. ^ Montfort, Nick (2003). Twisty Little Passages: An Approach To Interactive Fiction. Cambridge: The MIT Press. ISBN 0-262-13436-5
  4. ^ Mel Park. Bev Schwartz meets the real Bedquilt
  5. ^ Rick Adams. “Here's where it all began…”. The Colossal Cave Adventure page. 2012年5月10日閲覧。
  6. ^ 1972年に遡るとする説があるが、本作がD&Dからの影響を受けていることから、1974年より古いことはありえない
  7. ^ L’avventura è l’avventura » Interactive Fiction? I prefer Adventure”. Avventuretestuali.com. 2012年1月29日閲覧。
  8. ^ オリジナルのソースコードこちら
  9. ^ ウッズ版のソースコードはこちら
  10. ^ Russel Dalenberg (2004年3月20日). “Adventure Family Tree” (ASCII Art). 2012年5月11日閲覧。]
  11. ^ Adventure: Crowther's original source code found; photos from inside the real Colossal Cave”. 2012年5月11日閲覧。
  12. ^ IBM Archives: Product fact sheet”. 03.ibm.com (1981年8月12日). 2012年1月29日閲覧。
  13. ^ Peterson, Dale: "Genesis II: Creation and Recreation with Computers", (1983)
  14. ^ Inform Designer's Manual, Graham Nelson, 2001 edition, 375-382

関連項目 編集

外部リンク 編集