アカウント名:
パスワード:
確かに描画がカクカクだったけど速度アップは普通に意図しての仕様だと思ってた
まったく納得いかんな。単なる処理落ちだったらインベーダーの数が少なくなると砲台やビームの動きも速くなると思うがそうはなっていない。グラディウスの4面終盤は全部の動きが遅くなる。
インベーダー2の動画をコマ送りして見てみると、1フレームに2匹ずつ移動しているようだった。残数が減ってきても2匹ずつ動くので、1匹あたりの移動サイクルが短くなることにより動きが速くなっていくというロジックだな。
砲台移動インベーダー1匹移動インベーダー1匹移動UFO移動自機ミサイル移動敵ミサイル移動Vブランク待ち
をループしている感じ?
処理落ちは見受けられないので、ハードウェアの処理能力の限界が出ているわけではなく、ハードウェアの能力に合わせたアルゴリズムになっているというのが正解だと思う。
インベーダーの存在するゲームロジックというか"盤面"の処理と、砲台とかスコアとかミサイルといういわば"筐体"の部分のリアルタイム処理が設計上分かれてる感じなのかな。あまり現代にはない感覚ですね。
いやいや、すべてまとめて一定サイクルの繰り返しで処理しているってことですよ。そのサイクル内でインベーダーについては1サイクルで2匹しか処理しないというだけ。その結果インベーダーが50匹いれば25サイクルに一度しか移動しないから遅くなる。つまり処理落ちしているのではなく、処理落ちしないように(1サイクルが規定時間内で終わるように)するために1サイクルで動かすインベーダーの数を制限しているため、インベーダーの移動速度は画面内の数によって変化しているという話ですね。
1回の割り込みで上下端と弾丸はすべて処理してしまい、その中でインベーダーは2状態進めるわけじゃないですか。その切り分けが"筐体"と"盤面"に見えて、すごく古いなと思ったわけです。
デュアルポートVRAMとかサイクルスチールCRTCとか積んでない場合、画面周りはVSYNCトリガーでVBLANK中に処理しないと画面が乱れますからね。
この辺の技術とか、そのあとのギャラクシアンでのOBJ(ハードウェアスプライト)とか、「伝説のアーケードゲームを支えた技術」に詳しく出ていて面白く読めます。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
あれ処理落ちやったんか (スコア:1)
確かに描画がカクカクだったけど速度アップは普通に意図しての仕様だと思ってた
Re: (スコア:0)
まったく納得いかんな。
単なる処理落ちだったらインベーダーの数が少なくなると砲台やビームの動きも速くなると思うがそうはなっていない。
グラディウスの4面終盤は全部の動きが遅くなる。
Re: (スコア:0)
インベーダーが減ればインベーダーの移動速度は速くなるけど、ビームや砲台のスピードは変わりませんよね。
実際によく見るとそうなっていたし。
Re:あれ処理落ちやったんか (スコア:4, すばらしい洞察)
インベーダー2の動画をコマ送りして見てみると、1フレームに2匹ずつ移動しているようだった。
残数が減ってきても2匹ずつ動くので、1匹あたりの移動サイクルが短くなることにより
動きが速くなっていくというロジックだな。
砲台移動
インベーダー1匹移動
インベーダー1匹移動
UFO移動
自機ミサイル移動
敵ミサイル移動
Vブランク待ち
をループしている感じ?
処理落ちは見受けられないので、ハードウェアの処理能力の限界が出ているわけではなく、
ハードウェアの能力に合わせたアルゴリズムになっているというのが正解だと思う。
Re:あれ処理落ちやったんか (スコア:2)
インベーダーの存在するゲームロジックというか"盤面"の処理と、砲台とかスコアとかミサイルといういわば"筐体"の部分のリアルタイム処理が設計上分かれてる感じなのかな。あまり現代にはない感覚ですね。
Re: (スコア:0)
いやいや、すべてまとめて一定サイクルの繰り返しで処理しているってことですよ。
そのサイクル内でインベーダーについては1サイクルで2匹しか処理しないというだけ。
その結果インベーダーが50匹いれば25サイクルに一度しか移動しないから遅くなる。
つまり処理落ちしているのではなく、処理落ちしないように(1サイクルが規定時間内で終わるように)するために1サイクルで動かすインベーダーの数を制限しているため、インベーダーの移動速度は画面内の数によって変化しているという話ですね。
Re:あれ処理落ちやったんか (スコア:2)
1回の割り込みで上下端と弾丸はすべて処理してしまい、その中でインベーダーは2状態進めるわけじゃないですか。その切り分けが"筐体"と"盤面"に見えて、すごく古いなと思ったわけです。
Re:あれ処理落ちやったんか (スコア:1)
デュアルポートVRAMとかサイクルスチールCRTCとか積んでない場合、
画面周りはVSYNCトリガーでVBLANK中に処理しないと画面が乱れますからね。
この辺の技術とか、そのあとのギャラクシアンでのOBJ(ハードウェアスプライト)とか、
「伝説のアーケードゲームを支えた技術」
に詳しく出ていて面白く読めます。