時雨屋支店 2019/06/23 21:00

解決しないバグをぬいぐるみに相談する

プログラマがたまにやる手法。
物事の問題を、ぬいぐるみとかゴムのアヒルに話しかけて説明するうちに、
頭の中が整理され、解決方法が見えてくるというライフハック(?)
http://toya.hatenablog.com/entry/2015/07/09/133609
では私も、目の前にぬいぐるみを置いてやってみることにしよう。

※目の前にぬいぐるみを置いて淡々と話す作者をご想像下さい※




最近困ったことがあるんだ。
今作っているゲームの、時間システムのことなんだ。

キャラクターを街の中で自由自在に街の中を動かしたい!
例えば、12時になったらこのキャラは食堂に行くし、
夜中の2時になったら、酒場からジョニーは出ていくけど、
タバサは夜中の3時過ぎまで飲み続けている…

これが、今回のゲームで僕がやりたいことだよ。
キャラクターの行動を、変数で管理して、
時間ごとにマップを移動させるんだ。

でも、ここで困った問題が1つあるんだ。
それは、「時間は常に動き続けている」ってこと。
あたりまえのことだって?でもこれがとても難しいことなんだ。

今回のゲームは、リアルタイムで時が進んでいく。
一歩進むと時が進む、っていう形式じゃないんだ。
具体的に言うと、1秒のうちにあの世界では2分進んでいる計算になる。

例えば、主人公が「食堂」にいたとしよう。
この食堂マップにはいろいろなお客さんキャラがいて、
12時になると入店してくるお客さん、
1時になると退店していくお客さんがいるんだ。
でも、例えば、主人公がずっと「食堂」マップに居続けたら、いったいどうなるだろう?
1時になると退店するお客さんが、
MAPから、突然消えてしまうことになるんだ!!
ご存じの通り、イベントは変数で管理してるからね!!

入店してくるときはいいんだ。
イベントを置いて、透明度を変化させて移動ルートを指定して、
指定したところに来たらスイッチをONにして、
話しかけたら「お昼ご飯おいしいね!」って言うイベントを発動させればいいんだから。

でも、お客さんが退店していくときはどうすればいいんだろう?
イベントを置いて、移動ルートを指定して、
指定してきたところに来たらスイッチをONにして、
イベントを透明にして発動しないようにして………。

……。

……。

いや、
特に問題ねえなこの処理で。

(解決)



それでは。

月別アーカイブ

限定特典から探す

記事を検索