PCまたはモバイルゲームで利用可能なすべてのCPU時間を使用することを目指すことには、いくつかの欠点があります。
システム要件:ゲームを開発するPCでゲームをプレイできる場合、ゲームを購入した人が所有するより弱いPCではゲームをプレイできない可能性があります。CPUの使用を制限することで、より多くの人がすでに持っている可能性が高いマシンでゲームを使用できるようにします。市場を制限しているかどうかを確認したい場合は、Transformer BookなどのAtom搭載の取り外し可能なPCゲームと競合他社のゲームをテストするか、安価なプリペイドAndroid携帯電話でモバイルゲームをテストします。
電力使用量:ラップトップコンピューターは、2つのコアが半分の周波数の60%で使用される場合よりも、4つのコアが全周波数の100%で使用される場合、バッテリーの消費が速くなります。そのため、コントローラーのポーリングスレッド、AIスレッド、物理スレッド、グラフィックスレッドは、それらが再び実行されるまでブロックされていることを確認してください。戦闘やリズムなど、いくつかの非常に単調なジャンルを除いて、コントローラーを約60 Hzより速くポーリングする必要はないため、ポーリングスレッドを60 Hzタイマーで実行するように設定します。
物理学の変動性:ゲームプレイに影響する物理学がより強力なマシンでより詳細である場合、同じプレイヤーアクションは異なるマシンで異なる結果になります。これは、プレーヤーがより強力なマシンまたはより弱いマシンを使用してチートできることを意味します。IdのQuake III Arenaは、フレームレートがジャンプの高さに影響することで有名です。これを避けるために、多くのゲームは物理学に固定時間ステップを使用します。ただし、これは、パーティクルエフェクトやクロスエフェクト、物理フレーム間の座標の補間など、物理学よりも高いフレームレートでビデオをレンダリングするなど、ゲームプレイから切り離された物理学には影響しません。したがって、model-view-controllerのバリアントを使用して物理学を設計します アーキテクチャ。重要なもの(加速、ヒット検出など)がモデルに含まれ、調整可能な目の保養がビューに含まれます。
AIの変動性: AIがより強力なマシンでより詳細な場合、敵は異なるマシンで異なる動作をします。たとえば、GoやChessの実装では、対戦相手は弱いPCで弱くなり、プレイヤーは弱いPCでゲームをプレイしたり、ウイルス対策やビデオトランスコーディング、オペレーティングシステムの更新などのバックグラウンドプロセスを実行したりすることができます。
while true do CheckForEvents;