fc2ブログ

PC-9801落ち穂拾い

あやおり(ふつう)

今回は、そういえばやり残してたな~というようなネタでひとつ。



のゆ(ふつう)

これもその一環?サターン版ゆみみみっくすのパズルゲームを今頃クリアした、とか……



あやおり(ふつう)

まあそんな感じかな。で、そのネタというのは、昔Oh!PCという雑誌で連載されていたこの記事。




Oh!PC1984年1月号掲載 ゲーム作りに役立つサブルーチン集(1)


のゆ(ふつう)

あれ?この年代のOh!PC持ってたんですか?



あやおり(ふつう)

切り抜きが残ってた。前も言ったけど、実家のぼや騒ぎで昔のPC雑誌がほとんど捨てられてしまったんだけど、切り抜いて別の場所に保管されてたから生き残ったみたい。



あやおり(ふつう)

この連載は、マシン語でインベーダーゲームを作る、というもの。当時マシン語に憧れを抱いてたわたしとしては格好の記事だったので、ちゃんと残してたんだなあと。



のゆ(にこ)

まあオールマシン語でゲームが作れるようにはなりませんでしたけどね。



あやおり(冷や汗)

……。ええっと、この連載、最初は当時の全機種向け(PC-6001,PC-8001/mk2,PC-8801,PC-9801)だったんだけど、




Oh!PC1984年3月号掲載 ゲーム作りに役立つサブルーチン集(3)


あやおり(ふつう)

最終的にはPC-9801に的を絞ってインベーダーを完成させる、という流れでした。



のゆ(ふつう)

さすがにすべてに対応は難しいですからね。



あやおり(ふつう)

PC-9801用インベーダーができる、というのもこの記事の楽しみだったのに、結局その完成版インベーダーを遊んでなかったことに気が付きまして。



のゆ(ふつう)

なるほど、それで落ち穂拾いということなんですか。



あやおり(ふつう)

ということで三十年以上経ってからの、PC-9801版インベーダーです。




PC-9801 インベーダー


のゆ(にこ)

あ、それっぽい。



あやおり(ふつう)

ただ、遊んでみるとキー入力の反応が悪い。エミュだからか、と初代PC-9801実機でも動かしてみたんだけど、ちょっとましになるくらいでやっぱり一緒。それにインベーダーを撃ち落とした時の残骸が残る。




PC-9801 インベーダー残骸


のゆ(にこ)

まああくまで講座のサンプル、ってところでしょう。その辺は自分でなんとかすると。ちゃんとした製品版インベーダーも後に出ますしね、PC-9801版。



ベーマガ投稿ゲーム移植に出会いを求めるのは間違っている

あやおり(ふつう)

マイコンBASICマガジン1983年4月号に掲載された、ソフトウェア・ケンネルさん作「美人?スロット・マシン」をHTML5に移植してみました。



美人?スロット・マシン


のゆ(ふみゅ)

なんか本家と画面が違いますよ。



マイコンBASICマガジン1983年4月号掲載「美人?スロット・マシン」


あやおり(冷や汗)

せっかくだから今風なアレンジを入れてみようと思って。あと、女の子を描くのに資料が少なすぎて。紙面でもこれくらいしか情報がない。




マイコンBASICマガジン1983年4月号掲載「美人?スロット・マシン」


あやおり(ふつう)

「ヤキュウケン」だと、ドットを意識した絵があって再現しやすかったんだけど、これじゃちょっと……



のゆ(ふつう)

まあ確かに。それと、これって勝ち負けで女性の表情が変わるんでしょ?でもどう変わるのかがこれだと全くわかりませんねえ。



あやおり(ふつう)

2×1セルぶんを書き換えて目を変えてるようなんだけど……



あやおり(ふつう)

で、どうせなら、2×1セルといわずもう少し広く表情を変えようと。もちろん実機ぴゅう太でも再現できる形で。



あやおり(ふつう)

こんな感じで、5セルぶん書き換えるようにしました。これならリストも9行増えるくらいで済むし。



表情変えのしくみ


のゆ(ふつう)

この方式って、ヤキュウケンとおんなじですね。並びを変えてコピーしてデータを画面上に保持って。



あやおり(ふつう)

画面左端にみえちゃっててちょっとカッコ悪いけど、まあいいかなと。さっきも言ったように、これだとオリジナルのプログラムでも表情変化部分にセルコピー命令を追加するだけで大丈夫かと。



あやおり(ふつう)

それと、オリジナルプログラムを見ててすごいと思ったのが、スロットマシンのスクロールを内部的に


S1=S2
S2=S3
S3=S4
S4=S5
S5=S6

で済ませている点。



のゆ(ふみゅ)

3×3マスのスロットなんだから、変数が九個必要なんじゃない?六つでいいの?



あやおり(ふつう)

