上に戻る
5.仮想LRの実装
概要
 ロックマン7で、RLにアサインされた武器変更。
 メニューを開くことなく武器を変更できるので、ゲームのテンポを損なわずに進めることが出来ます。
 この機能をロックマン4でも使いたい……という気持ちは割と自然になるのです。たぶん。
方針
 まずですがボタンが足りません。(笑)つーかありません。
 1Pパッドでの空きはもうセレクトくらいですので、そこにアサインすることも考えられます。
 しかし、私は、かなり邪道な気がしますが、2Pパッドを利用することにしました。
 ほら、2コンを床において、その上に1コンを浮かして持っているって光景は容易に想像が付くでしょ?ね?付くよね!??
 ……コホンコホン……さて、ボタン以外の問題として、武器変更をするときには「何を」する必要があるでしょうか。
 厳密にはなにか、調査が難しいフラグの上げ下ろしをしないといけないかもしれませんが、とりあえず、目に付くところとしては……

・「ロックマンの装備している武器」の値を変更する
・武器に使うグラフィックを準備する

 問題は追加されるもので、他にも……

・画面上の武器を消す必要がある
・「武器メニューで選択している武器」の値を変更する
・武器パラメータの初期化

 と、イロイロ沸いてきます。
 しかし、一番厄介なのは、やはりグラフィックの準備でしょう。
グラフィックの準備
 ロックマン4はVRAM搭載で、パターンテーブルを自在に組むことが出来ます。
 そのうちの16キャラクタ分が、武器用グラフィックとしてあてられております。
 「4.PPUメモリにアクセス」でやったとおりに、VRAMにアクセスして、武器グラフィックを準備してやることになります。
 しかしながら、実は、ファミコンは悲しいほど小さなデータ速度しかPPUメモリにアクセスできないようなのです。
 どうも1フレーム当たり3キャラクタ分の48バイト位が限度のようです。
 全力で書き換えても、6フレームかかってしまいます。
 6フレームゲームが止まるということは、かなりのストレスとなります。
 ということで、私の出した結論としては……
・ゲームを進行しながら、スキを見てグラフィック準備を行なう
・グラフィック準備中は武器を打ち出すことが出来ない
 という仕様に落ち着きました。
 武器変更した瞬間にBを押すと、撃つことが出来ないことがわかります。
 最低6フレーム、スクロール処理などが入るともっと長い時間武器を打てないのですが、こんな時間が気になるのはTASさんくらいでしょう。あ、「TASさん」に突っ込むのはヤボですよ
問題点
 パッと見は、現段階(※ロックマン4MI初回公開時)でも上手く行っているように見えるのですが……
・スクエアマシンでバグる
・リサイクルインヘイラー吸引中に変更するとバグる
・ヘルホイール・ワイヤーを止めるために仮想LRを使えるのはバグっぽくないか?
・フラッシュストッパー発動中に変更すると挙動が変
 だとか、やっぱり後付けの機能をバグらずに動かすのは結構、骨のようですね。
(74)2008年9月15日 プレさ兵衛
inserted by FC2 system