
Unityゲームを移植する
Unityゲームは、C#を仕様書にして作り直して移植する
Unityプロジェクトを取り込むエンジンはない。Unityゲームの移植とは、既存のC#とアセットを素材にして、権利のあるプロジェクトを作り直すことだ。
Unityゲームの移植とは、権利のあるプロジェクトを別のエンジンで作り直すことだ。Unityプロジェクトを読んで同等に動くものを出力するインポーターは存在しない。そうだと主張するものは、移植ではなくアセットのコピーを説明している。シーン、プレハブ、コンポーネント、物理設定、アニメーターグラフはUnity固有の形式だ。
残るものは大きい。アートと音声の元ファイルは標準形式なのでそのまま読み込める。C#のゲームコードはシステムの正確な仕様であり、Summer EngineはC#をデスクトップとネイティブ書き出しで扱える。ただしWebでは使えない。デザイン、調整値、レベルのレイアウトはすべてデータとして移る。
アセットには一つ注意がある。Unity Asset Storeのライセンスは一般にUnityプロジェクト内での利用を認めるものなので、サードパーティのパッケージはたいてい一緒には移せない。持っていけるのは自分のアート、自分のコード、エンジンの制限なくライセンスされたアセットだ。Summer EngineはGodot 4のワークフローと互換があり、100万行を超える独自コードを持つ完全なカスタムエンジンで、ロイヤリティを取らない。
Unityの概念はシーンツリーにどう対応するか
コンポーネントを持つGameObjectは、子とスクリプトを持つノードになる。プレハブはインスタンス化して使える再利用シーンになる。MonoBehaviourのUpdateは毎フレームのprocessコールバック、FixedUpdateは物理processのコールバック、AwakeとStartはreadyと初期化になる。RigidbodyとColliderは物理ボディと衝突シェイプになる。コルーチンは非同期関数かタイマーになる。ScriptableObjectはリソースファイルになる。考え方が十分近いので、多くの開発者は一日で手が動くようになる。
C#は移る。ただしプラットフォームの制限が一つある
Summer EngineはC++、GDScript、C#を動かす。C#はデスクトップとネイティブ書き出しで使えるがWebでは使えないので、ブラウザ向けビルドではゲームコードにGDScriptかC++が要る。これは作り直しの言語を選ぶときに効いてくる。Webが行き先に入るなら、移植の過程でゲームロジックをGDScriptへ移すほうが、後で制限に気づくより安い。元のC#はどちらにせよ、各システムの挙動を示す正式な記述として役に立ち続ける。
みんなが飛ばすのがアセットのライセンス確認
作り直しの前にサードパーティのアセットをすべて確認する。Unity Asset Storeの条件は一般に、購入したアセットの利用をUnityプロジェクト内に結び付けている。つまりストアのモデル、シェーダー、プラグインはたいてい他のエンジンへ持ち出せない。自分で作った、発注した、あるいはエンジンの制限なく一般の商用ライセンスで買ったアセットは動かせる。この棚卸しを先にやれば、出荷が許されないアートを中心にゲームを作り直す事故を防げる。
本物の移植の手順
この順で作り直す。プレイヤーコントローラ、代表的なレベル一つ、中核のループ、UI、そしてコンテンツ量。数百のアセットを取り込む前に遊べる断片を作る。物理の調整と入力の手触りを、変更がまだ安いうちに検証できるからだ。Summer Engineは既存システムの説明から最初のシーンとスクリプトを生成できるので、空のプロジェクト問題が消え、書くのではなく直す対象が手に入る。
プロジェクトを完全に所有して得られるもの
作り直したプロジェクトは自分のものだ。ロイヤリティも収益分配もインストール単位の計上もない。同じプロジェクトからデスクトップ、モバイル、Web、コンソールへ書き出す。エンジンはGodot 4のワークフローと互換があり、Godotのupstreamに追従するので、エコシステムの知識は移る。一方でエンジン自体は100万行を超える独自コードを持つ完全なカスタムだ。
よくある質問
Unityプロジェクトを自動変換するツールはあるか
ない。Unityプロジェクトを読んで別のエンジンで動くプロジェクトを出力するツールは存在しない。シーン、プレハブ、アニメーターグラフ、物理設定はUnity固有だ。Unityの移植は、アート、音声、データ、C#のロジックを仕様として再利用する作り直しだ。
自分のC#コードはSummer Engineで動くか
C#はデスクトップとネイティブ書き出しで使えるが、Webでは使えない。API呼び出しが違うので、UnityのC#はそのままではコンパイルできない。それでも既存のC#はシステムの最も正確な記述であり、多くのゲームコードの翻訳は素直に進む。
Unity Asset Storeで買ったものを持っていけるか
たいていは持っていけない。Unity Asset Storeのライセンスは一般に、購入したアセットの利用をUnityプロジェクト内に限っている。自分で作った、発注した、あるいはエンジンの制限なく一般の商用ライセンスで買ったアセットは動かせる。作り直しの前に確認する。
UnityのプレハブとGameObjectはどう対応するか
コンポーネントを持つGameObjectは、子とスクリプトを持つノードになる。プレハブはインスタンス化して使える再利用シーンになる。Updateはprocessコールバック、FixedUpdateは物理processのコールバック、ScriptableObjectはリソースファイルになる。
ロイヤリティやインストール単位の費用はあるか
ない。Summer Engineで作ったプロジェクトは自分のもので、ロイヤリティも収益分配もない。デスクトップ、モバイル、Web、コンソールへ書き出し、収益は全部自分のものになる。
Unityの移植にはどれくらいかかるか
ゲームのうち独自コードとストアのパッケージがどれくらいの比率かによる。自分のコントローラとレベル一つの遊べる断片は普通は数日。発売済みゲームの完全な作り直しは数週間から数か月で、ゲームのシステムよりUIとコンテンツ量のほうが時間を食う。
さらに見る
Summer Engine で創るその他の方法
AI ゲームメーカー
説明するだけで完全な 2D・3D ゲームを作れるハブ。
開くMake a game from a picture and the idea it holds
Bring a picture and Summer Engine builds a game inspired by its look and concept: scenes, gameplay, and matching art in one project you own.
開くPort a 3DS game by rebuilding it, not converting it
Porting a 3DS game means rebuilding a game you own as a new project that runs on platforms that still sell games. There is no file converter for this.
開くPort a Nintendo DS game to platforms that still sell games
A Nintendo DS port is a rebuild of a game you own. The stylus design is the asset worth keeping, because touch is native on every phone.
開くPort a Wii game and decide what happens to motion control
Porting a Wii game means rebuilding a title you own for hardware without a Wii Remote. The pointer and the motion gestures need a new input design.
開くPort a Wii U game off the smallest console audience
Porting a Wii U game means rebuilding a title you own for platforms with a single screen. The GamePad layer is the part that has to be redesigned.
開くPort a PSP game and give it a second analog stick
Porting a PSP game means rebuilding a title you own. The camera design is the biggest change, because the PSP had one analog nub and no right stick.
開くPort a PS Vita game before the platform disappears entirely
Porting a PS Vita game means rebuilding a title you own. The rear touch pad is the one input with no modern equivalent.
開くPort a GameCube game from 480p to a modern project
Porting a GameCube game means rebuilding a title you own. The analog triggers and fixed camera design are the parts that need deliberate decisions.
開くプラットフォーマーのテンプレート
既成のプロジェクトから始めて、変更を説明するだけ。
見るすべてのゲームテンプレートを見る
既成のプロジェクトから始めて、変更を説明するだけ。
見る