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