並びに規則性ができるけど、こういうしくみで、六つでも実現してる。



スクロールのしくみ


のゆ(にこ)

へえ、うまいですね。



あやおり(ふつう)

ぴゅう太はかなりプログラムに制限があるから、アイデアがすごいなあと、今までいくつか移植してみて感じました。


追いかけゲームを作ろう

のゆ(ふみゅ)

なんですかこのタイトル?



あやおり(ふつう)

原点に戻ってみよう、ということで、これが初ゲームプログラムかどうかは定かじゃないんだけど、昔作ったゲームをリメイクしてみようということで。



のゆ(ふつう)

で、それがこれ?



PAC98


のゆ(ふみゅ)

パックマンですね。



あやおり(ふつう)

マイコンBASICマガジン1983年2月号に「追いかけゲームを作ろう」という特集がありまして、それを利用して作ったのがこれ、だったかと。



のゆ(ふつう)

へ~。追いかけアルゴリズムの説明とかやってたんでしょうか。



あやおり(ふつう)

もうそのベーマガも持ってないので詳しくはわからないんだけど、確かそうだったと思う。で、このゲームも中身はほとんど紹介されてたプログラムそのまんまって感じだった。



のゆ(ふみゅ)

なんか不確実な話ばかりですねえ。



あやおり(冷や汗)

だいぶ昔の話だからね。で、このゲーム、敵が情け容赦なく追いかけてくるので、そのうちぴったり後ろにつかれて操作ミスが許されない状況になる、という結構ストレスのたまる難易度になってて。



のゆ(ふつう)

逆転のパワーエサがないですから、もうどうしようもないですよね。



あやおり(ふつう)

そういうわけなので、作ったはいいけど遊べる代物ではなかったなあと。



のゆ(ふつう)

それで作り直してみようと思い立ったんですか



あやおり(ふつう)

うん。



あやおり(ふつう)

それで、いまパックマンもどきを作ってみてもどうなのかなと思ったので、ちょっとアレンジしてみました。



ROBOT CLEANER


のゆ(ふつう)

って、ルンバとかそういうやつ?



あやおり(ふつう)

そう。自分で操作するのでロボットでもなんでもないんだけど。「@」のネコをよけながら、ゴミ「#」を回収するゲームです。



のゆ(ふつう)

PC-8001用なんですね。そういえば実機持ってるのにプログラムは作ったことなかったんでしたっけ。



あやおり(ふつう)

そんなに難しくないですが、バッテリーがなくなってもゲームオーバーなので、うまく充電できるかがゲームのカギです。



あやおり(ふつう)

追いかけアルゴリズムは以下の通りで、たぶんベーマガで紹介されてたものと同じだと思います。



あやおり(ふつう)

分岐点で進む方向を選択します。クリーナーとネコの座標の差を取り、その絶対値の大きいほうへ進路を取るというものです。



ABS


のゆ(ふつう)

ええっと、この場合は水平より垂直のほうが距離がありますね。ということは下ですか。



あやおり(ふつう)

この回の追いかけゲーム講座は、絶対値を得る「ABS」という関数の紹介って印象が強く残ってます。



のゆ(ふみゅ)

しかし、遅いですねえ。いくらPC-8001とはいえ遅すぎない?



あやおり(冷や汗)

やっぱりアルゴリズムに問題があるのかな?えらそうに説明したけど。



のゆ(ふつう)

>PRINT文がちょっと変ですよ。PRINT CHR$(CAT);って、PRINT "@"じゃあだめなの?これが遅い原因なんじゃ……<



あやおり(冷や汗)

ご存じのとおり、プログラムは実機やエミュ上じゃなくて普通のテキストエディタで書いているので、グラフィック文字が扱えません。なのでこういう形でしか。



のゆ(ふみゅ)

グラフィック文字ってなんですか?



あやおり(ふつう)

昔のパソコンは、キャラクタコードの80H以降に独自のキャラクタを置いてて、そこにゲームに使えそうなキャラが結構あった。たとえばこれはPC-9801のキャラクタコード表。



PC-9801キャラクタコード表


のゆ(ふつう)

00H-79Hの前半は今と一緒ですけど、後ろが全然違いますね。確かにいろんな記号があります。



あやおり(ふつう)

機種ごとに違いがあって、これはMSXのもの。



MSXキャラクタコード表


のゆ(ふつう)

かなり違いますね。こっちはひらがなも入ってますね。



のゆ(ふみゅ)

でも、このゲームでネコを表す@はグラフィック文字じゃないですよ。



あやおり(ふつう)

そうだけど、統一するためにそうしてます。今回のゲームだと、迷路の壁がカタカナの「ロ」、クリーナーが「●」のグラフィック文字を使用しています。



リナンバー・マイ・ラブ

のゆ(にこ)

明けましておめでとうございます!



あやおり(ふつう)

今年もよろしくお願いします。



