フレームルール単語

フレームルール

2.7千文字の記事
掲示板をみる(18)
  • twitter
  • facebook
  • はてな
  • LINE
  • ほめる(6)
  •  
  •  
  •  
  •  
  • その他

フレームルールとは、ゲーム特定の処理がフレーム単位で制御されている事をす言葉である。 (1フレーム間に一定回数ないし、一定フレーム数の間に1回ならば、フレームルールの適用と呼べる。)

概要

 まず、フレームの意味であるが、動画の中の静止画1枚のことをフレームという単位で呼ぶ。

 通常のゲームでは、一間に60枚(NTSC方式。PAL方式は50枚)のフレームを同じ時間の間隔でTVモニターなどに書き出すことで、ゲームの画面をスムーズ動画にしている。 ゲームプログラムは、このフレームを書きだす合間にゲームシステムの処理を行なって、次に書きだすフレームの内容を決定している。 このシステムの処理がスムーズに行われないと、ゲームの画面がスムーズに見えなくなってしまう。

 しかしながら家庭用ゲーム機向けに限らずとも ゲーム機の性の制限によって1フレームの間に収められる処理が限られている場合が多い。 そのため、ほとんどの処理は1フレームに1回程度しか実行されない。 このフレームに関するルールをフレームルールという。 また、1フレーム1回のルールでも扱い切れないような[大量の処理]や[重い処理]があったりすると、フレーム更新同期が遅れてしまい、スムーズゲーム画面に見えなくなってしまう。 これを、コマ落ちや処理落ちと言う。

[大量の処理]や[重い処理]の例

 以上の処理は、一つ一つはフレームの合間に収まる事はあっても、2つ3つ合わせると確実にコマ落ちや処理落ちを引き起こす原因になる。 そのため、ゲーム製作者は、この[大量の処理]や[重い処理]フレームごとに分けたり、フレームにまたがって分散して実行させることで、起こりうる処理落ちを回避している。

 上記の方法には欠点があり、数フレームに分散する特性上、分散させた[大量の処理]や[重い処理]全に一巡するのは、数フレームに一度ということになる。 これらの[大量の処理]や[重い処理]依存する操作が必要な場合は、次に[大量の処理]や[重い処理]が実行されるされるタイミングまで、(プログラムプレイヤーは)操作を待たなければならない。 その結果、妙なラグや入拒否、果てはめり込み抜けが起きる。

このような製作段階から避けられないプログラムフレーム単位の処理の仕様をフレームルールと言う。

また、プレイヤーの入のたびに処理していては処理が重すぎて困るために、1フレームに1度しか実行されない場合も、フレームルールの適用と言える。

フレームルールの処理自体は、フレームの間隔にあわせて時間を区切ったバッチ処理である。 そのため、正反対の実装方式はリアルタイム処理である。

TASとフレームルール

TASでは、フレームルールの活用と解析がほぼ必須である。 フレームルールは、ゲームステージクリアの待機時間にしたり、キータイミングを与えうる要素であるためである。 しかし、フレームルールには裏技的な利点もあるため、一概に邪魔であるとは言えない。

フレームルールを利用した壁抜けやキャラ抜け

フレームルールで当たり判定が数フレームに1度であるゲームがあるとする。 そういったゲームの場合、判定されないフレームでのみキーを行うと抜けやキャラ抜けができてしまう。 また、めり込みによる抜けや蹴りができるのも、大体これのおかげである。 実はコーナーブーストにも関係があると言われている。

また、1フレームごとに当たり判定が取られる場合でも、1フレーム未満の通過時間で当たり判定を通過すれば、フレームルールを逆手にとって当たり判定を突破できる。 高速移動を利用した1フレーム未満の壁抜けは3Dゲームにおいて行われることが多い(スーパーマリオ64ケツワープとか)。

フレームルールによるイベント回避

フレームルールでイベントの開始位置の判定が数フレームに1度であるゲームがあるとする。そういったゲームの場合、判定が行われないタイミングの時だけその場所を通過して通れば、イベントを発生させることなく通過できる。 悪名高き[MOTHER2バグ使用TAS]でも説明されている。

フレームルールによるイベントの間隔の問題

TASを作るのにおいて、一番厄介なのがフレームルールによるイベントの発生の間隔の問題である。 これは、とあるイベントが起こるタイミングが一定の間隔でしか存在しない場合に起こる問題として存在する。

FCスーパーマリオSFCスーパーマリオのように、画面の切り替えイベントが21フレームに1度しか判定されない場合、イベント発生タイミングを1つ逃すと最大で20フレーム後のタイミングを待たなければならなくなり、20フレーム以下の駄なフレームが生じてしまう。

これにより、1つのステージゴールまでの1フレーム更新が20フレーム更新になったり、0フレーム更新に収束してしまう現が起こり、TASさんを悩ませる更新上の大きな問題となっている。

これは、最適化が進んだスーパーマリオブラザーズFC版)のTASなどで体感することができる。

RTAとフレームルール

RTATASの挙動を再現するのが難しい理由に、フレームルールが関係している。 (そもそもTASの動きを真似するだけでも人間をやめる覚悟が必要だが。)

乱数とフレームルール

SFCPS1以降のゲームでは、フレームルールに乱数をひとつ回す処理が加えられているものが多い。 これにより、フレーム単位で同じ操作をしないと同じ結果が得られないゲームが多く、フレームによる乱数の変動が直前と同じプレイ再現できない原因となっている。

このフレームルールによる乱数変動のために、TASさん真似をするのが超絶高難易度になっている。

SFC版DQ1のボタン入力フレームルール

SFC版(スーパーファミコン版)DQ1のように、「何らかのボタンを押している最中は、特定の処理に限って10フレーム毎にしか処理が発生しない」など、特殊なフレームルールの変動を持つゲームが存在する。 これらのゲームは、眼で確認してから入しても再現性を確保できるため、RTAでのフレームルールの活用が期待されている。

関連項目

この記事を編集する

掲示板

おすすめトレンド

急上昇ワード改

最終更新:2022/10/08(土) 04:00

ほめられた記事

最終更新:2022/10/08(土) 04:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP