2016年2月7日日曜日

WOLF RPGエディターを弄ってみる

さて、早速「WOLF RPGエディター」というものを入れてみました

WOLF RPGエディター
http://www.silversecond.com/WolfRPGEditor/


サンプルゲームが入っています。かわいいですね



なかなか高機能です。システムを自作でカスタマイズする前提の構想を持っているのですが、そこまでハックしなくても実現できそうです。


さて、エディタを開いてみます。


マップ上のイベントはこんな風に実装されているんですね。結構GUIでポチポチしなければならなそうです。




では早速ですが、サンプルゲームのデータを退避して、基本データのみの状態にして自作のシステムを作っていきます。

尿ゲーなので、まずは主人公の尿関連のパラメーターを設定します。ゲーム中で変化するステータスは「可変データベース」というところに定義するようです。


「タイプ」はいわばデータ型で、「データ」がそのインスタンス、右側がインスタンス毎の各フィールド値と言ったところです。
ここではPCデータを表す既存の"主人公ステータス"という「タイプ」を使います。サンプルキャラの「データ」が入っていましたが、主人公はオリキャラのぬいちゃん一人の予定なので、これを追加して他は消します。


「タイプ」名をダブルクリックするとタイプのデータ型定義を編集できます。


こんな風になっています。未使用の領域に尿関連のパラメータ値の定義を追加します。


はい、これでOK

続いて、画面上のステータス表示です。
画面左上に、HP、SP、尿意などを常時表示することを考えています。
この機能は、コモンイベントという処理で実装するのが良さそうです。

「起動条件」を「並列実行」にすれば、他のゲーム上のイベントと同時に常時実行できるようです。


ステータス表示は、文字をグラフィックとして表示する機能を利用します。

特殊文字として、可変データベースや一次変数の値を入れられます。


なお、並列実行する条件として「通常変数」と呼ばれる変数を参照するようにしました。これはグローバル変数のようなもので、「システムデータベース」の一部の領域がこのために割り当てられています。

「可変データベース」と同じようなデータ構造になっています。(「タイプ」の型定義も編集できますが、無闇に弄るとどうしようもないことになりそうな気がします)
これで、ステータスを表示するタイミングを他のイベントから制御できます。
なお、尿意や尿量を更新する処理の実行タイミングの制御にも「通常変数」を使っています。


ともあれ、画面上の表示ができたので、デバッグ用のマップを作って表示させてみます。


はい、できました。ニワトリはデバッグ用の尿増やし屋さんです。


続いて、尿を増やし尿意を変動させる処理を作ります。


ああ、もう面倒臭い。
プレイヤーキャラはそもそも一人しかいない前提のデザインを想定しているので、本来であればキャラクターに紐づけるべき処理もベタ書き上等です。
ここに来て気付いたのですがウディタの内部変数は基本的に整数型なので、細かいことやろうとすると不便なところがあります。
ここでは尿意の波をサインカーブによって表現しようとしています。三角比を求める処理があるのは良いのですが、精度を確保するため角度の10倍の値を与えるとsinの1000倍の値を返すという仕様になっています。いや、こりゃ参った…


はい、できました。
今のところ利尿度を変化させるイベントを作っていないので、尿量は一定速度でじわじわと増えていきます。尿意は初めは0のまま変動しません。

尿量が200mlを超えたところで僅かに尿意が増加します。

しかし、すぐに0に戻ります。

尿量250mlを手前に再び上がり始めた尿意は15%を超えたところで折り返します。

しかし10%を切ると間もなく再び増加に転じます。

尿量300mlを手前に尿意は50%前後で一次横ばいになりました。

しかし急な増加に転じるのにそこまで時間はかかりません。

尿意85%で尿意の増加は一瞬停止。この時点で尿量は300mlを超えたところ。


再び動き出した尿意の上昇は更に急激で、すぐに尿意100%に達しました




どうでしょうか。なかなかリアルなおしっこ我慢シミュレーターになったかと思っています。

次回は、尿意を低下させる前押さえのコマンドを実装したいと思っています。
また、利尿効果のあるお茶をイベントして設置して、前押さえ我慢を前提としたおしっこ我慢シミュレーターとしてのリアリティとRPGに組み込むに相応しいバランスを探っていきたいと思います。


0 件のコメント:

コメントを投稿