アイストマトバズーカのゲーム制作日記

いろいろ超初心者がゲーム制作に挑戦。現在RPGツクールMZでフリーゲーム制作中。フリー素材も作って置いてます。

MENU

【RPGツクールMZ】農作システムを作ってみたい(´・ω・)②

こんにちは。

 

RPGツクールMZ(RPG MAKER MZ)で下記条件のシンプル農業システムを作成する続きを進めます。

 

条件おさらい。

・畑は最初からある。(耕すシステムは無し)

・特定の場所(畑)でのみ種や苗を植えられる。

・一つの畑に一種類のみ植えられる。

・時間経過のみで育つ。(水やりなどは最初は考えない)

・育ったら収穫できる。(枯れるシステムは無し)

※注意書き

この記事は初心者がこうやってみた、という記事に過ぎません。他にも良いやり方があると思います。しかも作りながら記事を書いているので間違っている可能性すらあります。まぁ間違ってたら(実現できなかったら)記事は訂正します。

 

前回 種を植えるってところまで作りました。次に一つの畑に一種類のみ植えられるって条件ですがこれは畑の状態(種の有無・成長度合い)を管理する変数、前回の記事で言うところの"畑A状態"の変数を畑全体のイベントで共有したらいいだけ。つまりイベント1つ作ったらそれをコピーして畑を埋めたらいいだけなのでまずはイベント1つ完成させましょう。

 

前回の記事

 

というわけで今回は植えた種が成長するという農業システムの中核となる部分ですね。

成長段階を進める条件として基本は「時間経過」だと思いますが何を基準とするか。思いつくのは下記です。

 

a.マップ移動やシナリオなどのイベント発生をもって時間経過とする。

b.移動歩数を経過時間とする。

c.プレイ時間を取得して経過時間を計る。

d.実際の時間(デバイスの時間)を取得して経過時間を計る。

 

a.は条件とするイベントすべてに畑の状態変数を増やすってコマンドを仕込む必要があります。マップ移動などたくさんある場合は大変ですね。

 

b.は歩数をカウントするための変数を用意して計測します。どうやってやるんだっけ?と思って調べてみたら自分の記事がありました(;・∀・)過去に同じようなこと書いてましたね。AIに訊くより画像付きでわかりやすい!今回はググれ!

詳細は上の記事にありますがオペランド ゲームデータの中にあるようです。

 

c.は同じようにカウンター変数を作成してプレイ時間を取得する方法。今回はこれを採用するので詳細は後述します。

 

d.はc.と似たような仕組みですが取得するのがプレイ時間ではなく実際の時間なのでゲームを起動していなくても成長させるようにするならこの方法が良いですね。取得する値を変えるだけでc.と同じ仕組みでできるはず。

 

それでは作っていきます。まず種を植えた直後、カウンター変数にプレイ時間を格納します。

カウンター変数の名前は"畑A時間"にしました。

 

次はいつ成長段階を進めるか。

c.の方法で「プレイ時間が○分経っていたら進める」という仕組みにします。

 

畑のあるマップの適当な場所に透明イベントを配置。

 

EVページ作成ボタンで2ページ目を作成。1ページ目は何も編集しません。

そして2ページ目の出現条件を変数”畑A状態が1以上”にしてトリガーを並列処理にします。こうすると種を植えた後、畑のいるマップにいる間は右側の実行内容が繰り返されるようになります。

実行内容はプレイ時間次第で"畑A状態"が増えていく、という内容です。

”畑インターバル”は何秒で1段階進めるか。”畑計算用”は計算用の一時的な値置き場。

 

畑A状態 =  1 + 種を植えてからのプレイ時間(秒) ÷ 60秒

 

となっています。60秒で一段階進むのはちょっと早いですけどテスト用なので。例えば5分にしたければ最初の”畑インターバル”へ代入する値を300にします。一時間なら3600。

いちおう実行内容のところを1行ずつ上から順に編集画面を貼っておきます。

最後のウェイトについては高速で計算を繰り返す必要が無いのでとりあえず入れておいたって感じです。

 

これができればあとは畑側のイベントを”畑A状態”の値次第で画像が変わるようにして最終段階まで行ったら収穫できるってしたら完成ですかね。

 

今回はここまで。次回に続きます。

仕上げようという気があまり起こらない…。