スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲーム制作日記<38> 畑システム3

op.png



みなさん、こんばんは。
ネコタです。



前々回の畑システム
前回の畑システム2
の続きです。



前回までの内容で、マップ内のイベント処理、メインとなるコモンイベントでの処理を説明しました。

今回が、ようやく最後の処理となります。


今回は、作物の成長に関わる処理の解説をしていきますね。


作物に水をあげた時の処理の最後に、スイッチの操作:#0261 【畑】ID:1給水 = ONというのがあったと思います。

このスイッチがONとなることで働くコモンイベントがあります。

それが、これです。

tc29-4.png

<実行内容>
ウェイト:60フレーム
変数の操作:#0141 【畑】ID:1_成長状況 += 10
変数の操作:#0161 【畑】ID:1_成長状況 += 【畑】ID:1_level
注釈:【INDEX】
注釈:ID:152=カンタリオン
注釈:ID:153=フラウラ
注釈:ID:154=ペンサミエント
注釈:ID:155=アヴェンダル
注釈:ID:156=ベルコル
注釈:ID:157=サリックス
注釈:ID:158=パドゥープ
条件分岐:【畑】ID:1_種ID = 152
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了
条件分岐:【畑】ID:1_種ID = 153
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了
条件分岐:【畑】ID:1_種ID = 154
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了
条件分岐:【畑】ID:1_種ID = 155
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了
条件分岐:【畑】ID:1_種ID = 156
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了
条件分岐:【畑】ID:1_種ID = 157
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了
条件分岐:【畑】ID:1_種ID = 158
条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了
条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了

分岐終了



このコモンイベントによって操作される変数は、作物(種)イベントの条件に指定されている変数です。

変数の値が、前回の解説の時と違っているのは、気にしないでください(笑)

私だって、日々ゲームバランスを研究し、変化し続けているんです(笑)


内容としては、60フレーム毎に、成長用の変数に値を+していきます。

そして、条件分岐で、変数がある一定の値になったときに一旦タイマーを止めます

この操作により、「成長段階ごとに給水が必要である」という演出が可能となります。

その必要がなければ、この部分は削除して構いません。

条件分岐:【畑】ID:1_成長状況 ≥ 17999
条件分岐:【畑】ID:1_成長状況 ≤ 18097
スイッチの操作:#0261 【畑】ID:1給水 = OFF
変数の操作:#0161 【畑】ID:1_成長状況 = 18098

分岐終了

分岐終了


また、今回は畑レベルによって成長速度を補正していますので、数値にある程度のが生じます。その幅も考慮して、成長段階を止めます。

幅の範囲ですが、目安は「畑レベルが最大値の時の変化値を、最小値に足した値」です。

例えば、私の例では、畑レベルが最大99(100にしようかと思案中)の予定なので、1段階上がるための数値(17999)に109(基礎の10+99)を足して、18108までが予想される幅の範囲になります。

私はきちんと計算して、この実行内容のような値にしましたが、これについては広すぎても問題ありません。計算ミスしたりすると段階が変わっても成長が止まらない可能性があるので、少し過剰な方がちょうど良いかもしれませんね。


給水用のスイッチ=OFFにしたら、成長用の変数に値を代入して、範囲から出してあげましょう。

でないと、水をあげたとき範囲内に入っていた場合には、一瞬でまた成長が止まってしまいます


条件分岐:【畑】ID:1_成長状況 ≥ 36097
スイッチの操作:#0261 【畑】ID:1給水 = OFF

分岐終了


最終段階に到達した時は範囲の設定がいらないので、そのままスイッチ=OFFにして、給水を終了させます。



この設定は、種ごとに設定できます。

条件分岐を種IDにしているので、1つ作ったら、それをまるっとコピペして、条件の種IDを変更、停止時の変数を変更して、全ての種について設定していきます。

この操作により、タイマーは同じ速度にもかかわらず、各作物(種)により成長速度が違うことを演出できます。



次は、種の成長速度に影響を与えるコモンイベント:【畑】畑レベル処理について説明していきます。

tc29-3.png

