カテゴリー

















ツクールMVとjsonと空イベント

2022/09/06

出撃前の編成画面を作ってます。
Z座標問題が解決したことで、やっとユニットの足元へ影が落とせるように。
画像797.png
マップは座標チェックしやすいテスト背景に戻りましたけど、出撃シーンはマップ上で敵ユニットや地形を見ながら直接行うFFTA方式です。

で。
これまで作成してきたユニットデータをいよいよマップ上に出すわけですが、もう一度ゲーム設計について考えなければいけません。

ここはものすごく重要。
下手な設計をしてしまうとゲーム作りが極めて面倒になるからです。

まず思い付くのが、マップ上に空っぽのイベントを設置しておいてそのイベントにユニットデータを流し込むやり方。
実際えぬもそんな感じでやろうかなと思ってました。

しかし。
そのやり方は後々になって作業が極めて面倒になります。

例えば空のイベント50個を設置したマップをベースにして、毎回そのマップをコピペして使うのかという話です。

まず、50個というのは戦闘で出すユニットの上限数として設定しているわけですが、後から変えたくなっても既に作っているマップと干渉してしまいます。
仮に後からイベントIDを変えたくても面倒すぎてほぼ無理でしょう。

あとマップ設定で面積を狭くしたらその範囲にいた空イベントはすべて消失してしまうので、コピペ元のベースマップは最小面積にしなきゃいけない。
そうすると空イベントがマップ作りの地形設置で毎回邪魔をする。

50個ものイベントを毎度いちいち全部どかすのか。
もし1画面の狭いマップだったら空イベント50個も設置したら邪魔すぎる。

…といった感じで、どれだけ問題が多いか分かるかと思います。

だから最初のゲーム設計は重要なのです。
ここで面倒な方法を採用してしまったらもう後戻りできませんからね。
どんな問題が起こるのか徹底的にシミュレートしなければいけません。

じゃあどうするのか。

マップにユニット用のイベントを作ったり置いたりしません。
イベントデータはスクリプトで無理やり作ります。

ツクールで編集したデータはjsonというファイルに保存されています。
マップやイベントもjsonに保存されていて、ツクールはそのjsonを編集しているだけに過ぎません。

だからよく「ツクールエディタを開かなくてもエクセルだけでツクゲーが作れる」みたいな話も聞くわけです。
jsonを直接編集できればいいわけですからね。

jsonを編集したらツクールのデータベースの内容も変わった!
もう使いにくいツクールエディタじゃなくて優秀な表計算ソフトでやった方が楽だな!と考えるのはツクラーなら誰しもが通る道でしょう。

しかし。
もっと突き詰めて考えるならば。

はっきりいって、jsonすらいらないんですよ。

jsonはあくまでjsが読み込んで動かすデータ群に過ぎないわけで、それならもう直接jsにデータぶち込めばいいじゃんって話なんです。だからjsonはあまり重要ではないんです。

実際、マジェスティアのゲームオブジェクトはjsonにほとんど置いてません。
jsに直接書けば済みますからね。jsonを間に挟む意味が無い。
「元データ→json→js」するくらいなら「元データ→js」で良い。

だからjsonをいじって空のイベントデータを作ることはしません。
二度手間にしかならない。

いじるとしたら、jsonを読み込むその時の処理です。
ここで作成する$gameMapに空イベント情報をぶちこめば良い。

他のタイミングだと初期値とズレるので不具合が生じる。
$gameMapの生データを増やすなら、初期値を決めるここがベスト。

つまり。
製作者がイベントを作ってデータを用意するという、従来の発想ではなく。
必要な時にゲーム側が勝手にイベントを作って設置してくれるという発想。

で、空イベントはIDを200番以降に設定します。
つまりそのマップでイベントを200個以上置かない限り、干渉はしません。
もし200個以上作ることがあれば、200の数字を一括で変えれば済みます。

たぶんイベント配列を順番に取得してる処理があると思うから、IDを大きくするとゲームが重くなる可能性も考えて200くらいかなぁと。まあでも実際にテストしてみてID1000番でも処理速度の差は感じなかったですけどね。

とにかく。
これでマップに透明なイベントが埋まる状況は避けられたわけです。
処理的にはマップに移動してきたら勝手にID200~250の空イベントがマップ外に作られて、それにユニットデータを流し込む感じです。

もちろん無差別ではなく、戦場指定したマップID限定の処理です。
イベント演出とか幕間シーンにはいらない処理ですもんね。

で、そのユニットデータを流し込む処理というのが、今やってる出撃シーン。
ここはちょっと話が長くなるので続きは次回。

