エンティティ コンポーネント システムは、ゲーム開発におけるオブジェクト指向プログラミングで発生するスケールの問題を解決することができます。ECS に関していくつか質問があります。
概要を説明すると、いくつかのコンポーネント (データを持つ) を含むエンティティと、歩行ロジック、戦闘ロジックなどのロジックを持つシステムがあります。したがって、どのゲームでも、敵はエンティティであり、ヒーローは独自のシステムを持つエンティティなどです。各プレイヤー/敵はエンティティになります。
- 最初は、ステージ、グループ、およびアクターを使用していました。ステージは、階層を使用してアクターにイベントを渡し、イベントに基づいてそれを処理していました。私はエンティティを持っているので、何が私の新しいアクターになりますか? すべてのエンティティがアクターになりますか? はいの場合、各行為で、すべてのコンポーネントの更新関数を呼び出し、描画関数で描画しますよね?
- エンティティ コンポーネント システムはアクターのみに使用されますか、それともステージ、グループ、カメラにも使用する必要がありますか? すべての人に使用する必要がある場合、誰かがその方法を理解するのを助けることができますか?
オブジェクト指向では、グループにアクターを追加し、適切なタスクを実行するイベントに基づいてアクターにイベントをステージ送信するので簡単です。ECS で考えるのは初めてなので、何かが足りない場合は申し訳ありません。コードを書き始めましたが、システム全体を考えているうちに混乱してしまいました。役者の仕事の仕方はわかったけど、それをグループや舞台、カメラなどでどうやって働かせるか。