私はstackoverが初めてで、これが初めての投稿なので、優しくしてください:-)
私はマルチレベルのシューティングゲームを開発している最中で、明示的に弾丸を管理するために、私の目的に最適な OOP 設計について質問しています。
通常、ゲームには複数のプレイヤーと複数の敵がいて、それぞれが弾丸を発射する銃を持っています。複数の弾丸、その位置、アニメーション、レンダリングなどを適切に管理する Bullet クラスがあり、これらは正常に動作します。
私の質問は、敵ごとにこれらの弾丸クラスのインスタンスをインスタンス化する方がよいですか、それともすべての弾丸を管理するレベルのインスタンスを 1 つインスタンス化する方がよいでしょうか (誰が発射したかに関係なく)?
単一のインスタンスの利点は、弾丸の管理とレンダリングを一度に最適化できることですが、どの弾丸が誰に属しているか、各敵に存在できる弾丸の数などを覚えておくために、追加の状態情報が必要です。疎結合ではありません。敵ごとに個別のインスタンスを使用する利点は、弾丸ごとに保存する必要がある状態情報が少なくて済みますが、敵またはプレイヤーごとに個別の呼び出しで管理およびレンダリングされることです。弾丸同士の衝突もより難しくなりますが、幸いなことに、これはこの特定のゲームの要件ではありません。
他の誰かが似たようなものを書いたことがありますか?どのように構成しましたか? 決定する前に考慮すべき要素と、そのためのゲーム デザインの原則はありますか?
よろしくニック