R-ion/要餅 Feb/05/2025 19:51

【雑記】エレベーター移動はぼくらのロマン

こんにちは。R-ionです。相変わらず活動報告記事にするまでもないびみょーな進捗を投げに来ています。今雑記タグ見たら元擬の記事しかなくて笑いました。いつか元擬以外の記事もできたらいいですね。

最近の雑記事を見返したら雑と言いつつけっこう書いてたのでハードルを下げるためにも今回こそは短めです。というか今回は本当にエレベーターしか進捗がない。よく更新しようと思ったな。

▼そんなこんなで相変わらずの亀進捗ですがよければどうぞ。

マップ制作と移動設定

マップを作ろう

今回はマップを作ったぞという記事です。話自体は移動処理の話題が多いけど。
やっとウディタを触っていろいろやってます。なんもわからずめちゃくちゃ手探りですが動いたときは楽しいです。まだマップ同士の移動処理ばっかで立ち絵表示とかストーリーイベントは全然作ってないけど…まだピクチャの仕様が全然わかってないけど…

シナリオの大枠を固めつつ、やりたいこととやるべきことをリストアップしたらめちゃくちゃあってビビりました。いっこずつやっていきたいです。どこまでいけるかな…

移動スチルってテンション上がると思う。

▲エレベーター移動の演出。かわいい。メッセージウインドウめちゃくちゃデフォルトだけど。

マップが研究所ということで、フロアがたくさんあって移動が大変なのでエレベーター移動イベントは作ろうと思っていました。とりあえずシンプルな移動イベントを作ってみたところ、トランジションだけだと寂しいな~と思ったのでちょっとした演出を入れてみました。移動処理中にピクチャを表示してトランジションしただけですがこれだけでもなんだか移動感が出ていいかも…?(自画自賛)暗転せずスチルごとトランジションしちゃうのは…まあ…ご愛嬌ということで…(昨日一時間ほど格闘したけど諦めた)

最初はこれだけ作ってイベントコマンドをコピペしようと思っていたのですが、絶対後々修正したいときに大変だな…と思ったのでトランジション→ピクチャ表示→移動→トランジションの処理をコモンイベント(ティラノでいうマクロ)化しました。

こんな処理でも1時間くらいは格闘しました…(30分くらいは調べものと迷走の時間だけど)本当はエレベーター移動はイベントコマンドの中で完結するのでセルフ変数(イベント内だけで扱える変数)を使いたかったのですが、それだとコモンイベントとのかみ合わせが悪い(たぶんできると思うけど、私の頭じゃ無理だった…)ので大人しくゲーム変数を使いました。たぶんもっと最適化できるけど初心者ができることって限界があるよねということで今のところこんな感じです。

これから階が増えてきたときとか、シナリオを入れたときに何かしらの不具合が起こりそうで怖い…まあそん時考えればいいか。

今組んだのは基礎ということで、これからパーティーメンバーによってスチルが変わる処理とかも入れなきゃなので大変です。ついてこれるか、私。

そんな感じで今回は移動処理の回です。文字が多いのは私の思考整理も兼ねています。難しいからいちいち書かないと忘れちゃうんです…でもこういうのは嫌いじゃないです。

非常階段と変数と条件分岐

エレベーターを設置したはいいものの、一階だけの移動にわざわざ演出入るのはダルくないか…?ということで非常階段を設置しました。

…思いついたはいいものの、この研究所なんと11階もあるのでこのままだと階段マップを11個も作らなきゃいけません。(わざわざマップ作るのは上にも下にも行きたいから)しかもマップごとに移動設定もしなきゃいけない。めんどくさい。というかマップと処理が増えると絶対どっかでミスするし修正が大変…

ということで、最上階と最下階以外の階段マップを統合することにしました。

…簡単に言ってのけましたがこれ、めっちゃ大変です。いや、処理自体は『どこから来たのかを変数で判別して、移動先を分岐させる』だけなので難しくはないのですが、なんせ11階もあるので…

しかも階段マップを作ったせいで『何階の上または下から来たか』も判別しなきゃいけないので変数と分岐の数が大変なことになります。 上級者の人ならうまく処理を統合してすっきりぱぱっと作ってしまうのだろうけれど、私は初心者なので気合いで実装しました。…といってもまだ全フロアできてないので基礎を組んだだけですが。でも大変だった。というか単純計算で変数と分岐が30個くらいできることになるのが今から恐ろしすぎる。2フロアの時点で頭こんがらがりそうなのに…

▲整理がてら作った移動処理のフローチャート。字きったな。

これは普段組み込みを感覚でやってる私が「さすがにこれはやばい…」となって焦って作ったフローチャートです。汚い。プログラムガチ勢の方が見たら気絶しそう。

本当にこの通りに作りました。絶対どこかコモン化できるけどマップを挟む上に階段でしか使わないイベントなのでそのままイベントコマンドに打ってます。移動処理とか全部手動で設定しなきゃなのめんどくさすぎるけど仕方ない。誰だよ非常階段作ろうとか言ったやつ。

いちおう解説すると、フロアから来たのか、階段の上りから来たのか、下りから来たのかを十の位階数+一の位0~2の変数で判別してその値ごとに分岐させて移動処理を設定する…というものです。これを上、下、出口×変数30個(単純計算)分打ち込みます。 助長すぎるし絶対最適化できるけど私が理解できるコードを書こうとするとこれしかなくて…

まあいちおう仮で2フロア分組んでみて動いたのでとりあえずこれでいきます。いい処理を思いついたらすっきりさせる。たぶん。どっかで不具合起きそう。こわい。
というかなんで私ウディタ触って合計5時間くらいの超初心者なのにこんなことやろうとしてるんだろう。バカなのかな。
まあこういう経験はどっかで役に立つはずなのでいろいろやってみます…

さいごに

ここまで見てくれてありがとうございます。今回はやったことの整理の側面が大きかったので文字ばっかですね。すみません…ウディタの基礎とたわむれているうちはこういう記事が多くなりそうです。

あと前回は自我出してしまってすみません…面白くないのですぐ消しましたが、もし見てしまった方がいたら申し訳ない…気を抜いたらすぐ自我が出てしまうので今後気を付けます…

こんな感じです。結局長くなっちゃった。昨日今日と頭使って疲れたのでそろそろ素材づくりをしたい…

Monthly Archive

Search by Exclusive Perks

Search Articles