見出し画像

【総集編】ド素人からはじめる五里霧中・RPG制作記【第0回~第7回】

 相可托生(おうか・たくお)という者です。RPGツクールMZでちまちまとRPGを制作しております。本シリーズも回を重ね、いろいろと取っ散らかってまいりましたので、総集編と題してここに至るまでのナメクジのごとき歩みを振り返ってまいりたいと存じます。

 また、これを機に本シリーズのマガジンを作成しました。お時間とご興味のある方、どうか覗いていってください。

 とはいえこの総集編のみでここまでの内容すべてわかるように書いたつもりなので、いつものように「第〇回参照」とか言うつもりはございません。

 総集編を編んだからといって、別にゲームの完成が見えたわけではありません。このままいつできるかわからぬまま続けていくのはシンプルに中だるみしそうなので、まず初めにここで完成目標期間を設定したいと思います。

 目標:2026年内にRPG完成・公開まで漕ぎつける

と、公言しておくことで気合いを入れなおさねばならぬ。

 総集編はじまりはじまりー!!



 実を言うと、ここまでのシリーズ計7回のなかでやったことは大きく分けて2つのことしかありません。

 それは「プラグインを使ってゲームのメインシステムを整備する」ことと「主にツクールの標準機能でRPGの基本機能をカスタムする」ことです。

メインシステム紹介とプラグイン整備

 対象話数:第0回、第1回、第2回、第6回

第0回・第1回 ゲームタイトルの意味とメインシステム

 制作中ゲームタイトルは『夜の営みで強くなるRPG』。しつこいようですが、断じてR18作品ではありません。説明しましょう。

 本作の世界では、すべての人に「才能」があります。人は技術・信仰・武術・知識の4つのうち1つだけを自分の才能として生まれ持つことになります。逆に、持って生まれなかった才能は基本的には上昇しません。才能はそれぞれ、剣技・奇跡・武技・魔法の特殊技能に対応します。

 例えば、知識の才能を持って生まれたことで魔法を使うことのできる人間は、いくら経験値を得てレベルアップしても技術・信仰・武術を鍛錬することはできないのです。

 本作主人公は、技術=剣技の才能を持つ人間です。そして、主人公はある特殊アクションによって才能のないステータスを上昇させ、果ては奇跡・武技・魔法のスキルを習得する可能性を秘めています。

 その特殊アクションこそが本作のメインシステム、仮称「夜の営み」であるというわけです。

 具体的には、「信仰・武術・知識の才能を持つパーティメンバーと夜を共に過ごし、その才能を学び取る」という育成システムです。これによってプレイヤーは、主人公を好みの才能持ちキャラに育成することができます。主人公を剣技特化のストイック朴念仁に育てようが、コミュ力お化けの陽キャ万能型剣士に育てようがあなたの自由。ついでに言うと、そもそもパーティメンバーを追加するか一人旅でクリアするかもあなたの自由です。

すっぴん剣士と全部載せ剣士

 ……とつらつらとまくし立ててはみましたが、実はこの「真の」メインシステムは、プラグインなんか使わなくてもツクールのイベント管理で実装できてしまうのです。問題はもっと別のところにありました……。

第2回・第6回 世界観システムのメインプラグイン

 ごく最近、あるところに「なるべく現実世界と乖離しすぎない、リアリティを持ったゲーム世界を構築する」、という制作上の裏コンセプトがありましたとさ。

 それは例えば、「HPは健康状態(Health Position)、MPは精神状態(Mental Power)を数値化した指標である」とか「戦闘時、物理攻撃を行うと体力を使うのでHPを消費し、魔法や奇跡(祈り)を行うと精神を摩耗するのでMPを消費する」とか「体力はフィールドを歩いていれば少しずつ回復する」とかいう現実世界に照らし合わせれば、まあ当然と言えば当然よねという内容でありました。

 そして本作世界においては、人間という個の存在は「精神と肉体」という二元論の上に成り立っており、精神が崩壊=MPが0になっても肉体が機能停止=HPが0になっても戦闘不能になるという原則も付加しました。

それはもう、プラグインを使いに使って……。

 第2回でChatGPTとタッグを組んだ私はどうにかこうにか世界観プラグインを構築・導入しました。しかし文系上がりには何がどうなって動作しているものかわからないまま……。制作者=神たる私が世界の仕組みをわかっていないのは良くない! 世界観プラグインの中身を大解剖したのが第6回というわけです。

 ちなみに改めましてプラグインてなんやねんと申しますと、RPGツクールの標準機能では実現できないカスタム機能をプログラミング言語JavaScriptベースのプラグインファイルなるものを使って無理やり追加しちゃおうぜというものでございやす。超ざっくり説明。

 この世界観プラグインで実現した機能は大別してみると3つです。どれもいわば「現実世界準拠ルール」です。

  1. 物理攻撃を行ったときのHP消費処理

  2. フィールド移動時のHP継続回復処理

  3. MP0のときの戦闘不能処理

 1は当然RPGツクールの標準機能では実現不可です。だって通常のRPGにおけるHPは「Health Position」ではなくて単なる「Hit Point」ですからね。

 2はそんなに大した事ありません。ツクールの中には1歩移動するごとに呼ばれる処理が存在していて、プラグインを使えばその処理が呼ばれるタイミングで任意の量だけHPを回復させることが可能です。

 3は具体的には、「HPで死んだときとMPで死んだときの戦闘不能をゲームの内部的に区別し、復活するときに必要なアイテム・スキルの種類をそれぞれ別にする」ための処理になります。

世界観補完サブシステム

 対象話数:第3回、第4回、第5回、第6回

