新規記事の投稿を行うことで、非表示にすることが可能です。
2024年08月31日
【ゲーム制作】シミュレーションゲーム 第44回
シミュレーションゲーム 第44回です。
今回は、「スラー」の増減を組んでいきます。
「スラー」の増減条件は下表の通りとします。
増減 | 条件@ | 条件A |
減 | ストレスカウンタ>=8で、ストレス値+1 | ストレス値250で死亡 |
空腹カウンタ10で、空腹値+1 | 空腹値50で死亡 | |
増 | 温度・湿度・明度快適、自分の周りに糞が3個未満、自分の周りに「スラー」が4匹以内で、分裂カウンタ+1 | 分裂カウンタ50で「スラー」+1 |
「スラー」の増減時にアニメーション付けようかと思ったのですが、増えるのは良いが、減るのは可哀想なので、「いつの間にか増えてる」、「いつの間にか減ってる」くらいの方が良いかと考え、あえて付けない事にします。
次回、「ゲーム終了判定」を組んでいきます。
2024年08月30日
【ゲーム制作】シミュレーションゲーム 第43回
2024年08月29日
【ゲーム制作】シミュレーションゲーム 第42回
シミュレーションゲーム 第42回です。
今回は、「スラー」の密集チェックを組んでいきます。
「スラー」はギュウギュウの環境を嫌います。
と、言う訳で自分の周囲1.5倍内に5匹以上密集しているとストレスを感じます。
基本的には、『「スラー」を摘まむ』と考え方は同じで、範囲を広げただけです。
この範囲を1匹に付き、15匹分繰り返し、範囲内に自分を含み6匹以上なら、許容範囲の5匹を引いた値分、ストレスカウンタに加算します。(8匹いたら8-5で、ストレスカウンタに3を加える)
確認のために柵で囲われたエリアに「スラー」を6匹移動させ、6匹のストレスカウンタをチェックします。
ストレスカウンタちゃんと上昇しています。
次回、「スラー」の脱糞を組んでいきます。
2024年08月28日
【ゲーム制作】シミュレーションゲーム 第41回
シミュレーションゲーム 第41回です。
今回は、「スラー」の周りの糞チェックを組んでいきます。
「スラー」を中心に9×9FONT分のエリアを検索します。
検索の仕方は、以前「エサ」検索のときに検討していた方法。
2種類の検索方法を両方組み入れるので処理時間的にどうかな?
もし遅くなりそうなら、「エサ」の検索ルーチンを削除し、今回のルーチンで「エサ」と「糞」両方を検索できるようにします。
方法は、「エサ」を見付けた時、「スラー」とのX・Y座標差の計を算出し、小さいものをキープしておき、検索終了時にキープした小さいものを、一番近い「エサ」とします。(例えば「スラー」座標が(5,5)、「エサ」の座標が(9,6)とすると座標差は(4,1)その計は「5」となり、この値が小さいほど近い)
ルーチン組んで、いざ動かしてみたら、全然遅くならないので、そのまま併設で行きます。
確認のために「糞」を2個設置し、「糞」の近くにいる2匹のストレスカウンタをチェックします。
ストレスカウンタちゃんと上昇しています。
次回、「スラー」の密集チェックを組んでいきます。
2024年08月27日
【ゲーム制作】シミュレーションゲーム 第40回
シミュレーションゲーム 第40回です。
今回は、「スラー」の条件付きカウントアップを組んでいきます。
条件付きカウントアップとは、条件に合致している時のみ、各パラメータのカウントアップする事を言います。
例えば、「スラー」の飼育環境の温度が適温から外れている時、ストレスカウンタをアップさせるなどです。
以前に立てた「スラー」の固有体内時間アップフラグをチェックし、立っていれば条件チェックします。
条件 | 範囲 | カウンタ種別 |
温度 | 25℃〜30℃ | ストレスカウンタ |
湿度 | 80%〜90% | ストレスカウンタ |
明度 | 5時〜20時:明度4以上 20時〜5時:明度3以下 | ストレスカウンタ |
時間 | ストレスなし (ストレスカウンタ増えず) | 分裂カウンタ |
時間 | − | 空腹カウンタ |
時間 | − | 糞カウンタ |
各カウンタが、各々定められた一定値を超えると、それぞれのパラメータが変化します。
前回のメモリチェックプログラムで空腹カウンタを確認。
次回、「スラー」の周りの糞チェックを組んでいきます。
2024年08月26日
【ゲーム制作】シミュレーションゲーム 第39回
シミュレーションゲーム 第39回です。
今回は、「スラー」の食事を組んでいきます。
エサを設置した際に、設置座標に対応するメモリ上に、エサ残数を設定しています。
「スラー」がエサに引っ付いている間、残数と空腹度をマイナスします。
残数が「0」になったら、エサは消えます。
すると、集まってた「スラー」は蜘蛛の子を散らすように散っていきます。
ただ、空腹度は目に見えないので、上手くいったかどうか判断するために、別途メモリ確認用のプログラムを組む必要があります。
引っ付いていた「スラー」の空腹度を確認。
3匹引っ付いていた「スラー」の空腹度が下がっています。
次回、「スラー」の条件付きカウントアップを組んでいきます。
2024年08月25日
【ゲーム制作】シミュレーションゲーム 第38回
シミュレーションゲーム 第38回です。
今回は、「スラー」の固有体内時間アップフラグを立てます。
「スラー」の固有体内時間とは、30分毎に糞をするなど、「スラー」1匹1匹が個々に保有する体内時計の事です。
生れ出た(分裂した)タイミングにより異なるので、個々に保有させる必要があります。
前回の所持金同様、分カウンタが+1されたときに走査線割り込み処理からコールされた飛び先内で処理します。
走査線割り込み処理の中では、「スラー」の各パラメータは変動させないので、ここでは分カウント+1したことが判る「固有体内時間アップフラグ」を「スラー」個々のワークに立てます。
15回ループして15匹分のフラグを立てます。
「スラー」個々の動作時に、フラグが立っていれば条件判定し各パラメータを変動させます。
次回、「スラー」の食事を組んでいきます。
2024年08月24日
【ゲーム制作】シミュレーションゲーム 第37回
2024年08月23日
細かく修正㉘
「ゲーム制作」の「製作メニュー」の「新作6」、各回へのリンクを追加。
「ゲーム制作」の「シミュレーションゲーム」の前後回へのリンクが全て切れていたので修正。
それ以外は、画像の貼り直しや、記事の誤記の修正程度です。
2024年08月22日
【ゲーム制作】シミュレーションゲーム 第36回
シミュレーションゲーム 第36回です。
今回は、環境変動を組んでいきます。
環境変動とは、時間経過に伴い「温度」や「湿度」の飼育環境が変化する事です。
今作は舞台が8月と言う事なので、ベースとなる温度・湿度が結構高くなります。
今回、使用データは気象庁の統計データ、東京の8月のデータを持って来て、4時間毎に平均を取りました。
時間 | 温度(℃) | 湿度(%) |
0〜4時 | 26 | 92 |
4〜8時 | 27 | 89 |
8〜12時 | 31 | 69 |
12〜16時 | 32 | 68 |
16〜20時 | 30 | 73 |
20〜24時 | 29 | 75 |
こんな感じです。
思ったより湿度が高い…。
時間経過で、ベース温度・湿度を変化させ、それに伴いパラメータ部の「温度」、「湿度」を描き換えます。
まず、走査線割込み処理中の「経過時間カウント」処理から、時間カウンタが+1される時に「環境変動」処理をコールするように変更します。
環境変動処理を追加。
この時、温度・湿度に変化があればパラメータ描換えフラグを立てておきます。
メイン処理部で、パラメータ描換えフラグを確認し、立っていれば温度・湿度パラメータを描換えます。
ここではそれだけです。
「スラー」の快適環境から外れた時のストレス値上昇は後程。
次回、所持金アップを組んでいきます。