2024年08月06日
【ゲーム制作】シミュレーションゲーム 第22回
シミュレーションゲーム 第22回です。
今回は、飼育エリアでのカーソル移動を組んでいきます。
コマンド選択後、選択したコマンドに対応したカーソルの形で、飼育エリア中央にカーソルが表示されます。
カーソルは4方向、FONT単位での移動とします。
Aボタンが打下された時と、Bボタンが打下された時の分岐処理を組んでおきます。
飛び先はまだ未定です。
当然、繰り返し入力が出来ないようにリピート処理は組んでおきます。
コマンド選択時に行ったリピート処理の打下状態を引き継いで離されるのを待ちます。
そうしないと、コマンド選択時のAボタン打下で、飼育エリアへカーソルが表示された時、Aボタンが打下された事になってしまい、そのままコマンドが発動してしまいます。
では次回からはコマンド選択後の処理を組んでいきます。
まず次回は、コマンド「食事」を組んでいきます。
2024年08月05日
【ゲーム制作】シミュレーションゲーム 第21回
シミュレーションゲーム 第21回です。
今回は、飼育エリアでのカーソル移動について考えます。
当初は、コマンドを選択した後、ロールプレイングゲームのような選択ウィンドウを開いて、種類を選択する予定でした。
ですので、パラメータ部は漢字FONTが多いためFONTが足りないと判断し、飼育部用とでFONTファイルを2つに分けました。
具体的にはコマンド「食事」ならば、「たかいエサ 9」、「なみのエサ 6」、「やすいエサ 3」の選択肢が表示されるので、種類をAボタンで選ぶと、飼育エリアにカーソルが移動。
Bボタンはキャンセルで、コマンド選択に戻る。
カーソルが選んだエサの形になるので、任意位置に移動させAボタンでカーソル位置にエサを置きます。
Bボタンはキャンセルで、エサの種類選択に戻る。
…とする予定でした。
しかし、どうせなら文字で選択するのではなく、直感で解り易いインターフェイスを目指してみようかなと、思い直しました。
…と言う事で、コマンド選択後、そのまま飼育エリアにカーソル移動。
カーソルがエサの形になり、Bボタンで種類変更で、「たかいエサ 9」→「なみのエサ 6」→「やすいエサ 3」の順に替わります。
そこに4つ目の選択肢として「キャンセル」を追加し、Aボタンでエサの設置かキャンセルかを決定する。
…という操作方法に変更します。
直感的に解り易いと思いますが、どうでしょう?
この方法だと、ひらがな、カタカナFONT要らなくなっちゃった。
おかげで、FONTファイル分ける必要なくなってしまいました。
まぁ、もうそのまま行くけど…。
次回、飼育エリアのカーソル移動を組んでいきます。
2024年08月04日
【ゲーム制作】シミュレーションゲーム 第20回
シミュレーションゲーム 第20回です。
今回は、コマンド「清掃」を組んでいきます。
最初、どうやって清掃しようか悩みました。
「清掃ロボット(ルンバみたいなの)が飼育エリアぐるっと回って糞だけ削除」も考えたのですが、ふと、昔々のバンダイの「たまごっち」で糞を水でザザーッと流して終わりってのを思い出しました。
当時、「んなバカな」って思ってましたが、今思うと一番分かり易い。
で、それをやってみようと思いました。
消してはいけないものを消さないか確認のため、適当に糞とエサと柵を表示。
明度を反映した地面でちゃんと描き直すか確認のために、明度を5に。
「清掃」開始!
左から右へ、波がザザーッと流れます。(笑)
ちゃんと糞だけ消えました。
所持金も減っています。
波飛沫描画の際、&H11よりキャラクタbェ低いキャラクタのみ、波キャラクタで上描きします。
FONTの並びに意味があると書いたのは、こういう事です。
黄色の枠で囲われたキャラのみ上描き
良い感じで波が流れていると思います。
悩んだだけに、上手くいった時の感動もひとしおです。
見た目に凝ったため、予想以上にプログラム長くなってしまいました。
次回、飼育エリアでのカーソル移動を考えます。
2024年08月03日
【ゲーム制作】シミュレーションゲーム 第19回
シミュレーションゲーム 第19回です。
今回は、コマンド「清掃」を組んでいきます。
…と、いきなりガシガシ組んでいったところ、ツボりました...。
全く思うように動かない...。
一旦、プログラミングを諦めてフローを整理します。
@まず、所持金確認、不足なら効果音2(ブー)をセットし戻り。
A効果音2(波)をセット。
B次にワーク初期化。
C次にそのワークを使って、波を横に流す。
Dその時、地面、糞、波のキャラクタ以外の時は波キャラクタを描かない。(要するにエサと柵は残す)
E最左段の波キャラクタは明度を反映した地面キャラとする。
F波終了で効果音消し。
G所持金-5。
H終了。
おぉ、こうやって書き出すと分かりやすい。
組んでる途中で、「所持金の確認」忘れた、「エサを消さない」忘れた、等とツボってました。
ハンドアセンブラな私には、ロジック追加が地味にキツイ…。
結論的には難しいロジック組む時は、面倒くさがらずフロー書いた方が結果的に早いです。
今回も記事的には1日になってますが、実際には数日ツボってます。
開発ペース上げないと、記事が開発に追いついてしまう…。
次回、プログラム組んでいきます。
2024年08月02日
【ゲーム制作】シミュレーションゲーム 第18回
シミュレーションゲーム 第18回です。
今回は、コマンド「明度」を組んでいきます。
「明度」の動作は、「温度」、「湿度」と同じです。
パラメータ上で、Aボタンで上昇、Bボタンで下降です。
値の範囲は0〜10段階とします。
なお、こちらはサブルーチンで作っておいた飼育部の表示で、明度により飼育部の明るさが変わります。
【明度10】
【明度5】
【明度1】
上手く動作しています。
飼育部地面のキャラクタで所々明度の異なるキャラクタが表示されていますが、これはいつもの「走査線割り込み」のバグです。
ただ、なんとなくいい感じになっているので、あえて放置する事にしました。
地面の明るさを変更するのは地面のキャラクタ(&H01~&H0B)だけ、飛沫・糞・エサ・柵は描き変えません。
黄色の枠で囲われたキャラのみ
こちらもここではこれだけ。
「スラー」の快適環境から外れたストレス値の上昇は「スラー」の行動処理時に行います。
次回、コマンド「清掃」を組んでいきます。
2024年08月01日
【ゲーム制作】シミュレーションゲーム 第17回
シミュレーションゲーム 第17回です。
今回からしばらくは、コマンド処理を組んでいきます。
まずはコマンド選択する為の、Aボタン・Bボタン(若しくはGRAPHキー)打下処理と連続打下防止処理。
Aボタン・Bボタンが押された時、カーソルのX座標の値(1〜7)で処理先へ飛びます。
その時、リピートフラグを立て、フラグが立っていればキーを押していないかの判定をし、押していなければフラグをクリア。
押していれば入力処理を飛ばします。
続いて、コマンド「温度」、「湿度」処理。
パラメータ上で、Aボタンで上昇、Bボタンで下降です。
値の範囲は「温度」が10〜40℃、「湿度」が10〜80%にします。
【上昇】
【下降】
ここではパラメータの値が変わるだけで、特に何もしません。
「スラー」の快適環境から外れた時のストレス値上昇は「スラー」の処理時に行います。
次回、コマンド「明度」を組んでいきます。
2024年07月31日
【ゲーム制作】シミュレーションゲーム 第16回
シミュレーションゲーム 第16回です。
今回は、カーソルの動きを組んでいきます。
パラメータ部のコマンドの横サイズは不定なので、単純に横移動させることは出来ません。
(温度、湿度、明度は4FONT、それ以外は2FONT)
そこで、X座標の値は1〜7(コマンドが7種類)しか取らない事にします。
そして値に応じて、カーソル位置を算出し表示する事とします。
この時、算出基準とするのはコマンド間にある縦線。
VRAMを左から読み、縦棒だったらコマンドbゥら「1」を引き、「0」になったVRAMアドレスからX座標を算出しカーソルを表示する事にします。
(例えばコマンド「明度」ならば、コマンドbヘ「3」なので、「明度」右横の縦棒が左から3本目なので、そこをX座標の基準とする。)
更に、前作「神経衰弱」同様、一気に端まで移動してしまわないように、1移動ごとにリピート処理をしないといけません。(一度キーを離さないと次の入力を受け付けない。)
前作は、カーソルの移動以外の処理がなかったので、キーを離すまでロジック内ループで良かったのですが、今作はキー離し待ちの間も「スラー」は動く必要がありますので、リピートのロジックを変更する必要があります。
こんな感じになりました。
キー入力反応良く、良い感じです。
因みにパラメータ部が暗かったので、枠線を明るく薄黄色にしました。
次回、コマンド選択を組んでいきます。
2024年07月30日
【ゲーム制作】シミュレーションゲーム 第15回
2024年07月29日
【ゲーム制作】シミュレーションゲーム 第14回
2024年07月28日
【ゲーム制作】シミュレーションゲーム 第13回
シミュレーションゲーム 第13回です。
今回は、「スラー」の表示を考える予定でしたが、ちょっと、ゲーム画面のパラメタ部のFONT描き直しです。
前回で、サブルーチンのデバッグを行った際、メイン画面のパラメタ部を表示してみて、
「シンプルだなぁ…。」と、思ってしまいました...。
前作、「神経衰弱」の時も同じような流れだった気がする…。
仮に「スラー」を15匹表示させたとして、こんな感じになります。
うーん…、やっぱり色合い的にも少し寂しいかな…。
それに、「所持金」の漢字FONTが、線が細くて他の漢字FONTと統一性がない。
そこで、もう少し凝ってる感を出すため、FONTを描き込んでみます。
こんな感じでどうでしょうか。
仮にこちらも「スラー」を15匹表示させたら、こんな感じになります。
なかなか良い感じになったのではないでしょうか。
まぁ、飼育部が1色なのは仕方ない…。
次回は、今作の主役「スラー」の表示を考えます。