6

私は最近XNAプールに飛び込み、C#のフレームワークのすべての詳細を学んでいます。私の調査で気づいたことの1つは、GameComponentsを実装するための広く受け入れられている「適切な」方法がないように思われることです。

このスレッドを(とりわけ)読んだ後、私はゲーム開発者の間で幅広い好みを発見しました。GameComponentsをまったく(または控えめに)使用しないという支持者もいれば、プレーヤー/敵ユニット、ミサイルなど、あらゆるものにGameComponentsを使用すると主張する人もいます。また、GameComponentアーキテクチャを、画面、レンダラー、シーンなどの中レベルから高レベルのエンティティ用に予約します。これらのエンティティは、よりきめ細かいゲームユニットを含み、駆動します。

結局のところ、フレームワークを実装する最善の方法を決定するのはゲーム開発者次第です。StackOverflowには、私が知る以上のことを忘れてしまった知識豊富な開発者がたくさんいるので、フレームワークを自分で使用してこの道をさらに進む前に、ここでのコンセンサスが何であるかを感じてみたいと思います。

誰かが自分の考えを取り入れることを気にしますか?前もって感謝します!

4

1 に答える 1

2

私もXNAにかなり慣れていないので、この答えを一粒の塩で考えてください。

私はそれがスタイルの好みに要約できると思います。GameComponentを使用する場合と手動で使用する場合のパフォーマンス特性はわかりませんが、個人的には、GameComponentを使用しようとすると、自分の考え方やプログラミングのスタイルと実際に一致しなかったため、すぐにイライラしました。本質的に、私はOOP、手続き型、関数型、およびその他のプログラミングパラダイムから得たものの組み合わせです。GameComponentは厳密なOOPアプローチを利用しているようです。

しかし、すべてをGameComponentにすること、あるいは一般的なクラスでさえ、パフォーマンスに関して問題になる可能性があると言います。最大の可読性と保守性の問題は、ゲーム開発の世界では非常に難しいようです。ゲーム開発の世界では、コードから最適化を絞り出さなければならない場合があります。たとえば、ゲームオブジェクトの1つを構造体(値型)に変換して、メモリを節約し、厄介なガベージコレクターがゲームを遅らせるのを防ぐことができる場合があります(この質問で学んできたように) )。

于 2010-02-25T22:55:48.863 に答える