ゲーム製作作業もまあまあやってるというかひたすらマップ作りングです。
今までずっとウォーターフェルを作っていて、デカいマップはUNDERTALEも操作しながらヒーヒー言いつつ作りました。
何度も言うようだが、ウディタとUNDERTALE(をお作りになるのにお使いになったソフト)のマップチップの大きさが同じなら
こんなに苦労はしないのである…大きさが違うのでごまかすしかないのである…!ごまかすのは楽しいんだけれども!なんやそれ。
ここは「バレエシューズ」が落ちている草むらです。草むらの中に落ちているのでマップ上にバレエシューズが表示されることはありません。
草むらの中でぶつかって決定ボタンを押したらそれを拾う、という感じです。
つまり「ぶつかるもの」が一応必要になります。だけどわざわざバレエシューズの画像を作っても表示されないからあまり意味がない。
「画像なし」にするとぶつかりもしない。決定キーを押したら拾えるけど、ぶつからないと落ちてることにも気づきにくいだろう。
というわけで、草むらの中にテラメリテールではハニワを置くことにしました。なぜハニワ。
草むらはあらゆるキャラよりも上に表示される設定にしてあるので主人公も埴輪も見えなくなりますが、
マップ的にはこうなってます。草むらの中に何かいます。
でも調べればちゃんとバレエシューズが手に入るので安心しましょう。
さらに進むと、「モンスターの子」が傘を持った主人公と合流して雨ザーザーのエリアを歩き、
遠くにお城が見えるエリアをまっすぐ歩き、また雨ザーザーのエリアに出る、ということになります。
この雨ザーザーがなんで雨なんて降ってるんだああぁぁと思いつつ四苦八苦しながら雨を降らせました。
「ウディタ 雨」とかで検索してみても…よく分からん。UNDETALEと同じような雨は降らせられない。
となればあとはごまかすのみ。それらしく見えてくれればそれで何とか…!!
雨粒は全部一つずつのピクチャにして、マップの一番上から下へ落ちる。全部一気に同時に発生して
同じ速度で落ちて同時に消えたらそれはただの白い幕なのでバラバラに落ちてもらわないといけない。
そしてそれをなるべく簡単なプログラムで書かないといけない…!
というわけで雨粒をまとめて5つほど一度に発生させ、数フレーム待ち、その最初の5粒が落ちきらないうちに
次の雨粒を発生、またちょっと待ち、その次のを発生…というのを繰り返し、画面内に常に
数十粒の雨粒があるようにしました。
さらに画面上部から画面下部へすり抜けていってもらってもいいんだけど、やっぱり地面に当たって
雨粒さんには弾けていただきたい…と思って雨粒がはじける処理も別で作りました。
それはとってもカンタンな処理で、二つのマップで使いまわせるように書いたけどたったの21行に収まりました。
雨粒が特定の高さ(一定の範囲内でランダムな数値)に達したら弾けるアニメに移行して雨粒のピクチャは消滅、そんだけです。
高さがランダムなのでつまりは「消えるまでがランダム」ということにもなり、
これによって雨粒が全部一斉に消えていく超常現象という感じになることは免れました。
やれやれこれで完成、と次の遠くにお城が見えているマップへ入ってみたら
主人公の周りだけいやがらせのように雨が降っている。雨粒を全部消す処理と雨を降らせる処理を停止させるのを忘れていた!!
こんな初歩的過ぎるミスばっかです。
UNDERTALEでは遠くに見えるお城と星空も何重かにスクロールしていてマジかこれやるのかとげっそりしそうになりましたが、
四の五の言わずにまずはお城を描き、岩場を描き、星を描き、それらを主人公が歩けばこれぐらい動く、
というのを設定して三重にスクロールするようにしました。
よし、ごまかし完了。
さらにお城シーンでは主人公+モンスターの子がシルエット表示になります。
なのでお城のマップに入る瞬間にシルエット表示にする処理が必要です。
とはいっても「シルエット表示にする」というよりも「キャラの画像を差し替える」ことになるので
「キャラを真っ暗にする」のではなくあらかじめ真っ暗なキャラの画像を用意しておいてそれに切り替えています。
そして「シルエット表示にする」と一口にいっても「傘を差した主人公」、「傘を差していない主人公」、
「モンスターの子が後ろにいる」、「モンスターの子と別れた後なので彼がいない」というパターンがあり、
それを全部分岐で分けておかないといけません。
それをすっかり忘れて、お城の次のマップ、モンスターの子が足場になってくれて段差を超えるマップに入ったら…。
お分かりいただけただろうか…傘を差した主人公の後ろに、シルエット表示のままのモンスターの子がいることに…
キャーッ!!
主人公は真っ暗じゃない画像に戻す処理はできていたがもう一人を戻し忘れていました。
まるでムーンサイドの眉毛つながりの金歯さんです。にかっ にかっ。
|