データべース入門

データべースとは

データべスとは、階層構造を持った変数、定数群です。

ゲームに登場する大量の変数や定数を管理しやすくするためにあります。

UDB

RPGで一番データベースを理解しやすいのはステータスでしょう。

キャラクターにはそれぞれ、名前、HP、攻撃力、守備力などが設定されています。

キャラクターは主人公だけでなく、仲間1、仲間2など複数いるとします。

そして仲間それぞれにも、主人公と同じように名前があり、HPがあり、攻撃力があり、守備力があるでしょう。

このようなときにデータベースは威力を発揮します。

ステータスをバラバラにではなく、キャラクターごとにまとめてしまうのです。

データベース概要図

データべースの種類

ウディタには

可変データベース

ユーザーデータベース

システムデータベース

の3種類のデータベースがあります。

それぞれ、cdb、udb、sysと略されることもあります。

可変データベース

可変データベースは、変数のデータベースです。

つまり、自由に値を書き換えることができます。

ステータスや所持している道具など、ゲーム中に値が変化するものは可変データベースを使います。

UDB

ユーザーデータベース

ユーザーデータベースは、定数のデータベースです。

いわゆる読み込み専用で、ゲーム内で値を書き換えることはできません。

敵のステータスや、魔法の効果など、ゲーム中でも変化しないデータを扱います。

UDB

システムデータベース

システムデータベースは、システム変数という特殊な変数をまとめたデータベースです。

システム変数とは、現在の時刻やマウスの座標など、ウディタが自動で代入してくれる変数のことです。

値を読み取るだけのものや、能動的に値を書き換えられるものが混在しています。

詳しくは別の機会に解説しますので、「ふーん」と思うだけでOKです。

UDB

データべースの階層構造

タイプの下にデータがあり、データの中に項目があります。

「項目」をもつ「データ」が「タイプ」別に集まったものがデータベースです。

UDB

上の図で示したところが、タイプ、データ、項目となっています。

タイプと項目の設定

タイプ内容の編集をクリックしてみてください。

データベース設定

項目は、可変データベースの場合項目一つ一つが変数となっています。(ユーザーデータベースの場合は定数)

それが数値なのか、文字列なのか設定します。

項目名をつけたら”OK”を押してください。

すると項目されます。

データ数の設定

同じ項目をもつデータの数を増やせます。

同じ項目といっても、データの違う項目はそれぞれ独立した変数として扱います。

あくまで「HP」といった名前や、数値か文字列かなどが共通しているということです。

データベース設定

DB操作とDBの特殊文字

DB操作

データベースから値を持って来たり、データベース内の変数を書き換えるにはDB操作というイベントコマンドを使います。

タイプ番号。データ番号。項目番号を指定することで、DBからデータを収得したり、代入したりできるのです。

ただし、ユーザーデータベースは項目が定数なので、代入することはできません。

DB操作

DBの特殊文字。

変数入門で特殊文字について少し触れました。

「\cself[X]」を文書表示すると、コモンセルフ変数Xの値に置き換わりましたよね。

「\v[X]」だと、通常変数Xの値に置き換わりました。

データベースでも同じように特殊文字が割り当てられています。

DB操作

\cdb[X:Y:Z]のように書くことで、タイプX、データY、項目Zを参照できるようになります!

具体的な使い方は、次回の「30分で戦闘を作る」で解説したいと思います。