PC-9801落ち穂拾い
今回は、そういえばやり残してたな~というようなネタでひとつ。
これもその一環?サターン版ゆみみみっくすのパズルゲームを今頃クリアした、とか……
まあそんな感じかな。で、そのネタというのは、昔Oh!PCという雑誌で連載されていたこの記事。
あれ?この年代のOh!PC持ってたんですか?
切り抜きが残ってた。前も言ったけど、実家のぼや騒ぎで昔のPC雑誌がほとんど捨てられてしまったんだけど、切り抜いて別の場所に保管されてたから生き残ったみたい。
この連載は、マシン語でインベーダーゲームを作る、というもの。当時マシン語に憧れを抱いてたわたしとしては格好の記事だったので、ちゃんと残してたんだなあと。
まあオールマシン語でゲームが作れるようにはなりませんでしたけどね。
……。ええっと、この連載、最初は当時の全機種向け(PC-6001,PC-8001/mk2,PC-8801,PC-9801)だったんだけど、
最終的にはPC-9801に的を絞ってインベーダーを完成させる、という流れでした。
さすがにすべてに対応は難しいですからね。
PC-9801用インベーダーができる、というのもこの記事の楽しみだったのに、結局その完成版インベーダーを遊んでなかったことに気が付きまして。
なるほど、それで落ち穂拾いということなんですか。
ということで三十年以上経ってからの、PC-9801版インベーダーです。
あ、それっぽい。
ただ、遊んでみるとキー入力の反応が悪い。エミュだからか、と初代PC-9801実機でも動かしてみたんだけど、ちょっとましになるくらいでやっぱり一緒。それにインベーダーを撃ち落とした時の残骸が残る。
まああくまで講座のサンプル、ってところでしょう。その辺は自分でなんとかすると。ちゃんとした製品版インベーダーも後に出ますしね、PC-9801版。
ベーマガ投稿ゲーム移植に出会いを求めるのは間違っている
マイコンBASICマガジン1983年4月号に掲載された、ソフトウェア・ケンネルさん作「美人?スロット・マシン」をHTML5に移植してみました。
なんか本家と画面が違いますよ。
せっかくだから今風なアレンジを入れてみようと思って。あと、女の子を描くのに資料が少なすぎて。紙面でもこれくらいしか情報がない。
「ヤキュウケン」だと、ドットを意識した絵があって再現しやすかったんだけど、これじゃちょっと……
まあ確かに。それと、これって勝ち負けで女性の表情が変わるんでしょ?でもどう変わるのかがこれだと全くわかりませんねえ。
2×1セルぶんを書き換えて目を変えてるようなんだけど……
で、どうせなら、2×1セルといわずもう少し広く表情を変えようと。もちろん実機ぴゅう太でも再現できる形で。
こんな感じで、5セルぶん書き換えるようにしました。これならリストも9行増えるくらいで済むし。
この方式って、ヤキュウケンとおんなじですね。並びを変えてコピーしてデータを画面上に保持って。
画面左端にみえちゃっててちょっとカッコ悪いけど、まあいいかなと。さっきも言ったように、これだとオリジナルのプログラムでも表情変化部分にセルコピー命令を追加するだけで大丈夫かと。
それと、オリジナルプログラムを見ててすごいと思ったのが、スロットマシンのスクロールを内部的に
S1=S2
S2=S3
S3=S4
S4=S5
S5=S6
で済ませている点。
3×3マスのスロットなんだから、変数が九個必要なんじゃない?六つでいいの?
並びに規則性ができるけど、こういうしくみで、六つでも実現してる。
へえ、うまいですね。
ぴゅう太はかなりプログラムに制限があるから、アイデアがすごいなあと、今までいくつか移植してみて感じました。
追いかけゲームを作ろう
なんですかこのタイトル?
原点に戻ってみよう、ということで、これが初ゲームプログラムかどうかは定かじゃないんだけど、昔作ったゲームをリメイクしてみようということで。
で、それがこれ?
パックマンですね。
マイコンBASICマガジン1983年2月号に「追いかけゲームを作ろう」という特集がありまして、それを利用して作ったのがこれ、だったかと。
へ~。追いかけアルゴリズムの説明とかやってたんでしょうか。
もうそのベーマガも持ってないので詳しくはわからないんだけど、確かそうだったと思う。で、このゲームも中身はほとんど紹介されてたプログラムそのまんまって感じだった。
なんか不確実な話ばかりですねえ。
だいぶ昔の話だからね。で、このゲーム、敵が情け容赦なく追いかけてくるので、そのうちぴったり後ろにつかれて操作ミスが許されない状況になる、という結構ストレスのたまる難易度になってて。
逆転のパワーエサがないですから、もうどうしようもないですよね。
そういうわけなので、作ったはいいけど遊べる代物ではなかったなあと。
それで作り直してみようと思い立ったんですか
うん。
それで、いまパックマンもどきを作ってみてもどうなのかなと思ったので、ちょっとアレンジしてみました。
って、ルンバとかそういうやつ?
そう。自分で操作するのでロボットでもなんでもないんだけど。「@」のネコをよけながら、ゴミ「#」を回収するゲームです。
PC-8001用なんですね。そういえば実機持ってるのにプログラムは作ったことなかったんでしたっけ。
そんなに難しくないですが、バッテリーがなくなってもゲームオーバーなので、うまく充電できるかがゲームのカギです。
追いかけアルゴリズムは以下の通りで、たぶんベーマガで紹介されてたものと同じだと思います。
分岐点で進む方向を選択します。クリーナーとネコの座標の差を取り、その絶対値の大きいほうへ進路を取るというものです。
ええっと、この場合は水平より垂直のほうが距離がありますね。ということは下ですか。
この回の追いかけゲーム講座は、絶対値を得る「ABS」という関数の紹介って印象が強く残ってます。
しかし、遅いですねえ。いくらPC-8001とはいえ遅すぎない?
やっぱりアルゴリズムに問題があるのかな?えらそうに説明したけど。
>PRINT文がちょっと変ですよ。PRINT CHR$(CAT);って、PRINT "@"じゃあだめなの?これが遅い原因なんじゃ……<
ご存じのとおり、プログラムは実機やエミュ上じゃなくて普通のテキストエディタで書いているので、グラフィック文字が扱えません。なのでこういう形でしか。
グラフィック文字ってなんですか?
昔のパソコンは、キャラクタコードの80H以降に独自のキャラクタを置いてて、そこにゲームに使えそうなキャラが結構あった。たとえばこれはPC-9801のキャラクタコード表。
00H-79Hの前半は今と一緒ですけど、後ろが全然違いますね。確かにいろんな記号があります。
機種ごとに違いがあって、これはMSXのもの。
かなり違いますね。こっちはひらがなも入ってますね。
でも、このゲームでネコを表す@はグラフィック文字じゃないですよ。
そうだけど、統一するためにそうしてます。今回のゲームだと、迷路の壁がカタカナの「ロ」、クリーナーが「●」のグラフィック文字を使用しています。
リナンバー・マイ・ラブ
明けましておめでとうございます!
今年もよろしくお願いします。
今年は新年のご挨拶が早かったですね。
去年は雪があらかた解けたころだったからなあ……
今年最初のネタは……リナンバプログラム?
テキストファイルになってる昔のBASICプログラムにリナンバ処理、コマンドでいうところのRENUMをするプログラムを作ってみました。
相変わらず需要のなさそうなソフトで。
エミュとかで遊ぶとき、エミュ上ではなくテキストエディタでBASICリストを作成するんだけど、あると便利だなと思って。
今まではいちいちエミュでRENUMしてたんですか。
そう。でも、RENUMコマンドがない機種もあるしね。PC-6001とか。
こんな感じで変換します。
なるほど。でも注意書きを読むと完全にRENUMと同じではないようですが。
空白を詰めていいBASICにも対応しようとしたら、そうなっちゃったということで……
IFA=1THEN120ELSE150 みたいな事ができるBASIC?
うん。モードを分けてもよかったんだけど、まあステートメント+数値が含まれるような変数は、自分の経験からあんまりないんじゃないかと思って。
AGOSUB10=1 とかを誤判定するんですよね。なんかありそうな気もしますけどね……
まあ、問題が起こったら対応を考えてみます……
セーラームーンと若き日
昔作ったPC-9801ソフトを公開してみました。(現在は公開終了しています)
なんでまた今頃。
なんだか需要がありそうだったので。しかし当時書いたテキストとか見ると恥ずかしいもんだね。
恥ずかしがらなくてもいいですよ。今でも十分恥ずかしいですから。
はあ……
にしても、三つともセーラームーンがらみなんですね。
この頃はまってたからねえ。
「お好み絵合わせ」はいわゆるドンジャラ?
そうなんだけど、同じ牌二つで一組を組み合わせるので、七対子って感じかな。もともとポケコンPC-1350用に「FRUITS JANG」っていうソフトがあって、これが面白かったのでパソコンに移植したのが始まりで。
タイトル画面に意味ありげな空白がありますが……
実はあとから絵柄違いを作ろうと思ってたんだけど、頓挫したままに……
あと、なんか大きな画像が脈絡なく表示されるんですけど……
このソフトはQuickBasicで作ったんだけど、確かこの拡大プログラム部分はQuickCで作ったんだよ。スピードが必要だから。技術を見せつけようとするこれみよがしの演出なんだけど、唐突なので当時も友人からバグだと思われてた。
えっと、次は…「ムーンライトファイターダッシュ」?
「あの娘がライバル!」の旧バージョンです。コマンド式じゃなくて配られたカードを使うというもの。
あとはほとんど一緒ですね……。背景は豪快に取り込み版権画像とか、仲間内での配布しか考えてないって感じで。って、あれ?
あ、やっぱり。
2000年問題ですねえ。2014年が114と……
まあ、表示だけの問題だと思うので大目に見てください。
最後は「まこちゃんのときめきクッキング」ですか。どっかで見たことあるような……
ゲームウォッチのシェフです。はい。
重ね合わせを使ったアクションゲームなんて、結構やるんじゃない?
いや、重ね合わせは使ってない。こんな感じであらかじめ背景と合成してある絵を用意してあるだけ。
な~んだ。
ということで、大したことないソフト達ですが、お暇ならプレイしてみてください。