今回はRPGをお手軽に作る方法について紹介します。
目次
RPGを作るのは難しい?
RPGは他のジャンルと比べて、作るのが難しいイメージがあります。それはRPGが持つ一般的なイメージが「ドラゴンクエスト」や「ファイナルファンタジー」「ポケットモンスター」など、大規模なゲームを連想してしまうためです。
ただ、作り方次第ではそれほど難しいジャンルではありません。以下、RPGを簡単に作るための方法を紹介します。
なおここで紹介するのは「バトル」を軸としたゲームの作り方となります。シナリオや謎解きを中心としたRPGを作る場合に以下の記事が参考になると思います。

ステージクリア型のRPGを作る
RPGというと一般的には、広大なマップや迷宮を探索して、モンスターを倒してお宝を入手して、街に戻って装備品を購入してキャラクターを強化する……、というゲームループが基本となっています。
これらの一連の流れが「シームレス」につながるゲームを作るのはなかなか大変です。そこで以下のように考えてみます。
例えばダンジョンや塔など、閉鎖的な空間を探索するマップを用意します。プレイヤーはマップを探索してアイテムを手に入れたり、敵を倒してレベルアップします。
マップの出口に待ち構えている中ボスを倒すと先に進めるようにします。
中ボス以外にも、マップ内に落ちているカギを見つけると先に進める、マップ内の特定の敵を倒すと先に進めるようにしてもよいです。
最後のステージに強力なボスを配置します。このボスを倒すとゲームクリアとなります。
これはステージクリア型のゲームシステムをRPGに置き換えたものです。ダンジョンの1フロアを1ステージとする構成です。ステージクリアの概念を入れると、ゲームとして明確な区切りが出て、目標設定が明確になり、メリハリが生まれます。
例えば、30秒以内に魔王を倒さないとゲームオーバーになる「勇者30」がこの形式を取っています。(勇者30は中ボスが常に魔王ですが)
さらに、ここでいうマップを「ダンジョン」のみにするととても作りやすいです。
ダンジョンは「閉鎖空間」のため行動の自由度が制限されており、かつアート的にも “壁” と “通路” さえあれば、それっぽく見えてしまうからです。
ダンジョンRPGは作りやすい
ダンジョンの地形は、ローグライクでよくある「自動生成」にすると、さらに楽できます。

例は「穴掘り法」によるダンジョンの生成です。穴掘り法はとても簡単なので、プログラムが得意であれば1時間で実装できます。プログラムが得意でなくても1日ほど作れると思います。

実装例とアルゴリズムの説明はこちらに書きました。
穴掘り法の良いところは、全ての通路が繋がっているため、開始地点と次のフロアに進む階段をランダムに配置しても、ゲームが成立することです。(欠点として行き止まりができやすいので、穴掘り後にランダムな座標の壁を壊しておくと、行き止まりが少し減ります)
また、自動生成すると何が良いかというと、繰り返しプレイする際に変化が生まれ、リプレイバリューが上がることです。さらに アイテムや敵の配置を自動にし、PermaDeath (死んだら全てを失う) を採用するとアーケードスタイルのRPGとなり、短時間で繰り返し遊べるRPGとなります。


ただ、このPermaDeathは好き嫌いが分かれやすいので、そういったRPGは作りたいくないと考えるかもしれません。またPermaDeathはやり込みタイプのゲームを作るには不向きです。もし死んだら全て失う・アイテム持ち帰り不可といったアーケードスタイルではなく、少しずつ攻略していくようなRPGにする場合は、帰還できる拠点が必要となります。拠点からは、ダンジョンの途中からやり直すことができると遊びやすいゲームになると思います。
ダンジョンを歩き回らせるマップシステムを作るのも大変、という場合は「ノンフィールドRPG」というジャンルにするのもありです。ノンフィールドRPGとは、マップの移動を「前に進む」「戻る」の2択だけにしてしまったゲームのことです。



(出典:魔法装飾図)
- マップの探索を「前に進む」「後ろに進む」の2択に限定する(「前に進む」しかないゲームもあります)
- マップでは「闘技場で戦う」か「フロアマスターと戦う」のどちらかを選ぶだけ
- 各種パラメータが緻密に構成されていて、成長の自由度が高くシミュレーター的な側面が強い
- 戦闘が面白い
- キャラクターを成長させるのが楽しい
ノンフィールドRPGは、普通のRPGが広大なマップを歩いても何も起きない場所が多いから、いっそのこと自動化してもいいのでは? という発想から生まれたような気がします。
ノンフィールドRPGの歴史について私なりの解釈としては、古くは「マリーのアトリエ」でダンジョンにアイテムを採取しに行くと”採取を続ける” と “戻る” の二択でフィールドを廃止したのが始まりで、その後「アンディーメンテ」というゲームサークルが多くのゲームで採用したり、CGIゲームで使われたりしました。そして、カードバトルRPGのソーシャルゲーム(ドラコレ・ドリランド・ミリオンアーサー)で使われるようになり、一気に広まった、という印象です。今では多くの個人制作のゲームでお手軽にRPGを作るシステムとして活用されています。
個人的にノンフィールドRPGでオススメしたいのがヘビクエストです。

