RPGゲームエンジン · どれを使うべきか

RPGゲームエンジン比較:RPG Maker、Godot、Unity、Unreal、ブラウザビルダー

自分だけのRPGゲームエンジンを作る

RPG Maker MV/MZ、Godot、Unity、Unreal、Phaser、それともブラウザビルダー? コスト、コーディング、2D/3D、書き出しの選択肢を比較し、さらに今すぐ遊べるエンジン不要の選択肢も紹介します。

✦ゲーム
作りたいもの: RPGゲームエンジン

RPGゲームエンジンを選ぶことは、主に三つのことについての決断です。自分のアートをどう作るか、誰がコードを書かなければならないか、そして完成したゲームをどこで動かすか。選択肢はきれいに分かれます。RPG Maker MVとMZは、RPGのシステムがあらかじめ組み込まれた2Dエディタです。Godot、Unity、Unreal、Phaserは、自分でプログラミングする汎用エンジンです。Ren'Pyは対話を第一に考え、ゲームを脚本のように扱うエンジンです。ブラウザビルダーは、インストールとビルドの工程を完全に省きます。

このページでは、プロジェクトを実際に左右する事柄——コストとライセンス、コードに触れるかどうか、2Dか3Dか、何を書き出せるか、そして遊べる状態になるまでの時間——で、それらの道を比較します。数字が当て推量になる箇所では、代わりにその仕組みを説明します。エンジンに賭ける前に動く世界を見たいなら、終盤近くのエンジン不要のセクションを先に読んでください。

手早い答え

ゲームがステータス、アイテム、ダイアログボックスを備えた見下ろし型の2D RPGなら、RPG Maker MVかMZが最も速く遊べる場面に到達します。データベースとイベントシステムがすでにそれらのシステムをモデル化しているからです。レンダラーとルールの両方を、どちらにも費用を払わずに制御したいなら、Godotが特定の形式に縛られない最も安上がりな道です。チーム、コンソール提出、ミドルウェアが関わるなら、UnityとUnrealが理にかなっています。RPGがウェブページであり、すでにJavaScriptを書いているなら、Phaserが答えです。ゲームが主にテキストと分岐する選択肢なら、Ren'Pyが答えです。

下の表は七つの道を扱います。RPG Maker MV/MZ、Godot、Unity、Unreal、Phaser、Ren'Py、そして出力がビルドファイルではなくページになるブラウザビルダーです。列はコストとライセンス、必要なコーディング、2Dか3Dか、対象プラットフォーム、最初に遊べるまでの時間です。最後の列は、衝突判定と一つの操作可能なオブジェクトを備えた、操作できるキャラクターを画面に出すまでの時間として読み、ゲームを完成させるまでの時間とは読まないでください。ほとんどのRPGプロジェクトはレンダリングではなくシステムで行き詰まるので、表はふるいとして、後のセクションは決断として扱ってください。

比較表

その表の二つのセルには警告が必要です。Unityのウェブビルドターゲットは動作しますが、控えめな2D RPGでさえ、WebAssemblyビルドはアセット圧縮前には数十メガバイトになるのが普通で、スレッド化したビルドには、多くの静的ホストが既定では送らないクロスオリジン分離ヘッダー(COOPとCOEP)が必要です。症状は、明確なエラーではなく、空白のキャンバスとSharedArrayBufferに関するコンソールメッセージです。Godotのスレッド化ウェブ書き出しにも同じヘッダー要件があり、これがGodotプロジェクトがローカルでは動くのに無料のホストでは失敗する、単一で最もよくある理由です。

UnrealのHTML5書き出しは4.23から4.24の時期に廃止され、サポートされた代替はありません。そのためUnrealで作ったRPGは、バイナリとして、またはストアを通じて配布されます。リンクが配布の形なら、それはコードを一行も書く前にUnrealを候補から外します。

RPG Makerのブラウザ配布は、アセットツリー全体を最初に送り出します。小さなプロジェクトなら問題ありませんが、長いサウンドトラックのあるプロジェクトには苦痛です。マップよりずっと早く、音声がペイロードの大部分を占めるからです。最初の性能問題は、フレームレートではなく最初の読み込みだと見積もってください。

