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

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

歴史

編集

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

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

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

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

技術

編集

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

ウッズの改良版もPDP-10向けにFORTRANで書かれている[10]。コードは約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 のページ[11]に、不完全ながら各種バージョンとそれらの関係が示されている。

クラウザーの最初のバージョンが発見されるまで[12]、ウッズが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つまでセーブ可能である[13]

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

その後の開発

編集

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

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

分析

編集

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

脚注

編集
  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. ^ 『Colossal Cave』“アドベンチャー”というジャンル名の語源になった作品がリメイクされて登場。現代の作品とは違う異質なノリを楽しめるか? | ゲーム・エンタメ最新情報のファミ通.com”. ファミ通.com (2023年1月20日). 2026年1月15日閲覧。
  4. ^ Montfort, Nick (2003). Twisty Little Passages: An Approach To Interactive Fiction. Cambridge: The MIT Press. ISBN 0-262-13436-5
  5. ^ Mel Park. Bev Schwartz meets the real Bedquilt
  6. ^ Rick Adams. “Here's where it all began…”. The Colossal Cave Adventure page. 2012年5月10日閲覧。
  7. ^ 1972年に遡るとする説があるが、本作がD&Dからの影響を受けていることから、1974年より古いことはありえない
  8. ^ L’avventura è l’avventura » Interactive Fiction? I prefer Adventure”. Avventuretestuali.com. 2012年1月29日閲覧。
  9. ^ オリジナルのソースコードこちら
  10. ^ ウッズ版のソースコードはこちら
  11. ^ Russel Dalenberg (2004年3月20日). “Adventure Family Tree” (ASCII Art). 2012年5月11日閲覧。]
  12. ^ Adventure: Crowther's original source code found; photos from inside the real Colossal Cave”. 2012年5月11日閲覧。
  13. ^ IBM Archives: Product fact sheet”. 03.ibm.com (1981年8月12日). 2012年1月29日閲覧。
  14. ^ Peterson, Dale: "Genesis II: Creation and Recreation with Computers", (1983)
  15. ^ Inform Designer's Manual, Graham Nelson, 2001 edition, 375-382

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

VAX

2012年9月14日閲覧。  ^ Clinton F. Goss (June 1986), Machine Code Optimization - Improving Executable Object Code, New York University, http://www.ClintGoss.com/mco/

マイクロソフト

Linkage」が発行している。 マイクロソフトは、UNIX系システムのバイナリフォーマットとして用いられてきたCOFFを改良し、Portable Executableフォーマットを策定した。特定のハードウェアやOSに依存しない点が最大の特徴である。.NET FrameworkアプリケーションやUEFIアプ

データフォーマットの一覧

JavaScript Object Notation JavaServer Pages Javaクラスファイル LZH La Linear Executable Lzip lzop M3U Mach-O Macバイナリ Mathematical Markup Language Matroska Microsoft

UNIX

Open GroupはAustin Groupを立ち上げた。 1999年、互換性を達成するため、いくつかのUnixシステムベンダーはSVR4のExecutable and Linkable Format (ELF) をオブジェクトファイルおよび実行ファイルの標準規格とすることに合意した。これによって、

難読化 (ソフトウェア)

1109/ICCL.1998.674154.  ^ Linn, Cullen (2003年10月27日). “Obfuscation of executable code to improve resistance to static disassembly” (英語). ACM Digital Library

ファイルフォーマット一覧

Notes NTH Nokia Theme File Nokia PC Suite NTR Executable ASCII text file netrun31.zip NTS Executable ASCII text file netsend1.zip NTS Tutorial Norton NTX

ExifTool

2022年3月6日閲覧。 ^ cberry (2012年6月1日). “Parsing Exif client-side using JavaScript”. code.flickr.com. 2015年11月16日閲覧。 ^ “Hugin Preferences - PanoTools.org Wiki”. Hugin

Mozilla Firefoxのバージョンの変遷

srcset 属性と picture 要素が実装され、レスポンシブ・イメージが利用できるようになった DOM3 イベントの KeyboardEvent.code が実装された Mac OS X:Media Source Extensions (MSE) API の一部分が実装され、Youtube のネイティブ