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