ツクール制作におけるシステム設計の話
こんちゃっす。シナリオ/システム担当の破廉荒です。
前回まででゲームの概要とプロットが完成しました。次はこれらに沿ってゲームを効率的に制作できるよう、システムの設計を考えていきます。
あらかじめ用意するもの
小規模なミニゲームであれば思いつくまま順番にイベントを作っていく(=手続き型的な書き方)をしてもいいのですが、ある程度の規模のものを作るとなるとこの方法では後々問題が発生します。
処理が効率化されていないので同じような処理を何度も書くことになったり、1箇所変更しただけで何十個ものイベントを書き換えなければならなくなる、といった具合です。
そういった事態を避けるため、ゲーム制作では共通して使いまわせそうな処理をあらかじめひとまとめにしておきます(=関数型的な書き方)。ツクールではコモンイベントとして用意しておくといいです。
また、ツクールではスイッチや変数に名前を付けることができない(正確には制作画面のスイッチ一覧画面で表記される名前を一応付けることはできますが、処理の中でスイッチ名や変数名で呼び出すことができず、スイッチや変数のID番号で呼び出すことになる)ため、行き当たりばったりで作っていては、新しいイベントを作る度にどのスイッチが何番にあるのか探すだけで余計に時間がかかってしまいます。
こちらもあらかじめ使いそうなスイッチや変数を列挙し、用途や場面ごとにまとまったID番号にまとめておくことで後々の作業を効率化することができます。例えばメインシナリオの進行に使うスイッチは1番~20番、Hステータスに関する変数は15番~35番、といった具合です。その際、多少スイッチや変数を余らせておくと、後から何か思いついた時に使えるので便利です。
あらかじめ考えておくべき具体的なものは以下。
- スイッチ(用途ごとにどういうスイッチ郡に分けるか考えておく)
- 変数(同上)
- コモンイベント(こちらもID順に並んでいるので同上)
- ステート
- スキル
例えば本作では次のような分け方が考えられます。
- Hシーン開放用スイッチ
- Hシーン1開放
- Hシーン2開放
- Hシーン3開放
- …
- Hシーン15開放
- Hステータス関連の変数
- 淫乱度
- 口開発度
- 乳首開発度
- クリ開発度
- 膣開発度
- アナル開発度
- 絶頂回数
- 放尿回数
- 噴乳回数
- 戦闘中のエロ関連のステート
- 拘束された(ヒロインのスキル追加/封印、ピクチャの出し分けに使用)
- 絶頂(1ターン行動不能)
- 発情(挿入攻撃のフラグ)
- 体勢が崩れた(体勢を立て直すまで動けない)
- 拘束した(敵キャラのスキルタイプ追加/封印に使用)
共通するもの、使い回すものを先に作る
どのマップでも共通して使う処理や、複数のイベントで使い回すことになるであろう処理を先に作ってしまいます。こうすることで実際にマップ上でイベントを作る際は、その処理をコモンイベントから呼び出すだけでよくなりますし、変更しようと思ったときもコモンイベント1つ書き換えるだけで済みます。
もちろん複数のコモンイベントが絡み合った処理を書き換えるような大規模な変更はしんどいですが…
ということで全てのマップで使いうる処理、本作の目玉でもある戦闘中のエロシステムから制作を開始します。ここから作る理由はもう一つあって、私がツクールで戦闘エロを作るのが初めてだからです。仕様がよくわかっていなかったり、勘違いしていてこんがらがると後々大変ですから。
本作の戦闘エロフローチャート(簡易)
処理を作るときはまずフローチャートを作ると、どういう状態が存在して、どの状態からどの状態に移行する可能性があるのか、どの状態とどの状態が共存する可能性があるのかなどが視覚的にわかるので便利です。
ということで本作戦闘シーンのフロー図がこちら
敵に拘束されるとHな攻撃をされるようになり、Hな攻撃を受けるとヒロインの性感ゲージが上昇していきます。そして性感ゲージがMAXになると絶頂、さらに発情状態となり、この状態で敵に拘束されていると挿入攻撃を受ける危険があります。
敵側にも射精ゲージがあり、挿入攻撃をすることでゲージが上昇、MAXになると射精して力が抜け、拘束中のヒロインを放り出します。ちなみに挿入可能状態と挿入中でステートを分けているのは、挿入開始時に演出を入れられるようにするためです。
また、本作はHPバーと衣服の耐久値を別で設定しており、拘束状態になると衣服をひん剥かれることもあります。
この図を元にスイッチや変数といった裏側の処理、状況に合わせたピクチャの変更といった目に見える処理を組んでいきます。
この中で敵モンスターのピクチャは敵ごとに個別に設定する必要がありますが、ヒロインのピクチャ変更の処理は体勢ごとに使いまわせそうです。
また、性感ゲージや射精ゲージの上昇量計算や加算処理も使いまわせそうです。例外的に上昇量の多い敵モンスターや敵の攻撃スキルを設定する場合はそのスキルだけ例外的に直書きすれば良さそうです。
ではではそんな感じで、制作を続けていきます。頑張るます!