<実行内容>
注釈:INDEX
注釈:ID=5:アルト家の畑
変数の操作:#0018 【取得情報】マップID = マップID
条件分岐:【取得情報】マップID = 5
条件分岐:【畑】ID:1_level = 99
文章:なし, ウィンドウ, 下
文章\n<アルト>「これ以上はレベルを上げれないぜ。

それ以外のとき
アイテムの増減:肥料 - 1
変数の操作:#0261 【畑】ID:1_EXP += 20
条件分岐:【畑】ID:1_EXP ≥ 100
変数の操作:#0261 【畑】ID:1_EXP = 0
変数の操作:#0221 【畑】ID:1_level += 1

分岐終了

分岐終了

分岐終了



このコモンイベントは、畑に肥料を与えるときの処理を行っています。


畑レベルが最大の時は、これ以上はあげられないというアナウンスを出し、最大でないとき畑の経験値をあげます。

畑の経験値が最大まで溜まったときは、畑のレベルを上げることが出来ます。


変数の操作:#0261 【畑】ID:1_EXP += 20
条件分岐:【畑】ID:1_EXP ≥ 100
変数の操作:#0261 【畑】ID:1_EXP = 0
変数の操作:#0221 【畑】ID:1_level += 1

分岐終了


肥料を1個上げればレベルがあがるという仕様であれば、この操作は不要です。

単純に、変数の操作:#0221 【畑】ID:1_level += 1だけで構いません。


また、ここの内容をいじることで、レベルUPまでの肥料をあげる回数を設定できます。

今回は、100経験値でレベル1UP肥料1回で20経験値が入る仕組みなので、レベルUPまでには5回あげる必要があります。


上限のレベルを操作したい場合は、条件分岐:【畑】ID:1_level = 99の数値をいじります。


今はまだ、マップ1個分の畑しかないのでこの処理だけですが、畑IDが増えていくたびに、この内容をコピペして、使用する変数を変えていきます。


これで、畑レベルの処理についても完了です。





以上、3回の記事に渡って、畑システムの解説をしていきました。

自分自身、作成してから「かなり大規模なシステムになったなぁ」と実感しています。


しかし、巨大に見えるようで、コピペで作っていける部分が多いです。システムのフォーマットが完成してしまえば、編集の方はだいぶ楽だったりします。(ただし、システムの構造を理解している必要があります)


これで、ソースは全て公開したので、
導入する場合は頑張ってください

私の使う範囲はここまでです。




それでは、皆さんも素敵な牧場ライフ……
もとい、素敵なツクールライフを!





ではでは、今日はこの辺で。
ネコタでした。





↓お役に立ちましたら、クリックをお願いします↓
にほんブログ村 ゲームブログへ
にほんブログ村

にほんブログ村 ゲームブログ ゲーム制作へ
にほんブログ村

ブログランキング・にほんブログ村へ
にほんブログ村
スポンサーサイト

コメント

Secret

お疲れ様でした

三部作お疲れ様でした。
いざ導入してみると、私はまだその①の
途中ですが、コピペ多いとはいえなかなか
しびれる入力量でございます(笑)

いろいろサブクエストに使えそうなシステムばかりでありがたく使わせていただきます。

また面白いシステムを楽しみにしております。

Re: お疲れ様でした

コメントありがとうございます。

正直、作るのが大変なシステムでございます(笑)


これも、面白いRPGを作るため・・・
頑張ってください(笑)


何か、分からない点があったら、コメントください。
きっと、そういう所は、みんな同じく躓くはずですので。
プロフィール

猫民のんたん

Author:猫民のんたん

ネコタ:ゲーム作りが趣味の薬剤師。本職とゲーム作りの2足の草鞋を履きこなそうと日々奮闘。

毎週曜日と曜日or曜日に更新予定。


ミノン:ゲーム作り初心者で1児の母。前職はSE/PG。子育てをしながらゲーム作りを行おうと、日々奮闘中。

毎週曜日にブログ更新予定♪

最新記事
最新コメント
月別アーカイブ
カテゴリ
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。