製作作業台_003



[2018/02/25] 「ステージフォーム」モードの基本システムが一応完成

ニュースはほとんど見ず、世間一般の情報を一切頭に入れない状態で
連日のように自分のゲームを作っております!
素晴らしい世界が、徐々に形になっていく・・・・・ 素晴らしい!!

・・・良い子はマネしないでね。

製作者である私は不器用な性格だから、
少しでも余計な情報が頭の中に引っかかってるとゲーム作りに集中できないの。
だから、ニュースを見ていない。あしからず。



さて、現在製作中のパズルゲーム。
100枚のパネルをすべてオモテにすればステージクリア
この繰り返しで進んでいくんだけど、このシステムを作るのが
じつは簡単なようで結構難しかったりする。

特に難しいもののひとつが、データのセーブ。
ウディタのイベントコマンドのひとつに「セーブ・ロード操作」というものがあるが、
ここで、指定の番号のデータをセーブすれば、
通常変数、セルフ変数、可変データベースの現在値など、
現在プレイ中のゲームデータにおける全ての情報が一度に記録される。
確かに便利である。

しかし、問題なのは、セーブしたマップとその座標までセーブされてしまうこと。
今回製作しているゲームでは、必ずタイトル画面から始まるようにしたい。

そこで、コモンイベントとして「ゲーム初期状態」というものを独自に定めている。
ゲームデータのセーブには99番のデータを指定し、
99番のデータの一部を、ゲーム起動時に呼び出すようにしている。
ただし、可変データベースの値については
直接現在のゲームデータのそれに代入することはできないので、
いったんそのコモンイベントのコモンセルフ変数に代入し、
その代入したコモンセルフ変数の値を現在ゲームデータの当該可変データベースの値に
代入するようにしている。

また、通常変数の値については、通常変数の数自体がかなり多く、
1番、2番、3番・・・・・と手作業でやっていくと、時間がいくらあっても足りないので、
別の方法を取ることにした。



上の画像のシャドウ部分が、それだ・・・。
頭の回転の悪い私がこの方法を知るまで、かなりの時間がかかった。

YADOTさんをはじめ、ネット上で数日間にわたっていろいろ情報を調べていたところ、
変数の値にちょっとした工夫を加えることで、かなり大きな数値を直接入力し、
反映させることが可能であることが判明した。

ウディタでは、イベントコマンド上で100万以上の数値を数値入力欄に入力すると
特定の変数として認識されるという仕様がある。
もちろん、これはとても便利で重宝する仕様なんだが、
時には勝手に別変数に指定されてほしくない時だってある。
そういう時は、変数コマンドの右辺の左側にある「データを呼ばない」のチェックボックスにチェックを入れれば
そのまま入力した値となるのだ。

例えば、"2000000"と入力すれば、普通は通常変数0番として認識されるが、
「データを呼ばない」にチェックを入れることで、整数200万として認識される。

これを利用し、上の画像のようにイベントコマンドを組み合わせれば、
読み込む対象の通常変数の番号が1ずつ上がり、セーブデータ99番の同じ番号の通常変数の値を代入。
これを自動的に1000回ループ処理してくれる。
こうして、0番から999番までの通常変数の値が自動的にロード元のそれに置き換わる、というわけよ。
変数1つずつ1000個分のイベントコマンドを書いてたら1000行以上にもわたるところが、
これならたったの10行前後で済む。非常にありがたい!!


ただし、変数の中には並列実行イベントの条件となっているものもあり、
それらは値が1になると、それぞれの並列イベントが自動的に実行されてしまう。
これはエラーの元となるので、変数の読み込みが完了した直接に
手作業で当該変数に0を代入している。



・・・とまあ、技術的にわりといろいろ頭と時間を使って、
なんとかゲームスタート画面を完成させることができた。



この画面は、タイトル画面のボタン「ゲームスタート」をクリックすればいける。
モードには「ステージフォーム」「サバイバル」「フリースタイル」「エディット」の4つがあるが、
現在はその中の「ステージフォーム」を作っているところ。
あとは現時点では形だけ。中身はまだない。


パネルプレイ画面に入り・・・



ステージクリア!



「ステージフォーム」モードはラウンド制で、
1ラウンドにつき5ステージがあり、5ステージ目をクリアすることで次のラウンドに進む。
コンティニューは、プレイヤーがプレイしたことのあるラウンドの中から選択し、
そのラウンドのステージ1からの再開となる。



現時点では、ステージスタート&クリアの演出に使う字幕の色は白、影の色は黒。
ラウンドクリアのそれは黄色と青にしている。
コンフィグでプレイヤーが背景やパネルの色を変更できるこのゲームで
どんな色でも文字が見えるようにするために、演出用の文字には影を付けた。

・・・ん? パネルの下のぼかしは何か、って?
あれは一応、このゲームのタイトルロゴの透かし。
今はタイトル未公開だからぼかしておいたのよ。


ともあれ、これでやっと1つのモードの基本システムの整備が完了した。
あとは、各ラウンドごとにステージを作っていくだけよ!



ちなみに予定ではあるが、作るステージの数は、
「ステージフォーム」は20ラウンド x 5ステージで100ステージ。
「サバイバル」は848ステージ・・・の予定。

次回に続く。