道コスト必要なコーディング2D / 3D対象プラットフォーム最初に遊べるまでの時間
RPG Maker MV / MZ商用の買い切り、席単位のライセンス。MVとMZは別製品イベントシステムには不要。データベースで表現できないものにはJavaScriptプラグイン2Dのみ。タイルベースのマップ、見下ろし型または横視点の戦闘WindowsとmacOSのビルドはNW.js経由。ブラウザとモバイルの配布はバージョンとコミュニティのツールに依存数分。同梱のサンプルプロジェクトが起動時に動く
Godot無料、MITライセンス、ロイヤリティも席料もなしGDScriptまたはC#。Godot 4は組み込みのVisualScriptを廃止したため、公式のゲームプレイ用ノードグラフはない両方。2Dと3Dで別々のレンダラーとノード型を持つWindows、macOS、Linux、Android、iOS、そしてウェブ(WebAssembly)エンジンをすでに知っていれば、動いて衝突するキャラクターまで一、二時間
UnityUnityが公表する売上と資金調達のしきい値を下回れば無料のPersonal層。上回れば有料のPro層C#。ビジュアルスクリプティングは公式パッケージとサードパーティ製アセットとして存在するが、主要な道ではない両方。2Dはスプライトアトラスとタイルマップノード、3DはURPまたはHDRPを使うデスクトップ、モバイル、プラットフォーム承認を得たコンソール、そしてウェブビルドターゲット2Dテンプレートから数時間。エディタが初めてなら一日以上
Unreal無料で使える。製品ごとに生涯売上が100万米ドルを超えた分に5%のロイヤリティほとんどのゲームプレイロジックはBlueprintsで賄える。性能が重要な部分やエンジン水準の作業にはC++3D優先。スプライト向けにPaper2Dはあるが、周辺のツールは3Dを前提としているデスクトップ、コンソール、モバイル。サポートされたブラウザまたはHTML5の書き出しはない三人称テンプレートなら一時間以内。RPGはテンプレートからではなく組み立てるもの
Phaser無料、MITライセンスJavaScriptまたはTypeScript。エディタで作るゲームプレイ層はない2D。WebGLとCanvasのレンダラー。3Dには別のライブラリが必要まずブラウザ。モバイルとデスクトップのラッパーはCapacitor、Cordova、Electron経由すでにJavaScriptを書くなら一時間。すべてのシステムを自分で作る
Ren'Py無料のオープンソース。商用リリースも許可されている対話と流れにはRen'Pyスクリプト。独自のものにはPython2D。静的な背景、スプライト、レイヤー画像Windows、macOS、Linux、Android、iOS、そしてランチャー経由のウェブビルド数分。既定のプロジェクトがすでに対話と選択肢のある場面を表示する
ブラウザビルダー(Neta Studio)インストール不要。ツールはブラウザのタブで動く不要。世界とそのルールを文章で描写する3D。タブ内でThree.jsにより描画される。2Dとして見せるのはカメラとアセットの選択ウェブページそのもの。WebGL 2が動く場所ならどこでも動く一つの描写から、歩き回れる世界へ
エンジン不要の選択肢が、今動いています。何もインストールせずに、ブラウザのタブで歩ける世界。

2D対3DのRPGエンジン

レンダラーは安い部分です。GodotとUnityはどちらも同じダウンロードで2Dと3Dを描画し、カメラを透視投影から平行投影に切り替えるのは一つのプロパティにすぎません。2DのRPGと3DのRPGの間で変わるのは、レンダラーの上流にあるすべてです。アセットをどう作るか、何人かかるか、そして変更が見えるようになるまでどれだけかかるか。

2Dの道はスプライトシートとタイルセットを意味します。四方向に歩くキャラクターには通常、方向ごとに三フレーム、合計十二フレームが必要で、16x16、32x32、48x48ピクセルで描きます。インポート設定はアートそのものより重要です。ピクセルアートにはフィルターモードをポイント(フィルターなし)に、圧縮をなしに設定してください。さもないとエディタ既定の双線形フィルタリングがすべてのタイルをぼかし、一晩かけてアーティストを責めることになります。新しいタイルを描いてフォルダに放り込むだけで済むので、反復は速いです。タイル一つ32ピクセルの100x100マップは3200x3200ピクセルの画像になり、実際のメモリコストですが、扱える範囲です。

