0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントと共創するRPG開発体験~第4章~

0
Posted at

ものがたり

序章:孤独なデスクトップから、ブラウザへの大移住

これまでの戦いで、ゲームの基盤は整っていた。しかし、AIが開発を進めるうえで、一つの壁が立ちはだかっていた。

「デスクトップウィンドウは、AIの手が届かない」

別ウィンドウで動く Pygame アプリは、AI には直接操作できない。テストもデバッグも、すべてが人間の目を必要とした。

そこで今回のクエストが始まった。ゲームをブラウザで動かす。 言語は Python のまま、pygbag という WebAssembly コンパイラを使って。

Gemini_Generated_Image_m9j6f1m9j6f1m9j6.png


第一の試練:豆腐の呪い

ブラウザへの扉は開いた。しかし、画面に広がったのは無数の □□□□ ──

「豆腐の呪い」 が全てのUIテキストを白い四角に変えてしまったのだ。

原因は SysFont(['msgothic', 'yugothic']) だった。OS に存在するフォントへの依存が、Wasm 世界では通用しなかった。候補は二つ。フォントファイルをゲームに同梱するか、UI を英語に切り替えるか。

選択したのは英語化。 ファイルサイズを増やさず、7つのファイルを修正するだけで呪いを解除できる。シンプルな解決策が、最強の武器となった。

秘宝:SysFont(None, size)

SysFont(None, size) ── pygame に内蔵されたデフォルトフォントを使うこの呪文は、追加ファイル不要でブラウザ完全対応。"Yokai Wars" の文字がブラウザ画面に輝いた瞬間、呪いは解けた。

# NG: OSフォントへの依存
font = pygame.font.SysFont(['msgothic', 'yugothic'], 24)

# OK: pygameデフォルトフォント(Wasm対応)
font = pygame.font.SysFont(None, 24)

Gemini_Generated_Image_3iw8vb3iw8vb3iw8.png


第二の試練:千のファイルを抱えた亡霊たち

ブラウザが起動するまでに、数分が経過した。pygbag がスキャンしていたのは .venv の数千ファイル── デスクトップ時代に積み上がった亡霊たちだった。

さらに、テストスクリーンショット・ビルド成果物・廃止されたスクリプト群。20MB 以上の不要データがリポジトリに潜んでいた。

秘宝:pygbag.ini と大掃除

pygbag.iniignoreDirs に先頭スラッシュを付ける ── "/.venv" とすることで亡霊たちを封印。さらに、不要ファイルを一掃しリポジトリを軽量化した。

# pygbag.ini
[config]
ignoreDirs = ["/.venv", "/build", "/tests"]

同時に、旧来の .agent/skills/ フォルダを .claude/skills/ へ移行。Claude が直接参照できる場所に整理し、スキルの可読性を高めた。

Gemini_Generated_Image_md6k85md6k85md6k.png


【ステータス画面】Developer Status: Lv.4

試練を乗り越え、私のステータスは以下のように更新された。

項目 ステータス 備考
称号 ウェブ召喚師 (Lv.4) Python を武器にブラウザの扉を開いた者
メイン武器 pygbag + Python デスクトップの鎖を断ち、ブラウザに降り立つ魔法の杖
習得スキル Browser Porting pygbag と async/await パターンでゲームを Web へ移植する力
習得スキル Repository Purification 蓄積された技術的負債を整理し、開発環境を清める力
現在の任務 ゲーム内容の充実化 器は整った。次は中身を磨く時

Gemini_Generated_Image_s45l74s45l74s45l.png


次回予告:第5章「データの解放とゲームの完成へ」

器は整い、UI は英語で輝いている。しかし、まだ JSON データの中には日本語が眠っている。妖怪の名前、マップの地名、NPC の台詞 ── これらを世界に解放するための次なるクエストが始まる。

果たして、全世界に通じる妖怪RPGは完成するのか。

Gemini_Generated_Image_z29x0ez29x0ez29x.png

解説

技術的知見

Claude を活用した自動化

Antigravityを活用して開発を行っていたのですが、無料枠をすぐ使い切ってしまい動かなくなったため、Claudeを使うことにしました。
開発の引継ぎはもちろん、Geminiを使った画像生成もCoworkで実行してくれるため、かなり自動化の範囲が広がりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?