んだば重工 2023/07/12 17:00

天気システム紹介と時間経過の作り方【RPGBakin】


いつもご愛顧いただきありがとうございます、んだば重工です。
今日は新しく導入した天候システムの紹介と、RPGBakinで作る時間経過仕組みを解説したします。

天気システム導入


いやー、最近天気が安定しませんね。


ですね、さっきまで大雨&雷と思いきやいつの間にか青空だったり。。


そんなわけで、チェッタさんの島にも雨が降るようにしてみました。


急だなオイ!




探索中確率で雨や大雨が降るようにしてました。
舞台の島は熱帯雨林なので、やっぱり雨が降らないとですね!

サバイバルRPGにとって大事な要素ですよね、天気。


ですです。女の子が雨や水に濡れるのっていいですよね。
サバイバル中にびしょ塗れになった女の子が服を乾かすためにいったん全裸になって焚火にあたりながらボロボロの毛布にくるまって身体をあっためるシーン、捗ります。

はあ、そうですか。


一緒にびしょ濡れになった男の子も裸で「あのボロ布の下は素っ裸なんだなあ」とドキドキして女の子の方を見てみると、股間のあたりがうまく隠せてないことに気づいて(!!??見えてる!!??見えてるよ!!!)って逆に焦っちゃって、見えてることに気づいてない女の子が訝しげに「なによ…そんなにじろじろ見ないでよ…」って恥ずかしそうに言うのを「ご、ごめん!!!(そりゃ見ちゃうよ!!)」ってなるのいいですよね。


(急に何かはじまったぞ)


男の子が見えてることを伝えるべきか迷ってるのを「まったく…何なのよ…」って女の子が呆れてふと自分の身体に目をやると、男の子の方から丸見えだったことに気づいて一気に羞恥心が高まって顔真っ赤にしながら「あ、あああ、あんた…見た、見たんでしょ!!!??」って慌ててるのを、「だって!見えちゃったんだから仕方ないじゃないか!」って言い訳をする男の子に「やっぱり見たんじゃない!!最低!!」って涙目になりながら怒るもんだから「ちゃ、ちゃんと隠してないそっちが悪いんだろ!」って勢いよく立ち上がったら男の子の股間を隠してた布がハラリと落ちて、ギンギンに勃ったのが露わになって驚いた女の子が「きゃあああああ!!」って悲鳴を上げて「うわああああ!ご、ごめん!!」「あんたのも見せろなんて言ってない!!」って顔をビンタされて、そのあと寝る時に二人の間に「ここから絶対入ってくるな」っていう境界線をひかれて、男の子が女の子に背を向けて寝転がってる時に「見ても怒るし、見られても怒るし、なんて不公平なんだ」ってぼやいてる時に、女の子が(アイツのアレ…すっごくおっきくなってた…)ってドキドキしてて、そのあと女の子が背中ごしに「…ねえ、寒いんだけど、少しそっち寄っていい…?」って言い出すもんだから「え!?あ...うん…」って背中をくっつけあって、二人ともドキドキしながら眠れなくなって…


何の妄想ですか!!!!それ今日の記事にもゲームにもまったく関係ないでしょうがよ!!


は!!この後の展開はみなさまの想像にお任せします!!


時間経過システムの解説と作例

続きまして本日はお天気システムに関連しております「RPGBakinでの時間経過のシステムの作り方」を解説します。


RPGBakinはレンダリング設定(光や照明などの効果)が簡単に作れるのが特徴であり強みでもあるので、時間経過の表現をするのに向いていると思います。



レンダリング設定を作る

時間帯により1日間で6つの時間区分を作りたいので、それぞれの時間に対応したレンダリング設定を作ります。

プリセットも豊富なので、イメージと近いプリセットをコピーして作るとよいかもしれません。

Bakinは2Dのビルボード素材への影の落ち方やSSAOがあまり綺麗じゃないので、画質の高めのマップグラフィックを使っている場合要調整です。(肌が黒ずんだり汚れてるように見える)


イベントで時間の概念を作る。

時間は変数で管理します。

1分を変数1とすると一日は60分×24時間=1440分となります。

1440に6つのレンダリング設定を振り分けてみます。

1日のはじまりは夜明けの午前4時として考えてみると、

早朝(4時~8時):変数0~239

朝(8時~12時):変数240~479

昼(12時~16時):変数480~719

夕方(16時~20時):変数720~959

夜(20時~24時):変数960~1199

深夜(0時~4時):変数1200~1439

厳密に考えると夜明けと夕方はもっと短くてもいい気がしますが、今回はわかりやすく6分割にしております。

レンダリングを変更するスクリプトはこんな感じです。

時間を進める方法(イベント)

今制作中の機躁少女チェッタでは、収集行動や戦闘で時間が経過するようになってます。

時間経過に関するスクリプトを覗いてみましょう。下の例は30分経過する処理です。
収集行動などを行う度に、進んだ分だけ変数が代入されます。

時間に関する様々な変数が同時に処理されています。


時間を進める方法(リアルタイム)

また、本作では1秒ごとにゲーム内時間が1分進行するようになってます。

変数time speedを変更することで、リアルタイムで進む時間を早くしたり遅くしたり出来るようにしてます。

日付の更新

変数が1440を越えると日数経過の変数に1を足し、時間の変数が0に戻るようにします。

時間の変数をリセットするのに必要なのは赤線の部分だけです。
妊娠に関するスクリプトがちょっと見切れてますね(

編集後記

今日は時間に関するスクリプトとお天気システムの紹介でした。
お天気システムは時間の記事を書いている時に天気が大荒れだったので、つい実装してしまいました。

まだ天候による特殊な効果は用意してないですが、いずれ実装したいと思ってます。

もし体験版を遊んでいただいた方で「どうやって作ってるんだろう」など疑問がございましたら解説しますので、お気軽にコメントしていただけると嬉しいです!求む記事のネタ

フォロワー以上限定無料

んだば重工の活動が気になる人向け無料プラン。

無料

【 んだばファンクラブ 】プラン以上限定 支援額:1,000円

このバックナンバーを購入すると、このプランの2023/07に投稿された限定特典を閲覧できます。 バックナンバーとは?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索