2024年08月12日
【ゲーム制作】シミュレーションゲーム 第27回
シミュレーションゲーム 第27回です。
今回は、コマンド「移動」の『「スラー」を摘まみ上げる』までを組んでいきます。
コマンド「移動」を選択すると、飼育エリアに指カーソルが表示されます。
この時、Bボタンでコマンド選択に戻ります。
移動させたい「スラー」の上に指カーソルを移動させ、Aボタンでその「スラー」を摘まみ上げます。
この時、Bボタンで「スラー」を摘まみ上げる前の状態に戻します。
この状態では、まだコストはかかりません。
「スラー」が密集している場所から離脱させたり、区切ったエリアへ「スラー」を移動させたりするために使います。
次回、コマンド「移動」の『摘まんだ「スラー」を離す』を組んでいきます。
2024年08月11日
【ゲーム制作】シミュレーションゲーム 第26回
2024年08月10日
【ゲーム制作】シミュレーションゲーム 第25回
2024年08月09日
【ゲーム制作】シミュレーションゲーム 第24回
2024年08月08日
【ゲーム制作】シミュレーションゲーム 第23回
シミュレーションゲーム 第23回です。
今回は、コマンド「食事」を組んでいきます。
コマンド「食事」を選択すると、飼育エリアにカーソルが表示されるので、任意の場所でAボタンを押すと、カーソル位置に「エサ」を置きます。
Bボタンでエサの種類選択となります。
「コスト9のエサ」→「コスト6のエサ」→「コスト3のエサ」→「キャンセル」→「コスト9のエサ」…の順でループします。
当然コストの高いエサの方が、早くお腹が満たされます。
エサを設置すると、一定範囲内に居る、一定の空腹値以上の「スラー」が食べに集まってきます。
「エサ」は食べられる毎に耐久度が-1され、0になると消えます。
…が、ここでは、エサを設置するまで。
エサを食べに来るのは「スラー」の移動処理で行います。
次回、コマンド「区切」を組んでいきます。
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)だけ、飛沫・糞・エサ・柵は描き変えません。
黄色の枠で囲われたキャラのみ
こちらもここではこれだけ。
「スラー」の快適環境から外れたストレス値の上昇は「スラー」の行動処理時に行います。
次回、コマンド「清掃」を組んでいきます。