本書はTADS製作者用手引きの一部です。
Copyright (C) 1987 - 2000 by
Michael J. Roberts. All rights reserved.
序文
TADSは特にテキストアドベンチャーのために作り出されたコンピュータプログラミング言語です。その言語上の文法と構造は洗練されたアドベンチャーゲームを単純にかつ実現を容易にするようデザインされています。TADSはプロフェッショナルなアドベンチャーゲームに求められるすべての特徴を備えた完全なランタイムシステムを供給します。ですから、ゲーム作者は基礎部分のソフトウェアではなく、自分のアドベンチャーに集中することができます。
本節ではTADS、テキストアドベンチャー一般、そしてこの説明書の概観を明らかにします。
最初のテキストアドベンチャーは、いかにもふさわしいのですが、Adventureだと思われます。このゲームは洞穴のインタラクティブ・シミュレーションでした。プレーヤーは「north」や「get rod,」のような命令をタイプすることでゲームに働きかけ、ゲームはその命令の結果を述べることでもって応答するというものでした。
多くの点で、Adventureはとても初歩的でした。たとえば、プレーヤーの命令は1または2語までに限られ、可能な行動の範囲はとても小さかったのです。しかし、Adventureはそれ以前のコンピュータ上またはその他のどんなゲームとも違っていました。そして、またたく間に膨大な信奉者を魅惑しました。非常に人気が出たのですが、実際、それはその元祖に因む「アドベンチャーゲーム」という一つのジャンルを生んだほどです。ジャンルが成熟し、コンピュータハードウェアがもっと洗練されたプログラムを扱えるようになるにつれて、多くの改良がアドベンチャーゲームに施されてきましたが、基本的な発想はほとんど変わらぬまま残っています。
アドベンチャーゲームは幅広い大衆に受けています。ほとんどのアーケードスタイルのゲームと違い、アドベンチャーはやり遂げることができ、ゲームを終えるまで数日、数週間、もしくは数か月もかかることがあります。理想的にいうと、アドベンチャーゲームはプレーヤーを虜にする豪華な物語です。
多くの人々がアドベンチャーゲームというジャンルに強い興味を抱き、自分自身でアドベンチャーを書いてみたいと思っています。ほとんどの人はゲームを書き始めたものの、書かねばならないコードの膨大さにあっさり参ってしまいます。アドベンチャーを書くために、作者になる可能性のある人はまず、プレーヤーコマンドを理解するパーサー(解読器)、ゲームをセーブ・再開するためのコードを書き、シナリオ中の物をシミュレートするためのデータ構造を整え、他にも複雑なルーチンをたくさん書かなければいけません。発想豊かな人々が全員コンピュータの専門家であるわけではないので、多くの潜在的アドベンチャー作家がこの分野に挑戦することを思いとどまらされています。
幸いなことに、アドベンチャーゲームがこなさなければいけない複雑な処理はどんなゲームでもたいてい同じか非常に近いものです。アドベンチャーゲーム開発に興味を持っていた一部の人々はこうした共通の処理―メッセージの表示、ゲーム内オブジェクトの状態の点検と設定、ゲームの保存と再開など―は、ゲームがいくつあっても共通のサブルーチン・ライブラリを共有して行えることを発見しました。他の人々はこの発想を押し進めて、特にテキストアドベンチャーの実現を目的に設計された専用言語がゲーム製作を簡略化できることを実証しています。TADSはそういう言語なのです。
TADSでゲームを書く作者は汎用言語でゲームを書くことに勝る恩恵を思い知るでしょう。TADSを利用することの利点は:
TADSのバージョン1は非常によくできた、有用なソフトウェアでしたが、常に改良の余地が存在していました。私たちはTADSをさらに柔軟で強力なものにしたいと思いましたし、システムの強化のためにバージョン1のユーザがくれた提案の多くに応えたかったのです。バージョン2の新しい特長でとりわけ重要なもののいくつかを下に並べました。
この文書はTADSを使ってゲームを実現しようと思うゲームデザイナーを対象にしています。この手引きは製作者になるかもしれない人に必要条件を一切課さないようにしてシステムを説明するつもりですが、もしあなたがすでにPascalやCのような従来からある構造化言語に通じているなら、TADSの使い方を学ぶ上で最もたやすくなるでしょう。オブジェクト指向プログラミングの概念に精通していることも助けになります。
これが本書の内容の概観です:
TADSを学ぶためにこの手引きを利用するなら、1章と2章から始めるとよいでしょう、しかし、システムの雰囲気をつかむだけで十分です。すべての詳細をすぐに理解しようと気を使うことはありません。次に言語に親しむために3章に進んでください。この章を読む間、この言語を用いてアドベンチャーを書く方法が即座に明確になることはないかもしれません。しかし、さしあたっては、ただ言語の全体図を理解するようにしてください。それから、4章を読んでください。そこにはアドベンチャーを書くためにいかに言語を使うかが述べられています。この章はTADSのランタイム環境を総論として、プレーヤー・コマンド・パーサーを各論として説明しています。TADSを学ぶ過程で、あなたはほとんどまちがいなく、TADSソフトウェアと一緒に供給される長ったらしいサンプルゲームを頻繁に参照することの有用性に気付くことでしょう。それはTADS言語の構文が実際のゲームの中でどのように使われているか、その実例を多く含んでいるからです。
5章はTADS言語を詳しく解説しているレファレンスです。この章は自習教材として意図されたものではありません。しかしTADSゲーム製作の詳細への簡単な到達方法を供給するようデザインされています。同様に、いくつかの付録もシステムの日の当たらない部分、たとえば、コンパイラのオプションやエラーメッセージなどの顕微鏡的細部を文書化しています。
Text Adventure Development Systemはこのドキュメンテーションの少なからぬ準備とも言える多年に渡る努力のたまものです。私はこのプロジェクトに貢献してくれた多くの方々に感謝を申し上げたいと思います。Jim Cserは今や古典となったHigh Tech Drifterを書くためにTADSの初期バージョンを使ってくれました。そして、Steve McAdamsは私と一緒にDeep Space Drifterに携わりました。これらの十分な規模のゲームを実現するうえで得た経験には計り知れない価値がありました。私は同時にこの手引きを検証したりシステムに含められたサンプルゲームのプレーテストをしてくれた方々、その他にプロジェクトの道程において助言を下さった多くの方々にもお礼を申し上げたいと思います。
感想と提案を寄せ、私がシステムのサポートと改良を続けるよう励ましてくれたバージョン1のたくさんのユーザにお礼を言いたいと思います。格別の感謝をTADSゲームのUnnkulianシリーズの製作者、David Baggett、Chris Nebel、David Learyに。彼らはTADSバージョン2のテストを手伝ってくれました。そしてTADSゲームがどれほど質の高いものになりうるかを示すことでTADSの人気に多大な貢献をしました。そして、Andy MillerにはすばらしいTADSmore山のカバーアートのお礼として。
思想の生命力は冒険の中にある。
ALFRED NORTH WHITEHEAD, Dialogues of Alfred North Whitehead (1953)
私はエンジニアを理解しています - 彼らは物事を変化させるのが大好きです。
DR. McCOY, Star Trek: The Motion Picture (1979)
許可と著作権 | 目次 | 第1章 |