メインゲームループを作成するにはどうすればよいですか?ゲームループで行うべきことと、ゲームループですべきでないことは何ですか?
私はそれらをたくさん書きましたが、ゲームループを実際に読んだことがありません。私はそれらをかなり改善できると確信していますが、どうすればいいかわかりません。
メインゲームループを作成するにはどうすればよいですか?ゲームループで行うべきことと、ゲームループですべきでないことは何ですか?
私はそれらをたくさん書きましたが、ゲームループを実際に読んだことがありません。私はそれらをかなり改善できると確信していますが、どうすればいいかわかりません。
回答:
メインゲームループは、3つの主要なタスクを処理します。
単純なゲームループは、これら3つのタスクを1つのwhileループに集中させるだけです。これにはいくつかの望ましくない結果があります。
高度なゲームループは、上記の問題に対処します。役に立つ記事を次に示します。
優れたゲームループの例については、Allegro skaterデモゲームをご覧ください。
多くの場合、ゲームループはほとんどのゲームで同じタイプの作業を行うため、汎用的なゲームフレームワークを作成する方法を考えています。ゲームループの実装を1つ作成し、ゲーム間で共有することをお勧めします。新しいゲームを作成するときの作業を節約し、共有ゲームループの改善をすべてのゲームで共有できます(たとえば、FPSカウンターや画面キャプチャ機能の追加)。
堅牢なフレームレートの独立性に関するGlenn Fiedlerの記事、「Fix Your Timestep!」をお勧めします。
(手元のトピックに関連性は低いが、シリーズの他の記事も非常に優れている。彼のサイトにあるすべてのものもそうだ!)
ゲームループで作業する場合は、マルチスレッドゲームエンジンアーキテクチャに関するgamasutraに関するこの古い記事を読むことをお勧めします。ゲームループを記述するさまざまな方法を扱います。
http://www.gamasutra.com/view/feature/1830/multithreaded_game_engine_.php