コロッサル・ケーブ・アドベンチャー
この記事は英語版の対応するページを翻訳することにより充実させることができます。(2022年2月) 翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。
|
『コロッサル・ケーブ・アドベンチャー』(英: Colossal Cave Adventure)[1]は、アドベンチャーゲームというジャンル名の由来となっているコンピュータゲームである[2]。他に、ADVENT、コロッサルケーブ、アドベンチャーという名でも知られている。プログラマでケイビング愛好家のウィル・クラウザーが設計したゲームであり、ケンタッキー州マンモス・ケーブ国立公園の洞窟群の一部であるコロッサルケーブを舞台のベースとしている[3]。コロッサルケーブにはいくつも入口があり、その1つがベッドキルト (Bedquilt) と呼ばれている。クラウザーは非常に忠実に現実の洞窟を再現しており、このゲームをプレイした洞窟探検家は、初めてベッドキルトからコロッサルケーブに入ったとしても、容易に洞窟を辿っていけるという[4]。
ジャンル | インタラクティブフィクション |
---|---|
対応機種 | 各種(当初はPDP-10) |
開発元 | ウィリアム・クラウザー、ドン・ウッズ |
発売元 | CRL |
人数 | 1人 |
発売日 |
1976年(クラウザー) 1977年(ウッズ) |
デバイス | キーボード |
歴史
編集ウィル・クラウザーは、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などインタラクティブフィクション専用エンジンをターゲットとして実装されるようになった。
後のバージョン
編集コロッサル・ケーブは様々なバージョンがリリースされてきた。一般に単に「アドベンチャー」と題することが多く、それに何らかのタグを付与することも多かった(例えば、「アドベンチャー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]。
脚注
編集- ^ Crowther, 1976; Crowther & Woods, 1977.
- ^ a b Jerz, Dennis (2007) Somewhere Nearby Is Colossal Cave: Examining Will Crowther's Original “Adventure” in Code and in Kentucky, Digital Humanities Quarterly
- ^ Montfort, Nick (2003). Twisty Little Passages: An Approach To Interactive Fiction. Cambridge: The MIT Press. ISBN 0-262-13436-5
- ^ Mel Park. Bev Schwartz meets the real Bedquilt
- ^ Rick Adams. “Here's where it all began…”. The Colossal Cave Adventure page. 2012年5月10日閲覧。
- ^ 1972年に遡るとする説があるが、本作がD&Dからの影響を受けていることから、1974年より古いことはありえない
- ^ “L’avventura è l’avventura » Interactive Fiction? I prefer Adventure”. Avventuretestuali.com. 2012年1月29日閲覧。
- ^ オリジナルのソースコードはこちら
- ^ ウッズ版のソースコードはこちら
- ^ Russel Dalenberg (March 20, 2004). “Adventure Family Tree” (ASCII Art). 2012年5月11日閲覧。]
- ^ “Adventure: Crowther's original source code found; photos from inside the real Colossal Cave”. 2012年5月11日閲覧。
- ^ “IBM Archives: Product fact sheet”. 03.ibm.com (1981年8月12日). 2012年1月29日閲覧。
- ^ Peterson, Dale: "Genesis II: Creation and Recreation with Computers", (1983)
- ^ Inform Designer's Manual, Graham Nelson, 2001 edition, 375-382
関連項目
編集外部リンク
編集- 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
- Jerz, Dennis G. (2007年). “Somewhere Nearby is Colossal Cave: Examining Will Crowther's Original 'Adventure' in Code and in Kentucky”. Digital Humanities Quarterly. The Alliance of Digital Humanities Organizations. 2007年8月11日閲覧。
- Crowther's original source code for Adventure (as recovered from Don Woods's student account at Stanford)
- 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.