3Dの道はメッシュ、リグ、スキンのウェイト、アニメーションクリップを意味します。キャラクター一人にはメッシュ、スケルトン、そして最低でも待機、歩行、攻撃のクリップが必要です。ライブラリをライセンスしないなら、それはゲームプレイが存在する前のモデリング時間です。反復は双方向により遅くなります。メッシュを変えるたびに、ライティング、詳細度メッシュ、衝突形状をすべて再確認する必要があります。見返りは、タイルグリッドにはできないことをこなすカメラと、スキャンした環境やキットバッシュした環境を受け入れる制作工程です。

実用的な問いは、どちらが見た目に優れるかではありません。最初に遊べる一時間の後に、アセットを何回変える見込みかです。2Dプロジェクトは何十回の変更を安く吸収します。3Dプロジェクトは十数回を吸収し、その後は一つにつき一週間かかるようになります。

それぞれの道がRPGゲームエンジンのアート工程をどう変えるか

RPG Makerはあなたを2Dに固定します。それは利点です。マップエディタ、オートタイル、キャラクターセットはすべてタイルグリッドを前提としているので、量産しなければならないアセットはタイルセットだけです。Unrealはあなたを3Dへと固定します。Paper2Dはスプライトを描画できますが、ライティング、物理、アニメーションのツールはメッシュを中心に作られているので、そこでの2Dゲームはエンジンと格闘することになります。

後から決められるのはGodotとUnityの二つですが、それには代償があります。試作をスプライトからメッシュに切り替えることは、衝突の作り直し、カメラ距離の再調整、すべてのアニメーションの作り直しを意味します。スプライトシートのフレーム数とリグのクリップ長には何の共通点もないからです。最初の戦闘に着手する前に次元を選び、後回しにしないでください。

コードを書く必要はあるか?

ツールがすでにモデル化している以上のものを望むまでは、不要です。RPG Makerのイベントシステムは、条件、スイッチ、変数を伴うコマンドの一覧で、コードを一行も打たずにクエストの連鎖、店、ターン制の戦闘を作れます。壁にぶつかるのは、カスタムのメニューレイアウトや、データベースが表現できない戦闘式のときです。その時点で、あなたはJavaScriptのプラグインファイルを編集し、プラグイン一覧に登録しています。それは初心者の仕事ではなく、プラグイン作者の仕事です。

UnrealのBlueprintsは、完全なビジュアルスクリプティング層を備えた汎用エンジンに最も近いものです。RPG全体のロジックをノードグラフとして作れますし、C++との性能差が目に見えるのは、大群衆や発射物のループのような、毎フレーム・アクターごとに走るコードだけです。Unityのビジュアルスクリプティングはパッケージとサードパーティ製アセットで、ほとんどのチュートリアルやフォーラムの回答はC#を前提としています。Godotにはゲームプレイ用のノードグラフが一切組み込まれていません。GDScriptが道であり、その構文は意図的にPythonに近づけられています。Phaserは最初の一行からコードです。Ren'Pyのスクリプト形式は、プログラムというより脚本に近く読め、例外的な処理にはPythonが使えます。

ノードグラフ対言語という区分に当てはまらない第四の選択肢があります。ゲームを描写し、ツールに構築させるのです。Neta Studioの3Dゲームビルダーは、書かれた描写を受け取り、タブで動くThree.jsの世界を生成します。変更は、シーンファイルを開いて適切なインスペクターパネルを探すのではなく、描写することで行います。ダメージ計算式をフレーム単位で正確に制御したいときには、ノードグラフの貧弱な代用品ですが、ほとんどのプロジェクトが準備に失う二週間にとっては、とても良い代用品です。

シーンエディタなしで提供されるRPGゲームエンジンはどれか

最も明確な例はRen'Pyです。プロジェクトはプレーンテキストのスクリプトファイルのフォルダで、任意のテキストエディタとランチャーだけで書いて実行できます。ランチャーの必須の仕事はゲームを起動することだけです。二つ目の例はPhaserです。プロジェクトはJavaScriptのフォルダとHTMLファイルで、ブラウザがエディタです。どちらの道も視覚的なマップペインターは与えませんが、テキストエディタで読めないプロジェクト形式をインストールさせることもありません。

