2018年10月02日

雑誌掲載作品レビュー(26)「SPREST 2000」

今回のお題はマイコンBASICマガジン1988年3月号掲載の「SPREST 2000」です。 
内容はかなりオーソドックスな縦スクロールシューティングゲームです。

SPREST2000_1.png


自機はカーソルキーで左右にのみ移動し、スペースキーでミサイル(2連射)を発射します。
敵は戦闘機型、エイリアン型、ドリル型、青玉(以上、勝手に命名)の4種類います。
SPREST2000_2.png
この内青玉は破壊不能で、戦闘機型は普通に倒せるもの、倒すと青玉に変化するもの、自機とX座標が合うと青玉に変化するもの、の3種類いるようです。
シューティングあるあるですが、破壊不能の青玉がこのゲーム最大の敵です
バックの星は3重スクロールしており、ラウンドの最後、ボスが登場する前にはなんと逆スクロールします。
ボスは戦闘機型の頭と青玉の胴体を持ったヘビ型の敵で、他に護衛や青玉に守られています。
SPREST2000_3.png
ボスを倒すか一定時間経過するとラウンドクリア、1周8ラウンドで3周するとエンディングです。
難易度は1周するだけならさほど高くありません。3週目に敵が非常に高速になり、一気に難しくなります。
SPREST2000_4.png
ゲームとしては非常にオーソドックスなのですが、特筆すべき点は、ベーマガのN66SR-BASIC作品としてはここに来てやっとメインをマシン語で記述したシューティングゲームが出てきたことです。
ベーマガ上でのN66SR-BASIC作品のトレンドとしては、
・86年頃まではBASIC組み込みのPUT@関数によるグラフィック
・87年頃からPUTルーチンのみマシン語を使用した作品が出始める
と言った感じで、なまじBASICにPUT@があるためかN60-BASICに比べてマシン語PUTルーチンの普及が遅かった感があります。

SR専用シューティングとしてはブレイク・スルーII(1985年8月頃発表)が知られていますが、ベーマガからマシン語シューティングが出てくるまでにはだいぶ時間がかかったことになります。
当作品の作者はこの後「P-TYPE」など多数のSR用シューティングゲームを投稿しています。
SPREST2000_5.png

例によって動画を取りましたのでこちらもご覧下さい。
ラベル:PC-6001 ベーマガ
posted by eighttails at 19:58| Comment(5) | 雑誌掲載作品レビュー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
こんばんは。はじめまして。
 ヤフオクでベーマガを落としてこのゲーム入力したのですが、チェックサムが合わず。( ;∀;)
 何回か全行目視確認したのですがバグ発見できません。(機械語全体のチェックサムなんですね。)
 私の落としたベーマガだけかもしれませんがプログラムのLISTの印刷が薄く、BとCの区別がつかず。
管理人?さんのお持ちのベーマガでははっきり見えますか?教えていただきたく。お願い致します。<(_ _)>
Posted by みぎむけみぎ at 2022年04月02日 22:00
>みぎむけみぎさん
私も原本は所持していなくて、国会図書館で複写したものをスキャン、拙作のProgramListOCRでOCR処理して入力したものです。
改めて紙面を確認してみましたが、確かに相当印刷が薄いです。入力時にはスキャン画像にGIMPなどでコントラスト補正などをして入力していたと思いますが、それでも目視確認はかなり大変だったと記憶しています。
Posted by eighttails at 2022年04月02日 22:40
画像の補正はここに書いたような手順で文字を濃くして、
さらにそれを印刷してマシン語の部分は赤ボールペンで8桁ごとに縦線を引いて目視確認をしていました。
https://github.com/eighttails/ProgramListOCR/blob/master/README_J.adoc#%E6%93%8D%E4%BD%9C%E6%89%8B%E9%A0%86
Posted by eighttails at 2022年04月02日 23:01
回答ありがとうございます。
そうですか、国会図書館のものも薄いですか....
実行してチェックサムの値(変数SUM)をみると64(10進数)違うので一か所かもしれませんね.
Posted by みぎむけみぎ at 2022年04月05日 16:58
ちなみに、補足するとマシン語の部分は打ち間違いやOCRの誤認識によって16 進数以外の文字が混入してもエラーになりません。
例えば「0(ゼロ)」の代わりに「O(オー)」を入力してしまった場合などはREADエラーが発生せず、チェックサムでのエラーが起こりがちです。

リストやバイナリの提供には応じられませんが、拙作のN6XBasicCheckerを使うと16進数部分の入力ミス(データ部分に0-9,A-F以外の文字があったらエラーとする)を検出できます。

http://eighttails.seesaa.net/category/15101645-1.html

N6XBasicChecker -x 1020-2280 LIST.txt とすると、DATA文の範囲(1020行から2280行まで)で16進数以外の値がDATA内にあった場合にエラーとして検出できます。

これでもエラーが見つからない場合、合計値の差異が64だとすると上位4バイトが8↔BまたはC↔0のどちらかの入力ミスが1か所あるという可能性が高いと思うのでその線で絞ってみてはどうでしょうか。

がんばってください。
Posted by eighttails at 2022年04月05日 20:25
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。