Midwayeighttailsの雑記帖です。プログラミング、レトロPCの小ネタについて書いていきます。このシリーズでは初めてPCマガジン掲載作品を取り上げます。ゲーム内容は固定画面のアクションゲームです。自軍基地に迫ってくる敵戦車に乗り込み、敵戦車を内部から破壊することで基地を防衛するのが目的です。画面構成は画面上部が自軍基地と敵戦車の距離を表したサイドビュー、その下は敵戦車の内部を表したトップビュー?の画面です。画面上部のビューで敵戦車に向かってダッシュして乗り込みます。敵戦車に乗り込むと主人公が戦車内のビューに現れて操作できるようになります。主人公はカーソルキーで4方向に移動でき、スペースキーでクラッシュ弾を画面内に1発だけ発射できます。クラッシュ弾は敵か壁に当たるまでまっすぐ飛び、敵に当たると敵とともに消滅、壁に当たるとそこで止まります。クラッシュ弾の飛行中または止まった状態でもう一度スペースキーを押すと広範囲に爆風を出して爆発します。爆風に巻き込まれた敵は石を落とします。この石を拾うと主人公のパワー(HP)が回復しますが、拾わずに放置すると高速弾となって復活してしまいます。主人公が爆風に巻き込まれるとダメージを受けます。爆心地に近いほどダメージが大きいということになっていますが、爆風の最外周以外では事実上即死です。戦車内で戦闘をしている間にも戦車は前進しており、自軍基地まで到達してしまうとゲームオーバーになります。これを阻止するため、戦車内のメインコンピューターにクラッシュ弾を3回当てて爆発させると戦車を足止めすることが出来ます。メインコンピューターにクラッシュ弾でなく直接体当りすると今度はカウントダウンが始まります。カウントが0になって戦車が爆発する前に出口をクラッシュ弾で爆破して脱出します。ゲームの流れとしては・敵戦車に乗り込む・メインコンピュータに爆風を当て足止めする・メインコンピュータに体当りして破壊する・敵戦車から脱出するとなり、固定画面でありながらかなりやることが多いゲームです。3回敵戦車を撃破するとシーンクリア、全8シーンのゲームです。ゲームの出来としては非常に良く出来ています。mk2の15色グラフィックを活かしたセンスの良いドット絵(しかもキャラが大きい)をオールマシン語で高速に動かしています。シューティングゲームの単調さに陥らないようにするため、フェーズによってやることを変えるという作者のゲームデザインの意図がうまく反映されています。1シーン内で敵戦車を3台破壊するという一見冗長な仕様も、戦車を破壊することで次の戦車が来るまでに自分は前進することができ、敵戦車を後退させたことと同じ意味を持ちます。自軍基地を防衛するという目的を明確にするために必要な仕様だったと私は分析しています。惜しい点としては音が少し寂しいこと、ゲームのデザインが良い分バランスに欠いた部分があることです。一つはキャラが大きい割にクラッシュ弾の飛行中の当たり判定が小さく、接近戦になると攻撃が当たらず(爆発させてしまうと自分が死んでしまう)相手のなすがままにやられてしまうという状況に陥ります。その点の救済措置として回復アイテムが大量に出るのかもしれませんが、接近戦用の武器があるとより戦略性が上がったと思います。クラッシュ弾の爆風が強力すぎて一度誤操作で巻き込まれると即ゲームオーバーになってしまうことです。敵の数はかなり多いので連射をしたくなるケースは多いのですが爆発させないように連射するのはかなり神経を使いプレイヤーを疲弊させてしまいます。爆風のダメージは大幅に緩和するか、せめて残機制になっていればよかったと思います。例によってTAPで動画を取りましたので、こちらもご覧下さい。OCRを使って入力しました。OCRにかけたテキストはチェックサムも一緒に読み取っていますので、そのテキストをパースしてチェックサムの検証をするPythonスクリプトを作成しています。PCマガジンのダンプリストは行ごとのアドレスに加え、各列の値に列インデックスをかけた値を加えるという方式のため非常に堅牢で、スクリプトによるチェックをすり抜けるOCRの誤認識は限りなくゼロに近いと言えます。PCマガジンのダンプリストは印字が細かいのですが24ドットプリンタを使用しており解像度が高く、活字に近い状態で印字されています。OCRは通常の活字風フォントも学習させてありますので24ドットプリンタとの相性も良く、1ページあたりの誤認識が1,2箇所という好成績でした。今回6ページ10.5キロバイトのダンプリストに対してOCRの誤認識は8箇所、読み取りから修正にかかった時間は約40分。打ち込みの生産性は格段に向上したと自画自賛しています。|この記事へのコメントコメントを書くお名前:メールアドレス:ホームページアドレス:コメント:※ブログオーナーが承認したコメントのみ表示されます。