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

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

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

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

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

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

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

ウッズの改良版もPDP-10向けにFORTRANで書かれている。コードは約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]]など[[インタラクティブフィクション]]専用エンジンをターゲットとして実装されるようになった。

== 後のバージョン ==

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

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

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

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

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

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

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

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

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

## 脚注

## 関連項目
* ゾーク

## 外部リンク
* Jargon File の "ADVENT" の項
* Baf's Guide to the IF Archive with downloadable versions for many platforms.
* FORTRAN source code for Crowther and Woods collaboration advent-original.tar.gz
* FORTRAN source code for Crowther and Woods collaboration adv350-pdp10.tar.gz
* 
* Crowther's original source code for Adventure (as recovered from Don Woods's student account at Stanford)
* [ftp://ftp.ifarchive.org/if-archive/games/pc/adv_crowther_win.zip Windows executable version of Crowther's original ADVENT] zipファイル
* Mac OS X version of Colossal Cave Adventure
* DEC PDP/8 OS/8 version of Colossal Cave Adventure
* IBM Archive: IBM Information Systems Division fact sheet distributed to the press on August 12, 1981.