2024年02月09日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第11回
無人島脱出アドベンチャーゲーム 第11回です。
あれから、ひたすらバグと戦っています…。
倒せど倒せど、沸き続けるバグに、諦めてしまいそう…。
未だにメッセージ表示すらされない…。
直せど直せど進展の全く見られない状況に、嫌気がさしてきました…。
まずい。
「BINSET.BAS」作成時のロジック移動で、どこか根本的なところを壊してしまったのか…?
もうしばらく戦い続けます…。
2024年02月08日
作品Oスクロール型コート
次はこれ。
またもスポーツものです。
このペンギンのキャラどこかで見た気がする…。
もし、著作者がいらっしゃいましたら、公開不可ならばご連絡ください。
▲縦に3画面分の大コートでのテニス!
▲自機左下の青色の数字が長押しカウント
またもスポーツものです。
■主な新テクニック
・上下スクロールに合わせた自機移動実装
・スプライトによるコート縮尺図表示実装
・スプライトによるボタン長押しカウント実装
・上下スクロールに合わせた自機移動実装
・スプライトによるコート縮尺図表示実装
・スプライトによるボタン長押しカウント実装
このペンギンのキャラどこかで見た気がする…。
もし、著作者がいらっしゃいましたら、公開不可ならばご連絡ください。
▲縦に3画面分の大コートでのテニス!
▲自機左下の青色の数字が長押しカウント
タイトル | 『 ぺんぎんWARS 』 | 作品 | 16 | |
内容 | 1対1のテニスです。自機をボールに当てるとボールを打ち返しますので、ボールを相手コートに返してください。 | |||
操作方法 | ジョイスティック専用です 起動し、しばらくしてタイトルが表示されたら、十字キーの「↑」「↓」でプレイヤー数を選択し、Aボタンで決定 1プレイヤーを選択すると相手の強さ選択になります、十字キーの「↑」「↓」でレベルを選択し、Aボタンで決定(弱1←→5強) 2プレイヤーを選択すると、コントローラーの選択となりますので、それぞれのプレイヤーが使用するコントローラーのAボタンを押してゲーム開始 十字キーの「↑」「→」「↓」「←」で、自機移動 Aボタンで左側へ、Bボタンで右側へ打ち返しますボタン長押しでカウントが開始されます、カウントが大きいほど角度が大きくなります(1(短):まっすぐ、3(長):斜め、それ以上ですと振り終えた事になり、アウトです) | |||
対応機種 | MSX1、MSX2、MSX2+ | 製作年 | 1990年 | |
ダウンロード | リンク先へ | ジャンル | スポーツ |
※ゲーム内のキャラクタ、音楽は制作当時の物です。 公開前提に製作していないため、雑誌等から流用している物もあるかも知れませんので、著作権侵害の恐れのあるものは、ご連絡をお願いします。 |
2024年02月07日
細かく修正Q
「ダウンロード」の「VOLLEY」ダウンロード先リンクが切れていましたので、リンク先修正。
「ゲーム制作」の「無人島脱出アドベンチャーゲーム」の前後回へのリンク切れがあったので修正。
それ以外は、画像の貼り直しや、記事の誤記の修正程度です。
2024年02月06日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第10回
無人島脱出アドベンチャーゲーム 第10回です。
今回は、前々回に全ロジックを書き換えた「BINSET.BAS」で作成するマシン語プログラム「ADV.BIN」のデバッグ作業です。
「BINSET.BAS」で、サブルーチンコール先や、飛び先アドレスを全部書き換えているので、念入りなデバッグ作業が必要です。
アセンブラでラベル指定していれば特に必要のない作業ですが、ハンドアセンブルな私には重要な作業です。
タイトル画面は無事表示。
いよいよメッセージ表示です。
かはっ!
フリーズです。
バグ取りして起動!!
フリーズ!!
バグ取りして起動!!!
フリーズ!!!
バグ取りして…!!
…ぐはっ!!
フリーズしまくりです!
…ちょっとバグと戦いますね…。
2024年02月05日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第9回
無人島脱出アドベンチャーゲーム 第9回です。
「BINSET.BAS」作成に手こずりましたが、今回は今作のディスクイメージを用意します。
前回作成した「BINSET.BAS」と、前作のイメージディスクから抽出した「3DRPG.BAS」など必要なファイルを、名前を「ADV.***」に変更し一纏めにしてイメージディスク作成。
簡単だ…。
元プログラムがあるので、非常に楽ですね。
作成したイメージディスクを「BlueMSX」で開き、メインプログラム「ADV.BAS」の大半を一旦コメントで潰して、テスト稼働に必要な部分だけにして保存。
次回、今回作成した「ADV.BAS」を使い、前回全ロジックを書き換えた「BINSET.BAS」で作成するマシン語プログラム「ADV.BIN」のデバッグを行います。
2024年02月04日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第8回
無人島脱出アドベンチャーゲーム 第8回です。
さて、前回、前作の「BINSET.BAS」をExcelに抽出する方法が確立しました。
今回は、前作の3つのマシン語設定ファイル、「BINSET.BAS」、「BINSET2.BAS」、「BINSET4.BAS」をすべて1本のExcelに抽出し、必要なロジックとサブルーチン以外を削除し、且つ、点在しているバグフィックスはバグ元のロジックを修正し、綺麗でメモリの小さい今作の「BINSET.BAS」を作成します。
今作で必要なロジックとサブルーチンは、「FONTセットルーチン」、「メッセージ表示ルーチン」、「選択肢ルーチン」、「スクリプト処理ルーチン」及び命令の一部、「走査線割込みルーチン」、「BGM演奏ルーチン」、「アイテム検索ルーチン」、「アイテム表示ルーチン」くらいでとりあえずはいいかな?
それ以外は削除します。
その際、あちこちに点在しているバグフィックスを、バグフィックスのバグ元ロジックの中に収め、バグのないロジックとして組み直していきます。
これをやっとかないと、今後、そのロジックを使いまわす際、毎回バグフィックスごと移植しなければならず、かっこ悪いです。
で、いざ作業開始。
いやー、Excel本当に便利。
ジャンプ先指定や、コール命令を色分けできるし、どこへ飛ぶかの表示もできる。
更に、右側にプログラム詳細を記載も可能。
こんな感じで非常に分かり易いです!
「.BAS」化する際は、N列より右は削除してしまえばいいだけ。
プログラム中のメモやコメントも、「.prn」(テキスト(スペース区切り))形式で保存すれば問題なしです。
これで飛び先アドレスや、サブルーチンコール先、変数等を修正していきます。
一通りの修正が完了したら、以前に確立した方法でExcelファイルを「.BAS」ファイル化します。
これで、マシン語設定プログラム「BINSET.BAS」は完成です。
2024年02月03日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第7回
無人島脱出アドベンチャーゲーム 第7回です。
前回、「MSX BASIC Viewer」で編集できず、いろいろ試行錯誤しました。
結果、最もオーソドックスな方法を取ります。
「MSX BASIC Viewer」、コピーは出来るので「すべて選択」してコピー。
次にExcelを開き、テキスト形式で貼り付けます。
無事貼れました。
あとは、Excel機能の「データ」の「区切り位置」を使って、「スペースによって…」で行番号の後ろでカット。
因みに行番号の桁次第では、番号の途中で区切られてしまうので注意が必要です。
行番号部分をカットできました。
これでサブルーチン集を作ったExcelファイルと同じレイアウトにする事が出来ました。
ここまで出来れば、Excelから「.BAS」形式にする方法は確立済みです。
良かった、何とかなった…。
ただ、変換の際「ひらがな」部分は文字化けしてしまいます。
幸い「カタカナ」部分は大丈夫。
「ひらがな」部分は、全部半角「カタカナ」に書き換えて対応します。
2024年02月02日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第6回
無人島脱出アドベンチャーゲーム 第6回です。
「Disk Manager」と、「MSX BASIC Viewer」を活用して、今作の「BINSET.BAS」の作成に挑戦します。
いざ、3Dダンジョンロールプレイングゲームのイメージディスクを「Disk Manager」で開き、マシン語ファイル「BINSET.BAS」、「BINSET2.BAS」、「BINSET4.BAS」を抽出します。
次に、抽出したファイルを「MSX BASIC Viewer」で開きます。
このマシン語設定ファイルの必要なロジックをコピー、貼り付け…、
…ん? …コピー、貼り付け…、
?? あれ? 「コピー」は出来るけど、「貼り付け」が出来ない!?
あ、コピーのボタンは押せるけど、貼り付けボタンは押せなくなってる…。
そうか、このツール、「Viewer」だから、見るだけで編集とかはできないんだ…。
納得…。
いきなり躓いてしまいました。
ここからどうやって編集していこうか思案中…。
2024年02月01日
【ゲーム制作】無人島脱出アドベンチャーゲーム 第5回
無人島脱出アドベンチャーゲーム 第5回です。
今回はアドベンチャーゲーム用のディスクイメージを用意します。
さて、いよいよプログラミングを開始していく訳ですが、今作のアドベンチャーゲームでは、前作のメッセージルーチンやスクリプト処理ルーチン等、結構なロジックをそのまま流用します。
前作のマシン語設定プログラム「BINSET.BAS」、「BINSET2.BAS」、「BINSET4.BAS」をそのまま使うのが開発時間的には早いのですが、バグフィックスが多くロジックが汚い上に何よりメモリの無駄なので、必要なロジックのみで「BINSET.BAS」を作りたい。
しかし、ハンドアセンブルなプログラムなので、ルーチンの開始アドレスやロジックの長さが変わると、飛び先やコール先アドレスがすべて変わってしまう。
こんな時はアセンブラのラベルの有用性をヒシヒシ感じてしまう。
さて、効率よくアドレス指定先を変更するにはどうすればいいか…?
そうです、ここで「MSX BASIC Viewer」の出番です!(2023年12月29日記事参照「便利「.BAS」ファイル読込ツール!」)
「Disk-Manager」で前作の「BINSET.BAS」を抜き出し、「MSX BASIC Viewer」を使って必要なロジック分を切り貼りしてExcel等の検索・置換機能のあるツールに落とし、アドレスを一気に書き換えて今作の「BINSET.BAS」の基プログラムにしてやれば、後は新機能のみの開発で済むのではないかと考えました!
と、言う訳で次回、「Disk Manager」と「MSX BASIC Viewer」を活用して、「BINSET.BAS」の作成に挑戦します。