【ウディタ講座】SRPGをつくろう! アイテムUDB整備とゲーム上の仮UI

前回までで「ユニットを動かして敵を撃破するとクリアして次のマップへ」……という流れの下地は出来上がりました。

そろそろ、戦闘や攻略の前進感を出せるゲーム要素である「アイテム」に入っていこうと思います。

武器やら薬草やらの区別ウンヌンはさておき、まずはユニットの登録時に適当なダミーアイテムを持たせて、それをゲーム上で確認できるUIを整えていきましょう。

アイテム関係のデータベースを整える

UDBでダミーアイテムを用意する

いまは「名前」だけ設定して、それっぽいものを適当にならべておけば今はOKです。

ノリでざくざく行きましょう。

ちなみにクラスのとき同様、ID0が空欄を意味するようにしています。

“-1″が空欄でもよいのですが、なにかの拍子でデータベースをマイナス値で読み込むと緑帯が出てしまうので、こうしています(緑帯が出る方がバグがわかりやすい、という考え方もアリですね)。

MEMO
実際にネーミングを考え出すと、世界観のフレーバーを出しつつアイテムの機能もわかりやすいのが望ましくてと、難しいですね。

 

FEの「てつの剣/はがねの剣/ぎんの剣」などもアイテム(武器)カテゴリとそのスケールアップ具合が明快に設定されていたのだと今になってわかります。

 

各軍の初期配置のUDB・コモンにも次のように設定しておきます。

これでゲーム開始時にUDBに設定したアイテムをユニットが持たされるはず。

ちゃんと持っているかをゲーム中で確認できるように、以下の処理を作っていきます。

ユニットのCDBで所持数上限を決める

話が前後しますが、アイテムの所持数も上限を決める必要がありました。

FEライクではユニットがそれぞれ個別のアイテムスロットを持ち、やりくりするデザインですね。

 

実は過去に作った3勢力ぶんのユニットの管理用のCDBで、実はすでにやってあったのですが、本記事では5スロット仕様(5個が所持上限)でやっていきます。

スロット数はゲーム全体の仕様にかかわることです。

事前によく考えて決めるか、「内部的には10スロット用意しておいて、何スロット目まで実際に参照するのか別の変数で指定・変更できるようにする」といったやり方が望ましいですね。

MEMO
CDBでは「アイテムの使用回数」の欄も念のため用意しています。この記事ではまだ扱いません。

ちなみに……FEH(ファイアーエムブレムヒーローズ)ではアビリティ(スキル)の換装ですべてをまかない、装備もアビリティの一種として扱っています。こういうのもスッキリしていてカッコいいですね。

ユニットのアイテムの所持状況(CDB)を読み込む処理

「所持アイテムのリストを取得する」コモン

CDBの当該位置を順番に読み込んでいくだけですね。

本来は「空欄」は飛ばすものですが、デバッグ的な狙いから当面残しておきます。

回数ループを駆使するとよりスマートな書き方になりそうですね。次のカウントコモンではそのようにしてみましょう。

「所持アイテム数をカウントする」コモン

見かけは違いますが、基本の流れは所持アイテムリストの取得と同じですね。

調べた場所が空欄でなければ返り値を+1し続けます。

ゲーム中で所持アイテムを確認できるようにする

ステータス画面で所持アイテムリストを仮表示する

仮表示なので、ウディタのデフォ機能のテキスト表示を代用して今回は一区切りとしておきましょう。

「道具」コマンドで所持アイテムリストを仮表示する

操作コマンドに「道具(アイテム使用)」の項目を増やします。

「アイテム所持数が1以上のときだけ」かつ「その行動でまだ一度もアイテムコマンドを使っていない」ことが表示の条件となりますね。

 

あとはステータス画面での確認と同じ要領。

 

これで出来上がりです。

 

 

 

【ウディタ講座】SRPGをつくろう! まとめ