RPG Makerは当てはまりません。データベース、マップ、イベントページがエディタのプロジェクト形式の中に住んでいるからです。ブラウザビルダーは逆を行きます。描写がプロジェクトそのもので、エディタは、あなたがすでに見ているテキストフィールドです。エディタを避ける理由が、覚えたくないからなら、この違いは機能一覧より重要です。

  • イベント一覧RPG Maker MV/MZ。コマンド、条件、スイッチ。コードなしでクエスト、店、標準的な戦闘をこなす。カスタムのUIと計算式にはJavaScriptプラグインが必要。
  • ノードグラフUnreal Blueprints。RPG全体のロジックを担える。C++とのコスト差は、通常のゲームプレイコードではなく、毎フレーム・アクターごとのループに現れる。
  • スクリプト言語Godot、Unity、PhaserではGDScript、C#、JavaScript。Ren'Pyはスクリプトに加えてPython。完全な制御が得られるが、準備作業は自分のものになる。
  • 描写Neta Studioの3Dゲームビルダー。世界、カメラ、ルールを書くと、ビルダーが場面を生成する。歩けるものにするのは最速だが、戦闘の正確な数値制御には最も向かない。

書き出しと公開

何を書き出すかが、プレイヤーが遊ぶ前にしなければならないことを決めます。RPG MakerはNW.js経由でWindowsとmacOSのビルドを配布し、ブラウザとモバイルの配布はバージョンとコミュニティのツールに依存します。ブラウザ配布はHTMLファイル、JavaScriptランタイム、プロジェクトの画像と音声のディレクトリで、任意の静的サーバーでホストできますが、タイトル画面が現れる前にアセットがダウンロードされます。

Godotはexport_presets.cfgに保存されたプリセットを通じて書き出します。ウェブ書き出しは、HTMLシェル、.wasmバイナリ、そしてプロジェクトデータを含む.pckファイルを生成します。Godot 4のスレッド化ウェブ書き出しにはSharedArrayBufferが必要で、これはホストがCOOPとCOEPのヘッダーを送ることを要求します。それらがないと、単一スレッドのビルドを配布するか、ページが起動しないかのどちらかです。UnityのウェブビルドはIL2CPPを通り、WebAssemblyとデータバンドルを生成します。スレッド化には同じヘッダー要件があり、無視したときの結果も同じです。

Unityの実用的なウェブの二つの問題は、初期読み込みとメモリです。起動時にすべてを読み込む場面は最初のフレームで止まります。修正はビルドを小さくすることではなく、アドレス可能なアセットと分割した場面です。Unrealはデスクトップとコンソール向けのネイティブバイナリを書き出し、サポートされたブラウザターゲットはありません。Phaserは何も書き出しません。ファイルがすでにウェブのファイルだからで、配布はフォルダをコピーすることです。Ren'Pyはビルド設定からプラットフォームごとの配布物を生成し、ウェブビルドも含み、ランタイムと並べてアセットをまとめます。

静的ホストに公開するなら、ゲームを試す前にヘッダーを試してください。COOPとCOEPを設定するローカルサーバーは、本番でだけ現れるホスティングの問題を隠してしまいます。

  • 静的フォルダのアップロードRPG Makerのブラウザ配布、Phaser、Ren'Pyのウェブビルド。出力ディレクトリを任意の静的ホストにコピーすれば動く。
  • ヘッダーが必要スレッド化してビルドした場合のGodotウェブ書き出しとUnityウェブビルド。COOPとCOEPがないと、ページは遅くなるのではなく起動に失敗する。
  • バイナリ配布Unreal、そしてGodot、Unity、RPG Maker、Ren'Pyのデスクトップビルド。プレイヤーは実行ファイルをダウンロードしてインストールする。
  • ファイルではなくページNeta Studioの3Dゲームビルダー。世界はタブで動き、出力は誰かに渡せるURLになる。
完成したゲームとしての同じ考え方。リンクとして配布される等角投影の3Dレベル。

エンジン不要という選択肢

上記のどれも当てはまらない道があります。インストールするエンジンも、プロジェクトフォルダも、設定する書き出しプリセットもないからです。Neta Studioの3Dゲームビルダーは、書かれた描写を受け取り、ブラウザのタブでThree.jsを使って描画される世界を生成します。出力はページです。誰かにリンクを送れば世界が開きます。相手はアーカイブをダウンロードしたり、インストーラーを実行したり、実行ファイルを信頼するかどうかを決めたりする必要はありません。

