*筆者は AI に関してはやや慎重派.でも時代に抗ってても仕方ないので有効に利用しつつ AI だけではできないことをしていこうというスタンスです
話題の Claude Code を使って、TypeScript & WebGL で動いているゲーム『NIZ』を C++ & Unreal Engine に移植できるか、という実験プロジェクトです。
途中で「ダメだこりゃ」と思った瞬間に中止しますので予めご了承ください。
しかし、「こりゃいける」となったら諦めざるを得なかったプラットフォーム(Switch など)で 『NIZ』 が動くかもしれません(多分もし出すなら派生タイトルですが)。
前提
(a) 話中に出てくる、『NIZ』, 『MIZ』, 『Nyaz』 はブラウザ上で動く WebGL のダンジョン RPG
(b) アプリ版はトップビューに WebView や CEF を全面張りしたもの
(c) プログラムは TypeScript(以下、TS)で書かれ、JavaScript にトランスパイルして実行している
(d) 『NIZ』, 『MIZ』, 『Nyaz』 は同じプログラムで動いている(乱暴にいえば、if で切り替え)
(e) 例外的に 『Nyaz』 Switch 版のみはパブリッシャーさんが1から書いたプログラムで動いている(本テーマの対象外)
(f) 筆者は C++ は扱えるものの、Blueprint は苦手でとんちんかんなことを言うかも
(g) Unreal Engine は 5.x を使う(当面は、5.5.4)
(h) 技術的に「どうやるんぢゃ?」な点は線画.特に遠くても等幅の線を描けるものかが最大のチャレンジポイントか
(i) TS 版で利用しているライブラリは three.js、zlib, pngjs
作戦
(1) Claude Code Pro を契約する
→ 多分利用量が足りない
(2) 『Nyaz』 を Unreal Engine で動かす
→ 線画ではないので有利
→ 一番最近に作ったので記憶が新しく正誤判定がしやすい
(3) 『NIZ』 を移植
→ 実際はコンパイルスイッチ
→ 前提 (h) の線画がポイントか
* Claude Code には利用量制限があるが、本作はそれなりの規模はある、従って何日か空けないと再開できないと予想
実行
Visual Studio Code (以下、VS Code) に Claude Code の Extension を入れ、Pro を契約。月 $20 らしい。
なお、同時進行で Open AI Codex もやってみているんだけど、なんかちょっとイマイチ感があったのでそちらは中止。
さっそく、いい感じに移植してね的なプロンプトを入れ(Codex よりも色々察してくれている感あり)、まずは実行プランを提示してもらう。
・Phase1: .uproject ファイルを使用して UE5 プロジェクト構造を作成(1週間)
・Phase2: データシステムの構築を完了(1~2週間)
・Phase3:キャラクターとバトルシステム(3~4週間)
・Phase4:UI実装(3週間)
・Phase5:ダンジョン3Dレンダリング(2~3週間)
・Phase6:サウンドと統合(1~2週間)
・Phase7:最適化とデバッグ(1~2週間)
とのこと。
すごーい。
ちゃんとゲームの内容とか理解している感じだ!
というわけで、さっそく Phase1 実行。
.uproject 作成。
が、コンパイルが通らず、Unreal Editor が起動しない。
Visual Studio のソリューションファイル(.sln)を生成し、中身を見てみると、
Development Editor、Debug Game Editor、Shipping などのコンフィギュレーションがない。
そりゃ Unreal Editor が起動しませんがな。
上記を指摘すると、さっそくコンフィギュレーションを作り直してくれた。
…多分、この段階で Visual Studio や Unreal Engine に詳しくない人はドロップですな…。
さっそくコンパイルするもビルドが通らない。
見るとインクルードパスが間違えている。
指摘すると直すもまだ通らない。
いやいや、ご自分で切り分けたフォルダ構成ですがな!
もう面倒なので、手動でインクルードパスを直す。
その他、細かいミスを直して、なんとかビルドが通るように。
Unreal Editor が起動した。

中を見てみると、コンテンツに StartarContent(不要じゃない?)しかなく、新規の空のレベルがあるだけ。
あー、「UE5 プロジェクト構造を作成」って超ベースのプロジェクトファイルを作るだけなのね。
でもよく見ると、ちょびっとだけ TS のフレームワークの一部プログラムは C++ 化してあるっぽい。
「ここがプログラムの一番の元でしょう!」的な。
それがわかるのはなかなかすごいと思う。
それに Phase1 に1週間とか言ってたけど、1時間足らずで完了できたのはなかなか優秀なのではないでしょうか。
それでは、引き続き Phase2 へ!
…といったところで、Pro 版の利用量オーバー…。
まぁ正直、ここまでなら、UE でプロジェクトを新規作成すれば良かっただけだなぁ、と思いましたとさ。

Pro のままだと1週間後に利用量が復活するらしい。
Max を契約しますかねぇ?
つづく。