移動の選択肢が「安全な道」「危険な道」という2択になっていて、プレイヤーがリスクを取ってリターンを得るか、リスクを取らないかを選択できるようになっています。
バトルにランダム要素がほとんどなく、敵のHPをちょうどゼロにすると行動回数を消費しないというプレスターンっぽいシステムにより、敵をパズルゲームのように理詰めで倒していく面白さがあります。
また、作り方次第では拠点となる「街」を省略することも可能です。例えば、ダンジョンの中にショップや自動販売機を置いてしまえば、そこでプレイヤーに買い物をさせることも可能です。
簡単なバトルの作り方
RPGといえばバトルシステムです。ターン制のバトルを簡単に作るには「1対1」のバトルにします。「1対1」であれば交互に行動するだけなので、処理の流れがとてもシンプルです。
- 1. プレイヤーのコマンド選択
- 2. プレイヤーの行動(攻撃、アイテムを使う、など)
- 3. 敵のAI
- 4. 敵の行動
- 5. 1に戻る
これに対して複数のキャラが入り乱れる「多対多」はやや難しいです。ターン制のRPGでは、たいていは各キャラクターの速度パラメータを見て、行動順を決めるシステムにしているためです。それを実装するには、コマンドを全て入力した後に行動順でソートする必要があり、アルゴリズム的にやや複雑です。
もし「多対多」を採用するのであれば、ファイナルファンタジーシリーズで採用されている、アクティブタイムバトル方式が良いかと思います。これは行動順が回ってきたらコマンドを入力する、という方式です。この方法だとコマンド入力後、即実行となるため、コマンドのソート処理が不要となり、シンプルなフローになるからです。アクティブタイムバトルの派生としては、グランディアのように、バトルに参加しているキャラクター全てを一つの直線上に速度順に並べる方式も良いと思います。
右下に表示されているのが、行動順のバーとなります。
行動順をどのように扱うかは様々な派生があります。真・女神転生Ⅲで採用された行動の選択によりターンの消費を増減させるプレスターン制、ペルソナ3で採用された敵の弱点を突くともう一度行動可能となる1Moreなど。ターン制はリアルタイム制と比べて行動が不自由なので、自由度を高める多くの試みがなされています。
あと、バトルを簡単に作るコツは、マップ(ダンジョン)とシームレスな作りにしないことです。敵との遭遇は、シンボルエンカウントもしくはランダムエンカウントとし、バトルは別のシステムとして切り離した方がシンプルに作れます。
リソース管理
シンプルなRPGのシステムを構築する場合、装備品を削ってしまうのもありです。理由は、装備品を装備する・しないのUIの制御処理を作るのが少し大変だからです。
アイテムの種類は回復アイテムだけでも割と成立します。”防具” はレベルアップでHPが増えていけばなんとかなるので、なくてもそれなりにうまくいきます。ただ、できるなら「武器」は行動のバリエーションを増やすためにあった方が良いです。アーケードゲーム的発想で行くなら、武器を回数制限の使い捨てにするのも良いかもしれません。
シナリオ・舞台設定
シンプルなRPGを作る場合、シナリオや舞台設定は無くても問題ありません。
どうしても必要な場合は、なぜ閉鎖空間に入るのか、なぜゴールを目指すのかを明確にしておきます。
- そこにしかないものを手にいれるため:お宝や魔法のレアアイテムを手にいれる
- ダンジョンを占拠するため:モンスターに占領されたダンジョンを取り戻す
- ボスを倒すため:凶悪なボスに懸賞金がかかっている
- ボスを生け捕りにするため:希少種族を生け捕りにする
- ダンジョンから脱出するため:投獄されたダンジョンから逃げ出す
- 人質を助け出すため:ボスに連れ去られたお姫様を取り戻す
- 情報を手にいれる:ダンジョンを調査する
ダンジョンに潜るきっかけとしては、「宝探し」「誰かの依頼」「個人的な理由(身内の救出など)」が考えられます。
舞台として考えられるものには以下のものがあります。直接的なダンジョン以外にも「閉鎖空間」とすればどの空間も舞台にできます。
- 地下迷宮:偶然見つけた家の地下室、という発想も考えられます
- 城、砦、塔:しっかりした設備があり、上に進むダンジョンです
- 館、学校:普通の建物も閉鎖空間にできます。異次元に飛ばされた学校など
- 精神世界:ダンジョンを人の内面を表現した空間とします
シナリオの導入タイミングとしては、「オープニング」「エンディング」の2つがあれば良いと思います。
もしゲームの進行に合わせてストーリーを展開させたい場合は、ステージクリアのタイミングでイベントを挟む、というやり方もありです。
- 参考になる例:「雪道」「ロードライト・フェイス」
まとめ
簡単なRPGの作り方は以下の通りとなります。
- ステージクリア型のゲームシステムにする
- ダンジョンRPGにする
- バトルは「1対1」にする
- シナリオイベントは「オープニング」と「エンディング」のみとする
最後の手段
どうしてもRPGが作れない場合は、「スラ仏百人組手」を作ります。
これはRPGのバトルだけを抜き出したゲームです。ひたすらバトルを続けて100匹倒すとゲームクリアとなります。運の要素が強すぎるためゲームクリアは非常に困難ですが、シンプルなRPGの例として参考になるかもしれません。
参考資料
ダンジョンシナリオのTRPGを作るときに参考になる資料です。「シナリオ・舞台設定」のパターン例を参考にさせてもらいました。