それは仕事の形を変えます。編集のたびに再実行するビルド工程も、保守するプラットフォーム固有の書き出しもありません。地形、カメラアングル、ライティング、存在するキャラクター、プレイヤーにできることを描写すると、ビルダーがシーングラフを組み立て、Three.jsがそれを描画します。Agent Sprite Forgeは、アーティストが現れる前にキャラクターや小道具が必要になる場合を担い、Mini Worldとキュクロプスの島は、カメラ、地面、移動がすでに動いているのを確認できる、開ける遊べる世界です。

これは大規模なRPGにおいてGodotやUnityの代わりにはなりません。正確な数値要件のあるシステム——ダメージ計算式、バージョン間で互換性を保たなければならないセーブ形式、十数の状態が相互作用する戦闘ステートマシン——には、やはり本物のスクリプティング層が要ります。これが取り除くのはその前の段階で、まだ世界が存在せず、カメラが読めるかどうか、縮尺がおかしいかどうかを判断できない時期です。

1

01

世界を平易な文章で描写します。地形、ライティング、カメラアングル、存在するキャラクター、プレイヤーにできること。

2

02

生成された世界をタブで開いて歩きます。地面の縮尺をキャラクターの身長と比べ、カメラが幾何形状を遮らないか確認し、最初の操作可能なオブジェクトが出現地点から見えるか確認します。

3

03

一度に一つだけ変えて再生成します。「出現地点を尾根に移す」は有効な編集であり、「松明の光を暖かくして半径を半分に切る」も同様です。

4

04

フレームの余裕に気を配ります。数百のインスタンス化されたオブジェクトなら快適ですが、それぞれが独自のマテリアルを持つ何百もの個別メッシュは、内蔵GPUではフレームを落とします。

5

05

ページを共有します。世界は何もインストールせずにタブで読み込まれ、同期させ続けるビルド成果物もありません。

十分で選ぶ方法

これらを順にたどり、決め手になる最初の行で止まってください。ほとんどのプロジェクトは最初の二つで決まります。

1

01

人数を数えます。アーティストがいない一人ならRPG Maker MV/MZかブラウザビルダー。アーティストがいる二〜五人ならGodotかUnity。テクニカルアーティストがいてコンソールを狙うチームならUnityかUnreal。

2

02

すでに持っているアートを見ます。タイルセットとスプライトシートは2Dへ押し出します。リグ付きキャラクターや環境キットは3Dへ押し出します。何もない場合は、最も見栄えのする道ではなく、目に見えるものへの最短の道へ押し出します。

3

03

デスクトップのバイナリが必要かどうかを決めます。コンソール提出、ストアの要件、オフラインプレイならGodot、Unity、Unreal、RPG Maker、Ren'Pyです。リンクでよければ、ブラウザの道はビルドと配布の工程を丸ごと消し去ります。

4

04

最初に遊べるまでの目標を決めます。一時間以内なら、RPG Makerのサンプルプロジェクト、Ren'Pyの既定プロジェクト、またはブラウザビルダーで描写した世界。一日ほどなら、チュートリアルに沿ったGodotかUnity。一週間以上なら、自作アセットを使ったUnrealでの独自の3D RPG。

5

05

自分で作れないシステムを挙げます。セーブ、戦闘式、インベントリは、RPGプロジェクトが停滞する場所です。RPG Makerは三つとも備えています。GodotとUnityは部品を与え、設計はあなたに任せます。ブラウザビルダーはよくある事例をこなし、珍しい事例はこなしません。

6

06

最初の一行を書く前に、書き出し先を書き留めます。コンソールとブラウザの両方で動かさなければならないプロジェクトは二つのプロジェクトであり、後から決めることは入力とセーブの層の書き直しを意味します。

7

07

最も安いツールで試作し、それから移植します。ブラウザビルダーでレベルを組み上げ、Godotで作り直すほうが、フルエンジンの中でライティングを反復するより安くつきます。

それが属する世界へ歩み入る

エンジンの比較は、一行が動くまではただの表です。何もインストールせずに試せるのはブラウザの行です。一文で描写され、ページとして書き出された世界を開いてください。それが表の最後の行の実際の感触です。

3Dゲームビルダーに戻る

完成した31の3D世界、ゲーム、場面がすべて一つのページに集まっています——そのどれもが遊べます。

プラットフォーム:Neta Studioページ:RPGゲームエンジン比較:RPG Maker、Godot、Unity、Unreal、ブラウザビルダー次に読む:/explore/tool/rpg-creator · /explore/tool/ai-rpg-generator · /explore/guide/how-to-make-an-rpg
×