データ駆動設計について聞いたことがあり、しばらくの間それについて研究を続けてきました。そのため、概念を理解するためにいくつかの記事を読みました。
記事の1つは、Kyle Wilsonが作成したData Driven Designです。。彼が説明したように、アプリケーションコード(メモリ、ネットワークなどのリソースを制御するためのコード)とゲームロジックコードを分離し、ゲームロジックコードを外部データソースによって駆動する必要があるように思えます。この時点で、開発者はゲーム内オブジェクトに関する外部データ(キャラクター情報、武器情報、マップ情報など)を受け入れる何らかの種類のゲームエディターを作成することを想像できます。シナリオ設計は、プログラマーが作成したカスタム言語/ツールによってスクリプト化され、ゲームデザイナーがゲームオブジェクト間の相互作用を作成できるようにします。ゲームデザイナーは、既存/カスタムスクリプト言語を使用してゲームのスクリプトを記述するか、ツールをドラッグアンドドロップしてゲームワールドを作成します。私が考えることができるツールのアプローチの例は、通常Bliizardのゲームと一緒にパッケージ化されたWorld Editorです。
ただし、別の記事では、データドリブンデザインの使用、データドリブンデザインに対するケースに反対しています。ゲームの設計者にはプログラミングの負担があるため、ゲームの開発に時間がかかるため、著者はゲームの設計をデータで駆動させないことをお勧めします。代わりに、スケッチデザインからゲームを自由にプログラムするゲームプログラマーが存在し、ゲームプログラミングの終了後にゲーム設計者によって検証されます。彼はこれがプログラマー主導であると呼んでいます。この方法について私が思うことは、私がかつて行った方法に似ています:ゲームロジックは、上記のアイデアと同様に、アプリケーション自体であり、アプリケーションはゲームエディターであり、実際のゲームはツールに基づいて設計されています。
ゲームコンポーネントは多くのプロジェクトで再利用できるため、私にとっては、最初の方法の方が合理的だと思われます。データ駆動設計に反対する2番目の方法では、ゲームコードはそのゲームにのみ属します。これが、WarcraftにはオリジナルのWarcraftやさまざまなカスタムマップなど、非常に多くのゲームジャンルがあり、最も有名なものの1つである、実際に新しいジャンルを定義するDOTAがあると思う理由です。このため、World Editorをゲームエンジンと呼ぶ人がいると聞きました。これはゲームエンジンがどうあるべきか本当ですか?
したがって、これらすべての後、これらのアイデア(データ駆動型、プログラマー駆動型、スクリプト作成など)についての私の理解に欠陥があることを確認したいだけです。