「ゲームループ」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
2行目: 2行目:
  
 
== 概要 ==
 
== 概要 ==
基本的に[[ゲーム]]では「入力」「処理」「出力」の3つの処理を止まること無く延々と繰り返すことで進行する。
+
基本的にゲームでは「入力」「処理」「出力」を止まること無く延々と繰り返す。
入力は[[キーボード]]や[[マウス]]、[[ゲームパッド]]などからの操作を受け付ける部分である。これは[[ファミコン]]時代がから変わっていない。処理は入力や[[AI]]、時間経過に伴う変化を処理する部分である。これも[[ファミコン]]時代から変わっていない。出力は処理の変化に応じて画面描画や音声再生などを行う部分である。絵は派手になったがやっていることは[[ファミコン]]時代がから変わっていない。
+
入力は[[キーボード]]や[[マウス]]、[[ゲームパッド]]などからの操作を受け付ける部分である。[[ファミコン]]時代がから変わっていない。
 +
処理は入力や[[AI]]、時間経過に伴う変化を処理する部分である。これも[[ファミコン]]時代から変わっていない
 +
出力は処理の変化に応じて画面描画や音声再生などを行う部分である。絵は派手になったがやっていることは[[ファミコン]]時代がから変わっていない。
 
要するにゲームループの基本は[[ファミコン]]時代から今の今まで変化していない。
 
要するにゲームループの基本は[[ファミコン]]時代から今の今まで変化していない。
速すぎず、遅すぎずが重要となる。
 
  
ゲームループの単位は1秒間に何ループするかを表す「[[FPS (Frame Per Second)]]」が使われる。
+
しかし、この単純そうなゲームループであるが、最近のゲームでは「処理」に時間がかかった場合、「前回のループ」に時間がかかった場合、ネットワークが遅延した場合などでも時間軸が狂わないよう、「出力」をスキップする「フレームスキップ」という機構が組み込まれることが多い。昔のゲームといえば重くなれば軒並みスローモーションになって画面がチラチラしていたが、最近のフレームスキップの[[アルゴリズム]]は地味に凄いらしく、とくに複数人が時間軸を共有するネットワークゲームではゲームが破綻しかねない要素であるため、大手メーカーなんかでは社外秘レベルの非常に複雑な[[アルゴリズム]]を採用しているとされる。詳しくは知らん。
たとえば1秒間に60回のループであれば「60fps」などと表記される。
 
 
 
しかし、この単純そうなゲームループであるが、最近のゲームでは「処理」に時間がかかった場合、「前回のループ」に時間がかかった場合、ネットワークが遅延した場合などでも時間軸が狂わないよう、「出力」をスキップする「フレームスキップ」という機構が組み込まれることが多い。昔のゲームといえば重くなれば軒並みスローモーションになって画面がチラチラしていたが、最近はフレームスキップが主流である。
 
 
 
このフレームスキップの[[アルゴリズム]]は近代ゲームループ実装の核ともいえるくらい地味に凄いらしく、とくに複数人が時間軸を共有するネットワークゲームではゲームが破綻しかねない要素であるため、大手メーカーなんかでは社外秘レベルの非常に複雑な[[アルゴリズム]]を採用しているとされる。詳しくは知らん。
 
  
 
まあ、最近の[[ゲームエンジン]]はほぼ全自動でやってくれるんだけどね。
 
まあ、最近の[[ゲームエンジン]]はほぼ全自動でやってくれるんだけどね。
22行目: 18行目:
 
* [[PlayStation Suite SDK/プログラムの基本構造]]
 
* [[PlayStation Suite SDK/プログラムの基本構造]]
 
* [[SystemEvents.CheckEvents () メソッド (Sce.Pss.Core.Enviroment)]]
 
* [[SystemEvents.CheckEvents () メソッド (Sce.Pss.Core.Enviroment)]]
 +
 +
== 参考文献 ==
 +
{{reflist}}
 +
 +
{{stub}}

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)