第3回 変数とコモンイベントほか

 ツクールでゲーム内処理やイベントを作るとき、変数とかスイッチをめちゃくちゃ使います。変数はこのときにある程度説明入れたのですが、そういえばスイッチに関して大した説明を試みていなかったことに気づき、ついでにこの項で解説しておきます。

変数とは「数値を入れておく箱」です。箱の中身を入れ替えることで、その箱を使っている箇所の処理すべての数値を1度に変更できます。

 例えば本作では、敵に遭遇しない町や建物の中すなわち「安全圏」にプレイヤーがいるときに、ゲーム画面上に「精力」という変数と「日付」の変数を表示するようにしています。

 精力は「夜の営み」アクションのときに使用する特殊ステータスです。これも才能と同じく生まれ持ったものであり、ゲーム内で回復しません。回復しないことにより、プレイヤーはどのキャラクターと「夜の営み」を行うのか、または行わないのか?の選択を強いられることになります。ただし周回プレイ時に残量を引き継げる仕様を作る予定です。2周目以降に懸けて、1周目では精力を一切使わない戦略もあり。

 日付は宿での宿泊時に1日経過する変数です。一月の日数が31日、一年の月数が12月で1年372日の暦です。12月31日を越えると世界滅亡します

スイッチはオン・オフの切り替えで処理を変更できる機能です。例えば、先ほどの画面に変数を表示する「安全圏」の判定は、「安全圏表示」スイッチのオン・オフで行っています。

 町からフィールドに出るときは「安全圏表示」をオフ、町へ入るときはオンにする。また町の中でも人に話しかけたり、プレイヤーが操作不能になるイベント時は「安全圏表示」をオフにする。オンのときは精力と日付を表示し、オフのときは非表示にする。みたいな使い方をするやつです。

 あとはコモンイベントですが、前提としてツクールでのゲーム内イベントは「マップの1マスにトリガーとなるプレイヤーの動作を設定して設置」する形式です。しかし、ゲームつくっていると同じようなイベントを複数作る必要が出てきたりします(宿屋宿泊イベントとか)。

 そんなときに使いまわせるイベントとして作るのがコモンイベントというわけです。データベースに登録しておけば、マップ上でそのコモンイベントを呼び出せばいつでも同じイベントを複数簡単に設置可能という寸法。

第4回・第5回・第7回 こまごま機能整理

 第4回と第5回は、パーティメンバーのステータス調整とか、サイドビュー戦闘での敵画像表示をうんぬんかんぬんした回でしたね。特に見どころはありません。あしからず。

 そして前回第7回では、持ってきた素材を掛け合わせて薬を作ってくれる「調合屋」という薬剤師的・薬局的な店舗を作成。さらに「食事システム」という、購入してお弁当箱に入れたごはんが日付の経過で腐るシステムをプラグインの使用はせずに作成しましたね。

 この食事システムもリアリティ重視路線の副産物ですが、もう一つこのゲームにおいては「メインの回復手段が薬や食事である」というところがミソです。なぜなら、魔法や奇跡を使うときにはMPを消費する。MPが0になると戦闘不能になる。つまり非常時以外に魔法で味方を回復する行為は自殺行為になりえるわけです。

 せっかくアイテムで回復する旅をするなら、各地でいろんなご飯を食べられるグルメ旅要素を足したい。そんな自己満システムなのでした。

 この食事システムプラグインなし縛り実装に貢献したのがまさに先ほど解説した変数とスイッチの2大巨頭だったわけですが。ごく簡単に紹介だけ。

 使ったのは「消費期限」変数・「経過日数」変数・「食事購入」スイッチです。「食事購入」スイッチがオンのときは新たに食事を購入できない。つまり、ゲーム内で持ち運べる食事は食べるか捨てるかするまで1食分のみ。

 消費期限は食事の種類ごとに決まった数値があり、購入時に変数へ格納されます。経過日数は宿での宿泊時に1プラスされ、その変数「経過日数」が変数「消費期限」を上回ったタイミングで食事が腐る=毒付与状態になるという仕組みでした。

今後の展望

 「総集編」としては前項までです。長々とお付き合いいただきありがとうございました。

 最後に、次回以降の予定を決めたいと思います。今までは「記事書き終わったタイミングで、次回予告のために次回やることを考える」スタンスだったせいでまとまりのないグッダグダの流れでやってきました。そこで今回、以降数回分の「次なにやるか」を考えることに。

【今後の予定】

  • 第8回(次回):ストーリー上の大雑把な目的・必要なイベントの整理

  • 第9回~第12回:各国イベントの設置 with 変数・スイッチ

  • 第13回:エンディングイベントの設置

 本シリーズ今まであまりストーリーとか世界観設定に触れずやってきましたが、ここまで来たらイベント関連に踏み込まざるを得ない。いつかの記事で裏で勝手にやりまーすみたいなことを言ってたおぼえがあるが、記事書くモチベーションなしに裏で勝手にとかできるタイプじゃなかった

 そのためここからしばらくは、ストーリーネタバレしない程度にイベント作成したり世界観チラ見せしたりする内容が続くことになりそうです。

 ゲームでは4か国をめぐって旅するので「各国イベントの設置」を計4回にしていますが減る可能性あります。何なら増える可能性もあります。また、第13回でエンディングイベントを作った時点でゲームが一旦の完成を見るのか、はたまたこれからさらにやることが増えていくのか、今のぼくには見当もつきません。五里霧中です。

 断言したいのは、何はなくとも最後までやるということです。冒頭で公言した「年内完成・公開」にたとえ間に合わなくても。もちろん言ったからには間に合うようにやりますが。

 そんなこんなで総集編+αでした。次回は上述の通り、ストーリーの目的とか作成必須のイベント洗い出しとかやります。


いいなと思ったら応援しよう!