何とか庵日誌

本名荒井が毒にも薬にもならないことを書きつづるところ

「テニスゲーム」

f:id:fukenko:20200508235011p:plain


 これまでたびたび紹介してきた「アクションゲーム38」掲載作品も、これで最後となりました。38番目の作品は「テニスゲーム」です。
 テニスと言っても相手と打ち合うゲームではありません。ラケットを動かしボールを取りこぼさないよう、壁相手にひたすら球を打ち返すというゲームです。自作「マイコンゲーム」定番中の定番、古典中の古典とも言うべきやつですな*1。テニスよりむしろ「スカッシュゲーム」とでも呼ぶべきか。
 今やるとやはり単純さは否めませんが、作りはまずまず悪くありません。本作も前に紹介した「ブロック攻撃」ゲーム同様、ミートポイントによって球の跳ね返る方向をきっちり変えています。キャラクターはスプライト使用。ですので動きもドット単位でスムーズです。ラケットが小さいので打ち返すのはちょっと難しいですが、それはご愛敬(泣)。ラリーを続けるには球の行く先を読むのが必須です。


 プログラム上では、スプライト割り込みの使い方が見どころです。本作では球とラケットの衝突判定をスプライト割り込みでやっています。衝突したら打ち返し処理に飛ぶのですが、このとき一時的にスプライト衝突検出をオフにして、誤動作を防いでいるのが勘所です。地味ながら、ゲームとして押さえるべき点はきっちり押さえてある作品です。


 これは他の「アクションゲーム38」作品にも言えます。収録作はどれも簡素で最小限ながら、ルールやゲームシステムなど、ゲームとして外せない要点はきちんと押さえてあり、しっかり遊べるようにできているのです。「山椒は小粒でぴりりと辛い」。そんな文句がおもいうかびますが、全体的に印刷の質が悪く*2OCRとの相性があんまり良くないのは大変だったぜ(おい)。


 さて、これで「アクションゲーム38」収録作はすべて入力したぞとおもいきや、改めて数えてみたらいただいたリストが1本足りず、まだ入力してない作品が残ってることに気づきました。コンプリートできてねぇ(泣)

*1:すがやみつる先生の「あらしのテニスゲーム」が代表的な作品でしょう。

*2:出版元のアスキーも印刷の質が悪いことは承知していたようで、印字カスレに起因する文字の読みづらさを詫びる文章が、当時のMマガに掲載されていました。

APS-Cフォーマットも過去のものになりつつないか

 CONTAX Tixの電池が切れかけてることに気がつき、ケーズデンキで新しいのを買ってきました。
 TixはCR2電池を一本使います。なんでも従来のコンパクトカメラ以上にコンパクトなAPSコンパクトカメラ向けに新しい電池が必要だということで開発されたのがこのCR2なのだそうです。APSフィルムカメラが滅亡してから長いこと経つのに、CR2がまだ容易に手に入れられるのは、非常にありがたいことなんですが、そのわりにAPSカメラあんまり使ってねぇ(汗)

#おうちでラーメン道

f:id:fukenko:20200507190207j:plain
わりとうまいよ
 先日山形県のローカルテレビ番組で、自粛自粛の今だから、視聴者のみなさんからおうちで簡単に作って楽しめるラーメンレシピを募集しますなんてやってました。というわけで、ただ茹でて湯を切った中華麺に、てきとうにゴマ油と醤油ぶっかけて混ぜて食うだけのやつを投稿しようかとおもったんですが、レシピと呼ぶにはあまりにヒドいのでおもいとどまりました(おい)。


 ちなみにその週に紹介されていたおうちでラーメンレシピは、琴平荘の掛神社長考案の、市販の塩ラーメンにこれまた市販のレトルト中華丼の素をぶっかけるだけで完成という、身もフタもないやつでした(おい)。
 しかしながら実際に作るとなると、荒井のようなぐうたら人間には、世に溢れる「かんたんレシピ」は簡単ではありません。なぜなら。料理は手間の積み重ねだから。どんなに難しい作業ではなかろうと、煮たり焼いたり切ったりの手間は言うに及ばず、材料や道具を揃えたりするのがまず手間ですし、分量を量ったり下ごしらえをしたりというのもえらい手間なら、レシピを遵守するのも無視できない手間です。目の前を立ちふさぐ手間の数々。そもそもぐうたらには「さぁ、作ろう」と厨房に立つこと自体が大きな手間なんですよ!(号泣)
 それは「かんたんレシピ」も同様。簡単と謳いつつ、実際にはレシピに語られない無数の手間が存在するわけで、ぐうたらにはそれが負担となります。ですからかんたんレシピを簡単に作れるのは、心得があるというか料理がすっかり身についてそれだけの手間を息をするようにこなしてしまえる人、手間をおっくうがらない人だけなのです。
 というわけで件の掛神社長考案ぶっかけるだけレシピは、作ろうと決意するまでもなく完成するという点で、わりとアリなのではないかとおもうのでありますが、俺もそのうち日東ベストさんの中華丼の素で作ってみよう(おい)。

