2010-12-04 13 views
3

私は古い学校のテキストアドベンチャーゲームを作成しようとしています。私は少し世界地図と部屋を作ることに固執しています。ゲームのデザインとアーキテクチャテキストアドベンチャーのアドバイス

部屋の説明がソースコードの一部であるべきか、それとも分離する必要がありますか?私は、そのような説明や部屋のプロパティをすべてMySQLデータベースに配置し、各部屋のロジックを整理するコードを用意することを考えていました。各部屋の説明を実際のソースコードに入れるのはちょっとばかばかしいようです。

これは、アドベンチャーゲームの説明を整理するのに好ましい方法ですか?また、データについて共通のプロパティを見つけるためにデータベースに問い合わせることができるので、これが望ましいと考えていました。

コメントをいただければ幸いです。

答えて

6

いいえ、コード内にレベル/部屋の説明を含めないでください。この方法では動的ではありません。

多くの多くの開発フレームワークは、コードとデータを分離する傾向があります。したがって、通常の場合、ゲームルームのデータをファイルに入れてレベルを作成し、ユーザーが新しいレベルを作成して最終的に部屋のデータを運ぶための新しいファイルを作成できるようにします。

4

私はゲームを作っている会社で働いていて、彼らは部屋からコードを分けて、mysqlに入れています。実際には、各部屋に入るアイテムもテーブルにあり、その瞬間にどのアイテムがどのアイテムであるかを示すテーブルもあります。 さらに、ゲームを拡張したり、統計情報をデータベースに保存する方がはるかに優れていますか?

0

部屋のデータを読み込み、部屋のデータに基づいて、有効なコマンド(move、take、drop、change ...)を許可するインタプリタのようなゲームを構築します。移動のために、ノードが部屋とエッジであることが許されている事前に作成されたグラフがあります。

3

ここでは2つの問題を取り上げます。まず、ゲームを定義するデータを使用するエンジンから離しておくことは、正しいことです。これにより、テキストベースのゲームの場合に、タイプミスなどを修正するためにすべてを再コンパイルする必要がなくなります。

2番目に、私はMySQLの使用に疑問を呈します。人々のシステムにインストールされるdos型のゲームを作成しているなら、pre-reqを 'Install MySQL'にしたくないと思っています。 C言語で書かれた小さなプログラムがあり、それは皆さんのニーズに合ったSQLiteというものを自由に使用することができます。一方、ウェブは、このテキストベースのゲームのリリースのための媒体であれば、それを持っている:)

1

を部屋の記述は、ソースコードの一部であるべきか、それが分離することが でしょうか?

Prolog言語を試してください。

  • それはあなたがいくつかの変更があなたの冒険の仕上げ可能になった後かどうかをチェックすることができるかもしれないいくつかのスキルではSQLに似たデータベース(実際は論理述語)
  • を持っています。
  • 非常に "コンピュータのような"気にならない場合、この説明をいくつかの論理的な述語で簡単に作成できます。

examples of Prolog text adventures in simple Google searchが表示されます。

0

オブジェクトを所有するオブジェクトルームを持つコードから説明を分離します。ファイルやデータベースなどを使用できるように、いくつかのファサードを通じて「データベース」を呼び出す説明。また、記述の中に振る舞いを持つオブジェクトを持つように、最終的に部屋自体にスクリプトを追加することもできます。

2

あなたは単にADRIFTのようなシステムを使うことができます。そして、あなたが心配する必要があるのは説明とロジックだけです。

1

既に周囲に活気のあるコミュニティがあるエンジンを使用することをおすすめします。そうすれば、あなたのソースコードはそれだけです。ゲームのソースコード。私はどちらかと一緒に行きますTADS 3またはInform 7

関連する問題