9/5までの拍手お返事です。
●おお、ロスメリア大地に立つ、って感じしてきとる!
そいえば前にド-ラの瞳をそんなに曇らせたいか、言われましたけどロスメリアちゃんは今の所曇らせたいんですけど、ド-ラは恥ずかしがってたり困ってたりメシュにイタズラされて翻弄されてるのが見たいんすよ、ド-ラの事は曇らせたい程追い詰めたくはないんすよ。好きな子にイタズラしたくなるクソガキ男子の気持ちなんすよ。
■前に出してたロスメリアの顔グラも仮のやつだから描き直したい
今まで何の為に絵の練習してきたんだって話ですもんね

●テストプレイはゲームのバグよりもテスター選別の方が大事だなんてまるで人間ドラマ
■テストプレイも大変ですからねぇ
マジェもあの地獄がやってくるのだろうか…

●ドーラ「猫なのにツバメとはこれイカに……」

対義語

メシュ「シキ様がツバメ様とそれ以上に……!?///」
■それイジョウはイカんですな

●そういやゲームボーイカラーのRPGツクールは
マップ端が通路で繋がっていれば隣に移動する
ゼルダ方式のスクロールになってたな。
ハードの制約からそうなったんだろうけど

スクロールでイベントの位置リセットされるし
移動速度、頻度の指定はないし
イベント開始条件の触れた時、触れられた時が一緒くただしで
トラップを避けるのとかはすごい作りにくかった。
コモンないのにアクション作ろうとするのが無謀だけど
■そんな制限の極みって感じだったんか…GB版ツクール
ちょっとナメてたわ…

●>坂パネル
きっと、ずっと上から丸い岩が転がってくるんだ俺は詳しいんだ!!11
■階段落ちのイベントつくりたい
伝説の39段階段落ち!

●隊長がマメに更新してくれるからのうこうな夏だったぜ!
ありがとうございます!
■まだまだ夏はこれからだぜ…

●リージョンえぬ子…カッコいいわ、えぬ子さん!
■リージョンといえばサガフロ
子供の頃は聞きなれない単語であった

●いぇす いぇす いぇす!!
とくがわ いぇゃす!!
■ノリの良い一発ギャグ嫌いじゃない

●く…こんな重武装で1.5h…
最大hになったらどんな状態になるんだ!
きっと、大事な部分に光線とか霧がかかって見えなくなるに違いない
■1.5えっちは1えっちよりもちょっぴりえっち
2えっちは2ばいえっち

●メルとフレデリカの関係いいよね・・・
クリスイベントを見返してたんですけどメル編でユノーとの繋がりが示唆されているんですね。
ドーラ編ではセーラ姉さんと親交があったような会話がありますし、クリス先生の交友の広さが伺えますね。
■社会的に顔が広くないユノー1人だけで4重スパイは無理だったからクリス先生の力を貸してもらってた感じですね。まさか潜入する時にマリス教皇の孫娘って強権を使って素性をバラすわけにもいかないですし

●>あんな機能があったなんて知らんかった…

どんなゲームでもそんなのあるなんて知らなかったって機能あるよね。むしろ説明されても最後まで使わない機能まである。
■今の時代ならキーヘルプとか付いてるゲームが基本ですけど、それでもいちいち見ないですもんね。やっぱり直感的な操作かどうかが重要って感じがする

●色々とあれな話になりますが、所謂「本来の性別上ないはずのモノがついている女の子」の脳が帽子世界の中に入れられたらどうなるのでしょうか?
■帽子世界に入るだけならバリーとかハインリヒとかいるし問題ないです
でもネットワークを構築するパーツの一部になるならちょっと問題あるかなぁ
そこらへんはメルとパピィの拒絶反応しだいだとおもう

●いぇす! いぇす!! とくがわいぇゃす!!!
■2かいめかよ!

●坂パネルで
タンブルウィードがごろごろ
ダイゴローもごろごろ
ロスメリアさんもごろごろ

上がる時はぴょんぴょんだったから…
■けっこうコミカルに移動しますねぇ
ぴょんぴょんぴょこぴょこ

●高いところにいるキャラが低いところにいるキャラを攻撃するとボーナスはありますか?遠距離攻撃の射程が伸びるとか···近接攻撃の威力が増すとか···
■弓の射程は伸びますね。近接攻撃は高い方が1.5h低い方が1hの射程だから近接も高い方が有利っちゃ有利。ここらへんはFFTを踏襲してます

< 直感的なUI  | ページTOPへ |  坂パネル >