敵戦車の形状がオリジナルより車高が高いのがやはり気になったので修正。
2025/04/12
2025/01/25
ASTEROIDS 2
ASTEROIDSもBATTLE ZONEと同様にハイスコアのデータをリセットするための隠しコマンドがあったのだが、同じくコンフィグ画面があった方が良いなと思って追加した。
2025/01/13
BATTLE ZONE 7
隠しコマンドでハイスコアをリセットできるようにしていたのだけれど、XEVIOUSのようにちゃんとコンフィグ画面があった方が良いと思えたので追加した。
2024/10/16
XEVIOUS 20
XEVIOUSは当時のメジャーなパソコンにはほぼ移植された。
その中でPC88用のXEVIOUSはあまり評判がよろしくなかったのだけれど、そもそもPC88はシューティングゲームの実現には向いていないので仕方がないし、よくここまで頑張ったなと言えるものではあった。遊べるかというのは置いといて。
(その意味でもアルフォスはやっぱり凄い)
そんなPC88のXEVIOUSであるが、隠しエリアの17面があるという(ゼビウス AREA17への道)。
こういうのは一体どうやって見つけるのか。普通に遊んでたら絶対に見つからないと思うのだけれど。プログラムを解析した強者がいるのか、内部リークなのか。
それはさておき、隠しエリアというのはワクワクするものである。
なので、自分のでも隠しエリアを追加することにした。隠しエリアならボツキャラのギャラクシアンやギャラガのキャラが出せるし、以前に付けたボツキャラの橋(XEVIOUS 16 (戦場に架ける橋))なんかはオリジナルに戻して、隠しエリアで実装するのが良いようにも思える。
隠しエリアへの入り方や隠しエリアのマップはPC88版とは違うものにするつもり。
2024/09/16
ゲームパッドに対応する5
また面倒なことを発見。
FireFoxではゲームパッドはセキュアな状況でないと動かない。具体的には navigator.getGamepads がエラーになる。
調べたところ、FireFoxではURLがhttpsでないとダメらしい。
幸いにもFC2では無料でhttpsに変更でき、これまでのhttpでのURLアクセスはhttpsのアドレスにリダイレクトされるので、単にFC2での設定で「httpsに変更」にチェックを入れるだけで良かった。
2024/09/08
ゲームパッドに対応する4
ゲームパッドに対応できたことが嬉しくて、結局スティック付きも買ってしまった。
さすがにこっちは高かったけれど、型落ちなのか定価6380円のところAmazonで2000円(送料別)だった。
振動用モーターは付いていないけれど不要だしその分軽いのがいい。
というわけで疾走者たちへ、インベーダー、バトルゾーン、アステロイド、ゼビウスをスティック対応にした。
とりわけバトルゾーンは2スティックで実機と同じ用に操作できるようになったのは嬉しい、というかこれがやりたくて買ったんだけどね。
2024/09/05
ゲームパッドに対応する2
残念!!
ゲームパッドの対応はすんなりできたわけだが、残念なことが起きた。
スタートボタンで開始すると効果音やBGMが鳴らない
javascriptでのサウンドオブジェクトは単にPlayしただけでは鳴らない。
これはページを開いた途端に音が鳴るのを防ぐためのもので、必ずユーザーのアクション、すなわちクリックやキーボード操作を行った後でないと鳴らない仕様なんである。
ところがゲームパッドでの入力はサウンドオブジェクトにとってユーザー操作とみなされないらしく、スタートボタンを押してゲームが始まっても無音。
先に画面をクリックとかしておいてからスタートボタンを押せば鳴るんだけどね。
というわけで残念ながらゲーム開始は今まで通り S キーを押すことにした。
Sキーを押してゲームが始まったらもちろんゲームパッドで操作できるんだけど、せっかくスタートボタンがあるのに変な感じである。
なんとかならんもんかねえ。
2024/09/04
ゲームパッドに対応する
- ゲーセンでやるもの
- パソコンでやるもの
2024/09/02
XEVIOUS 19
全く持って蛇足だが、実機のバグを敢えて再現した。
アンドア・ジェネシスのコアを破壊すると4000点だが実機ではそれ以上に点が入る。
これは参照するテーブルの初期化忘れにより直前の地上キャラの点数も加算されるためらしい。
こっちの実装ではそんなテーブルはそもそも持っていないが、加算される点数は毎回決まっているのでそのようにした。
具体的には4面:+800点、9面:+200点、14面:+400点である。
ただしその面でミスをして再出撃した場合は+10点
その他にも実機には不具合があるので整理してみる。
| 不具合 | 原因 | 実装状況 |
|---|---|---|
| ギドスパリオの爆発時に赤い板がチラチラする | 未定義の領域も表示しているためらしい | 実装したくない |
| ミスする場所によってはエリアが2つ進む | メインCPUとサブCPUで進行が重複するためらしい | 実装したくない |
| スコアが 1,000 万点弱になると何か得点する度に常にエクステンドする | 次のエクステンド点数がオーバーフローするため | オーバーフローしない |
| ミス後のリスタート時、森の中に地上物が出現することがある | メインCPUとサブCPUの処理の行き違いが原因らしい | 実装したくない |
| データ上は46本目のソルがあるが出現しない | スプライト番号の同じボザログラムが消える直前に出そうとしているため無効化されているそうだ | 46本目のソルが出る |
| ボザログラムは下部分が突然7ドット現れる | 上部は画面外に32ドットあるが、ボザログラムは少し大きいため | 実装してもいいけどあまり意味がないので保留 |
| 14面最後に空中物停止コマンドがあるが機能していない | Y座標が間違っているため | どういうものか全く不明。機能していたらどんな風だったのか興味ある |
| タイトルロゴのVの字の左上が欠けている | デザインのミス? ドッターのミス? | ちゃんと欠けてる。見映えを実機に合わせることにはこだわってる^^ |
| 出撃時の残機数が9を超えるとアルファベットになり、Zを超えるといろいろなキャラクタ(ゴミ)の表示になる | 残機数表示に1文字分しか確保していない。10機以上の残機を想定していないというのはちょっとお粗末 | 255まで数字で表示する |
| 残機が255を超えると0に戻る | 残機数に1バイトしか確保していない上にオーバーフローを考慮していないため | 255でカンストする |
| 条件によっては想定外の空中キャラが大量に発生する | 空中キャラテーブルの最大値127を超えて参照することがあるため。超えたら何が起こるかは不明 | 0~127の範囲に収まるようにしている |
| ミスしてソルバルウが消えた後、敵が画面右上に向かって攻撃する | 画面右上が恐らくVRAMの原点で、ソルバルウが消えた後はそこがソルバルウの位置になっている | 実装済み。見た目は大事 |
| エリア12の最後のグロブダは動かないのに200点ではなく1500点 | ブラスター着弾点を感知して後退・停止するグロブダなのだが、画面右上にブラスター着弾点があるものとして感知して画面外で後退し、停止してから画面に現れている | 停止しているが点数は1500点のグロブダとして実装 |
2024/08/20
スペースインベーダー 6
なんてこった。また資料を見つけてしまった。
FSマイクロ株式会社>インベーダーゲームのソースの研究によると(正確にはここのブログで引用されているBSV (Bluespec SystemVerilog)によるスペースインベーダーの再設計およびComputerArcheology/Space Invaders)、敵弾の移動速度は1フレーム毎に1ピクセルではなく3フレームで4ピクセルなのだとか。さらに敵エイリアンの数が7匹以下になると3フレームで5ピクセルになるのだとか。
道理で動画を見たときに何か違和感があったわけだ。
早速修正。
それからエイリアン移動時の効果音(行進サウンド)の発音タイミングも違っていた。
ずっとエイリアン隊が1歩移動したときに1音鳴らすものと思い込んでいた。
なのでエイリアンの数が減ると移動速度が早くなるので効果音の発音間隔が短くなるのだと。
しかしそうではなく、歩行音の別タイマーがありエイリアンの残数に応じて発音しているのだとか。
表が長いので一部だけ載せるが、こんな感じ。
2024/08/16
スペースインベーダー 5
今頃になってこんなブログを見つけた(ししおどし/スペースインベーダーの謎)。
そして驚愕の事実が。
えー、信じてた仕様は嘘だったんかい。
- 敵弾と自弾は必ず相殺
(実機のバグ再現のために確率ですり抜けることも考えたがとりあえずやめた) - ギザギザ弾とT字弾(ピストン弾)は発射する列をテーブルから取得する
- UFO出現中はギザギザ弾は発射しない
- T字弾(ピストン弾)はエイリアンが最後の1匹のときは発射しない
- T字弾(ピストン弾)は他の弾が画面にあるときは発射しない
- 回転弾は自機の真上近くのエイリアンが発射する
- 弾を撃つ頻度はスコアに連動して高くなり、高得点になるほど連射する
2024/08/14
スペースインベーダー 4
久々にプレイ動画を見てみたら、色々違っていた。トーチカの間隔が狭かったのと、自機のY位置が1行低かったのを修正。
2024/08/13
XEVIOUS 18
連休だというのにずっとXEVIOUSのデバッグやっとる。
暑いし行きたいところもないのでいいけど。
さて今度はボザ・ログラムである。
周りに4つの砲台(ログラム)が接続された砲台。
こいつの得点計算がややこしかった。
中央を狙って爆撃すると周りの砲台も誘爆し、2000点が入る。
周りの砲台だけ爆撃すると1つにつき300点。
キャラが近接している場合は1発で複数を爆撃することができるわけだが、
XEVIOUS 17
自機の前に飛んできてしばらくクルクル回った後に去っていく、ただの演出キャラであるシオナイト。
XEVIOUS 16 (戦場に架ける橋)
XEVIOUSのキャラクタ画像は恐らくROMから吸い出したものがここにあって、こういうものである。
2024/08/10
XEVIOUS 15
まだまだ不具合があった。
今回は2点修正。
1つ目。アンドア・ジェネシスの砲台を残したまま中央を爆撃した場合に残った砲台も爆発しなければならないのにそうなってなかった。
修正したのがこれ。
改めて動画を見たら90度の開きで放出しているようだったが、それが45度になってた。
どうりで避けにくいはずである。







































.jpg)





.gif)

%20(online-video-cutter.com).gif)