のゆ(にこ)

今年は新年のご挨拶が早かったですね。



あやおり(冷や汗)

去年は雪があらかた解けたころだったからなあ……



のゆ(ふつう)

今年最初のネタは……リナンバプログラム?



あやおり(ふつう)

テキストファイルになってる昔のBASICプログラムにリナンバ処理、コマンドでいうところのRENUMをするプログラムを作ってみました。



のゆ(ふみゅ)

相変わらず需要のなさそうなソフトで。



あやおり(冷や汗)

エミュとかで遊ぶとき、エミュ上ではなくテキストエディタでBASICリストを作成するんだけど、あると便利だなと思って。



のゆ(ふつう)

今まではいちいちエミュでRENUMしてたんですか。



あやおり(ふつう)

そう。でも、RENUMコマンドがない機種もあるしね。PC-6001とか。



あやおり(ふつう)

こんな感じで変換します。




RENUM


のゆ(ふみゅ)

なるほど。でも注意書きを読むと完全にRENUMと同じではないようですが。



あやおり(冷や汗)

空白を詰めていいBASICにも対応しようとしたら、そうなっちゃったということで……



のゆ(ふつう)

IFA=1THEN120ELSE150 みたいな事ができるBASIC?



あやおり(ふつう)

うん。モードを分けてもよかったんだけど、まあステートメント+数値が含まれるような変数は、自分の経験からあんまりないんじゃないかと思って。



のゆ(ふつう)

AGOSUB10=1 とかを誤判定するんですよね。なんかありそうな気もしますけどね……



あやおり(冷や汗)

まあ、問題が起こったら対応を考えてみます……



セーラームーンと若き日

あやおり(ふつう)

昔作ったPC-9801ソフトを公開してみました。(現在は公開終了しています)



のゆ(ふみゅ)

なんでまた今頃。



あやおり(冷や汗)

なんだか需要がありそうだったので。しかし当時書いたテキストとか見ると恥ずかしいもんだね。



のゆ(にこ)

恥ずかしがらなくてもいいですよ。今でも十分恥ずかしいですから。



あやおり(冷や汗)

はあ……



のゆ(ふみゅ)

にしても、三つともセーラームーンがらみなんですね。



あやおり(ふつう)

この頃はまってたからねえ。



のゆ(ふつう)

「お好み絵合わせ」はいわゆるドンジャラ?



あやおり(ふつう)

そうなんだけど、同じ牌二つで一組を組み合わせるので、七対子って感じかな。もともとポケコンPC-1350用に「FRUITS JANG」っていうソフトがあって、これが面白かったのでパソコンに移植したのが始まりで。



のゆ(ふみゅ)

タイトル画面に意味ありげな空白がありますが……




お好み絵合わせタイトル


あやおり(冷や汗)

実はあとから絵柄違いを作ろうと思ってたんだけど、頓挫したままに……



のゆ(ふみゅ)

あと、なんか大きな画像が脈絡なく表示されるんですけど……




お好み絵合わせ


あやおり(冷や汗)

このソフトはQuickBasicで作ったんだけど、確かこの拡大プログラム部分はQuickCで作ったんだよ。スピードが必要だから。技術を見せつけようとするこれみよがしの演出なんだけど、唐突なので当時も友人からバグだと思われてた。



のゆ(ふつう)

えっと、次は…「ムーンライトファイターダッシュ」?




ムーンライトファイターダッシュ


あやおり(ふつう)

「あの娘がライバル!」の旧バージョンです。コマンド式じゃなくて配られたカードを使うというもの。



のゆ(ふみゅ)

あとはほとんど一緒ですね……。背景は豪快に取り込み版権画像とか、仲間内での配布しか考えてないって感じで。って、あれ?




ムーンライトファイターダッシュ2000年問題


あやおり(冷や汗)

あ、やっぱり。



のゆ(ふみゅ)

2000年問題ですねえ。2014年が114と……



あやおり(冷や汗)

まあ、表示だけの問題だと思うので大目に見てください。



のゆ(ふつう)

最後は「まこちゃんのときめきクッキング」ですか。どっかで見たことあるような……




まこちゃんのときめきクッキング


あやおり(冷や汗)

ゲームウォッチのシェフです。はい。



のゆ(にこ)

重ね合わせを使ったアクションゲームなんて、結構やるんじゃない?



あやおり(ふつう)

いや、重ね合わせは使ってない。こんな感じであらかじめ背景と合成してある絵を用意してあるだけ。




まこちゃんのときめきクッキング使用グラフィック


のゆ(ふみゅ)

な~んだ。



あやおり(冷や汗)

ということで、大したことないソフト達ですが、お暇ならプレイしてみてください。



カレンダー
02 | 2024/03 | 04
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
twitterでひとこと
最新記事
リンク
カテゴリ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
来訪者数