お問い合わせTopゲームプログラムトップゲームループゲームループ■ゲームループゲームはゲーム内容を画面に表示するために一定間隔ごとに「ゲーム処理」と「描画処理」を行っています。この一定間隔の「ゲーム処理」と「描画処理」を繰り返すことをゲームループと呼びます。1.初期化DirectXやDxLib、OpenGLなどのゲームを開始する上で必要な初期化処理を実行します。2.ゲームループゲームループはゲームが終了するまで繰り返されます。2-1.ゲーム処理ゲーム処理はその名前の通り、プレイヤーや敵、UIやエフェクトなどゲームを動かすためのオブジェクトに対する処理を行います。「ゲーム処理」の結果を画面に反映するための処理です。3.終了ゲームを終了したので、1で作成したライブラリなどの解放処理を行います。Second)FPSとは1秒間に何回フレーム処理(ゲーム処理と描画処理)を行うかを表した単位のことです。60FPSでは1秒間に60回フレーム処理(ゲーム処理と描画処理)を実行します。・フレームフレームとはゲームループの繰り返し回数に使用する単位です。FPSを実現するためには一定間隔で処理を実行できるように処理時間を制御する必要があります。1フレームを約0.032秒(32ms)間隔で実行1フレームで行う処理がきっちりFPSの間隔にあわせて終わることはありません。早く終わった場合は次のフレームの開始時間になるまで処理を停止させます。時間がかかりすぎた場合、「処理落ち」と呼ばれる現象が発生します。速度向上を実現する必要があります。・処理落ち処理落ちとは1フレーム内でかかった処理時間がFPSの処理周期時間を超えてしまった際に発生する現象です。主な現象:ゲーム画面の止まる処理の遅延が発生するので描画の更新が遅れ、画面が一瞬止まります。発生頻度が高いとコマ送りで動いているようになります。時間計測は処理的コストが高いとされているので、ゲームではよくフレーム数で時間を計ります。処理落ちが発生すると処理落ちの頻度の分タイマーとしての精度が落ちることになります。・フレームスキップフレームスキップとは処理落ちが発生した際の対応策です。内容は時間をオーバーした分の調整として本来の時間に戻るまでゲーム処理だけを行い描画処理は実行を行わないというものです。描画処理が停止するので画面の内容がいきなりスキップします。メリット:・時間の誤差が少なくなる周期時間を越えた分の調整を行うのでフレーム数で計測の誤差が少なくなります。描画処理がなくなるので、画面に反映される内容が本来の内容と比べて間引きされたものになります。フレームスキップはあくまで処理落ちが発生した際の対応策なので処理落ちの原因となる箇所の見直しの必要はあります。メリットとデメリットがあるので、それを考慮したうえで使用するかどうかを決めてください。探している内容が見つからなかったら以下のサイトにあるかもしれません。筆者が開発にかかわらせてもらったアプリのリンクです。