SSブログ

孤独へ向って突っ走れ (46) [  PC-98x1(補完計画)]

きのう、何の因果かマタンゴを思い出した。きのこのおばけが出てくるシーンは恐いが、それ以外の部分がやたらと長かったと記憶している。で、マタンゴを思い出した私は、今日になって「マ単語」を思い出した。たしかそんな言葉だったと思う。日高総帥のどれかの著書に出てきた。マだからマシン語の著書のうちのどれかだ。ネット検索してみたけど、だれも「マ単語」については書いていなかった。

マシン語は面白い。サッカーが面白いという人は多いし、野球が面白いという人も多い。ところがマシン語を面白いと言うと、たぶん99パーセントの人の反応は私の期待とは違う。「へえ、すごいですね。」すごい?たしかに世の中にはすごいマシン語使いがいらっしゃる。でも私は初心者だ。たいしたことはできない。でも面白いんだ。ところが、サッカーが面白いと言って人は理解してくれるが、マシン語が面白いと言ってもなかなか理解してくれない。たとえ「すごい」という言葉は返ってきても、「そうですね面白いですね」という言葉はまず返ってこない。サッカー好きの人が話の合う友達を作るのは比較的簡単だが、マシン語好きの人が話の合う友達を見つけるのは難しい。私はある意味不幸を感じる。

さて、例の巨大なルーチン。いずれはコードを遡ったり先へ辿ったりしてサブルーチンの全容を明らかにしなければならないが、手を広げすぎると自滅する恐れがあるから、私はすでに逆アセンブル済みの部分、Word文書にして30ページ分をとにかく解析することにした。今日は有難いことに、その30ページ分が大体わかった。データセグメントの特定の場所の意味が、少しずつわかり始めている。word ptr DS:[134C]の値を100倍すると所持金(円)になる。word ptr DS:[12DC]はゲーム内の日付を意味する。

でも、誤解しないでほしい。こうやってブラックボックスだったものの一部が自分の努力によって明らかになるのは私にとってたしかに楽しいが、でもこれは私の目的ではない。私の目的は全部のPICファイル(PC-9801用に作られたビットマップデータ)に対応するパレットファイルを知ることだ。所持金もゲーム内の日付も、そこに近づくための一歩にすぎない。このゲームでは特定のイベントに関係するパレットファイルはそれを読み込むためのデータのアドレスが即値で指定されているから簡単に解析できて、もうイベント関係のパレットはわかっている。問題は、イベントでも何でもない部分だ。それと、イベントでもたったひとつ、データのアドレスが即値で指定されないものがある。これらは、このプログラムの仕組みを根気強く解析しないと正しいパレットがわからない。

このへんで話を変えよう。この記事を読んでくださる方がどのような方かはわからないが、アセンブラ関係ではなく、解析中の「テニス・テニス2」が知りたくて読んでくださる方もいらっしゃるだろう。だからこの後は、ちょっと前にゲームをプレイした時のことを書こう。

私は病気見舞いのイベントを出して、パレットの判定が正しいかどうかを目で見て再確認したかった。でもこれは、私にとって辛いことだった。たかがゲーム内のこととはいえ、自分が育てている選手をわざと疲れさせ、病気にさせる。私はそんなとんでもないコーチに自分がなるのは嫌だ。この作業は嫌だった。でもしなければならない。

ちょっと選手が疲れると、「アホ顔」の絵になる。でもアホ顔程度では意外と影響が出ない。このゲームをテストプレイしてゲームバランスを調整した方々は、難しくしないようにと頑張って調整したらしい。相当体力を落とすと、この下の絵になる。
tt61.png

こうやって選手をわざと病気にしようという辛いゲームプレーの間にも、容赦なくテニスの大会は進行してゆく。つまり他選手との試合がやってくる。ああ、負けるのか?体力を落とした私の教え子は負けるのか?負けて嬉しいゲームプレーヤーがどこにいる!

ところが、試合の結果が予想外のことになった。選手を病気にさせるためにわざと体力を落とさせても3試合連続で勝ってしまったのだ!下の画像がその証拠。藤井絵麻が3試合連続で○になっている。
tt62.png

このゲームでは、最初のほうの対戦相手は各パラメータを低くして難易度を易しくしているのかもしれない。でもひょっとすると、休ませずに練習ばかりさせたから藤井絵麻の腕力が100になったせいだろうか?
tt63.png

コメント(0) 

コメント 0

コメントの受付は締め切りました