「ブロック軍団の逆襲」

f:id:fukenko:20200505225923p:plain


 というわけで「アクションゲーム38」から、今回は「ブロック軍団の逆襲」です。
 スクリーンショットをご覧になれば、もうどういうゲームかはおわかりでしょう。いわゆるインベーダーゲームです(おい)。本作の紹介文では「ひとことで言うならインベーダータイプのゲーム」と説明されています。
 ルールは至ってかんたん。砲台を操りミサイルを発射して、上から迫り来るブロックインベーダーの軍団を殲滅しましょう。敵は撃墜されたタイミングで弾を撃ってくるので、当たっても油断ができません。今やおなじみの撃ち返し弾というやつですな(おい)。全滅させれば次の面へ。被弾したり敵の侵略を許してしまうとゲームオーバーです。
 他の「アクションゲーム38」収録作同様、本作もスプライト・PCG未使用、ノーマルキャラのみで構成されています。だからといって内容も貧弱なんだろうと決めてかかるのは早計です。本作は簡素なプログラムならではの工夫によって、なかなか遊べるゲームに仕上がっているのです。


f:id:fukenko:20200505230852p:plain
プログラムを中断して種明かし。
表示幅を狭めることでそれらしく表示する技に目から鱗
 敵が多数出現するゲームでは、通常、出現する敵ごとに表示や判定をするのがあたりまえになっています。しかしその分処理が増えるため、プログラムの容量や動作速度で不利になります。特にBASICでは遅くてゲームにならないなんてことになります。
 しかし本作では、敵を文字列として扱うことで、その問題を解決しています。ブロック軍団の状態は60文字分の文字型変数に格納されています。MSX-BASICのWIDTH命令で画面表示幅を狭めた上で、ひとつずつ座標をずらしながら件の文字型変数を画面に表示するとあら不思議、「スペースインベーダー」のごとく隊伍を組みながら下に迫ってくるように見えるという寸法です。
 敵とミサイルの当たり判定はVRAMのパターンネームテーブルを参照し、撃墜された敵を消す処理は文字列の該当部分をMID$で空白に書き換えることで実現。さらなる処理の簡略化とプログラムの高速化を計っています。
 これら手法のおかげで速度も操作性は十分。「スペースインベーダー」よりぐっと簡略化されていながらも、それらしいやりとりが楽しめます。簡素ながら効果的な工夫の数々に、市販ソフトの超絶技巧に負けない感銘を受けます。

ついでに寒い

 今日は月山も鳥海山もよく見える晴れながら、こどもの日ということでステイホーム期間といえどもそれなりに人出が予想されるので、うちで作業にいそしみます(おい)。


 もっとも、自粛中か否に限らず荒井はむやみに混み合うところが苦手なので、世間が休んでいるときはあんまり出歩かないか、人がいないところを狙って行くようにしてます。おもえば学生やってた頃から、平日に動き回れる恩恵と自由を享受してきたせいなんでしょうなぁ。

たぶん最近ラーメン食ってないから

 以前脂肪肝と診断されたのをきっかけに、毎日体重を量ることにしてるんですが、冬の間58キロとかそれくらいあった体重が、ここに来て久々に56キロ台になってめでたいので今日のネタはこのへんで終わります(おい)。

俺の魂の叫びだ!

www.oricon.co.jp


 ライヴハウスに行ったことはまったくありませんが、SEX MACHINEGUNSが「みかんのうた」のCDで「ようこそ、いらっしゃいませ~」と言ってる場所として荒井には記憶されています(おい)。
 TBSラジオの深夜放送のCMとかでもその名は何度か聞くことがありましたので、なにかおもしろいことをやってる場所だという印象がありました。行ったことがないにもかかわらず、閉館の報に寂しくなるのはふしぎなもんです。