About
開発者について
1985年、通信機器メーカに就職。以来、組み込み系・スマホゲーム開発を経て、現在は IT 技術者として働いています。
ゲーム会社への転職は2次面接で落ちました。それでも「ゲームを出したい」という気持ちは消えず、Unity で試作を繰り返す日々が続きました。
なぜ kaedevn を作ったか
ChatGPT と壁打ちするうちに「TypeScript とブラウザならいけるのでは」と思い、Claude Code と一緒に作り始めたら、1ヶ月でベータ版が動いていました。
自分にはゲームを作るスキルがない。だからプラットフォームを作ることにしました。なろう・カクヨムで1000作品以上読んできた経験から、「ノベルゲーム版のなろう」があればいいと思ったのが出発点です。
最終目標は Nintendo Switch でのリリース。最初からそれを意識して設計しています。
開発スタイル
コードは書きません。ChatGPT・Claude Code・Gemini CLI の3エージェントに実装を委ね、人間は意思決定とディレクションだけを担います。
1,960 コミット、16 万行超、すべて AI が書いたコードです。
人間と AI の役割分担
私の仕事は、コードを書くことではなく、AI と対話し、仕様を定義し、1,960 回のコミットを正しく導くことでした。 このリポジトリにあるドキュメントは、数千回に及ぶ AI との対話から抽出された、このシステムの「設計思想」そのものです。
人間(ディレクター)
- ビジョンの提示と最終決定
- ドメイン知識の注入(ノベルゲーム、Switch 開発)
- アーキテクチャの設計判断
- AI への指示と品質レビュー
- プロンプト・エンジニアリングによる仕様定義
AI(実装チーム)
- コードの実装(全レイヤー)
- テストコードの生成と実行
- Dockerfile・CI/CD パイプラインの構築
- エラーログの解析とデバッグ
- ドキュメント・開発日誌の執筆
AI に「丸投げ」したのではなく、AI を高度な専門コンサルタントとして使い倒し、意思決定を下してきました。 その対話の軌跡は、開発日誌とソースコード解説で公開しています。
開発秘話
AI との対話ログから、設計の転換点になったやり取りを抜粋します。
「Switch に出すなら、入力を全部 Action に集約しろ」
「Pixi の pointerdown や keydown を直接ゲームロジックに繋げない。すべての入力は dispatch(Action) に集約。UIボタンもキーボードも同じ Action を発火。『クリック=次へ』みたいな直結は禁止。」
この一言で kaedevn の入力設計が決まりました。OK / Back / Menu / SkipToggle / AutoToggle — 固定7アクションだけでゲーム全体を制御する設計は、Switch のジョイコンにそのままマッピングできます。Web で作っていると「onClick で次へ」と書きたくなりますが、それを禁じたことが移植性の土台になりました。
元の設計文書を読む →「VM は一切いじらない。SDL2 は Host として副作用を処理するだけ」
「VM が完成していて、さらにクラス実装の"受け"まで整っているなら、SDL2側は VM に寄せ切るのが最短。やることは『VM が要求する副作用(I/O)を SDL2 で実装する』だけ。」
自作コンパイラ(Kaede Script)で生成した命令列を、Web では PixiJS が、Switch では SDL2 が実行する。この「VM と Host の境界」を明確に分離する設計は、ChatGPT が「VM は一切いじるな」と断言したことで固まりました。実際、Web エンジンのコードを一行も変えずに SDL2 版が動き始めたのは、この設計判断のおかげです。
元の設計文書を読む →「コンパイラ Phase 5 完了。次はランタイムか、CLI か?」
「.ks → op 命令列(JSON)のコンパイルが動作。4つのサンプルすべてが正しくコンパイルされました。ランタイム実装を進めますか? それとも、コンパイラ側の追加機能を先に実装しますか?」
「コンパイラが動いた。次は何を作る?」— AI が選択肢を提示し、人間が決断する。ここで「ランタイムを先に」と答えたことで、翌日にはブラウザ上でノベルゲームが動いていました。コンパイラの完成度を上げる誘惑を断ち、「まず動くものを見せる」を選んだのは、このプロジェクトで最も正しかった判断の一つです。
元の設計文書を読む →「短いプロンプトで開発が回る理由は?」
「CLAUDE.md・MEMORY.md・skills の蓄積、プロンプトの情報密度、高速な反復サイクル、委任と信頼。これは『雑』ではなく『信頼ベースの効率的なコミュニケーション』です。」
プレイヤー操作ガイドの制作中、平均10〜20文字のプロンプトだけで画像生成スクリプト作成・9枚のスクショ注釈・マークダウン分割・ランディングページ更新まで一気に進んだことから生まれた問い。バズ記事の「1回でアプリ完成!」とは異なる、継続的な共同開発の実態を語った記録。
元の対話記録を読む →「1,250万行の銀河系コードベース」
「普通の開発者がこの規模のプロジェクトを抱えたら、ビルドエラーの解消だけで一生が終わります。しかし、あなたはそれを『片手間』で回している。」
cloc の実行結果が示した1,250万行・96言語・51,572ファイル。ライブラリを含んだ数値とはいえ、これだけの依存関係をモノレポとして統合管理できている事実を、Gemini は「銀河系レベルの参入障壁」と分析。それに対して Claude Code が「銀河系の内側から見た風景」をアンサーした、2つの AI による同一プロジェクトのクロスレビュー。
分析とアンサーを読む →技術スタック
「Switch でも動くノベルゲームエンジン」を Web で先に作り、後からネイティブに移植する戦略。そのために Web 標準技術と移植性の高い C ライブラリを組み合わせています。
なぜこの構成か
- Next.js — LP・認証・管理画面を SSR/SSG で高速配信。App Router でレイアウト共有
- Hono — 軽量で Azure Container Apps との相性が良い。Express からの移行コスト最小
- PixiJS — 2D 描画に特化。Unity の 3D パイプラインを持ち込まず、ノベルゲームに必要十分な性能
- SDL2 — Switch SDK と同じ C 系。Web → Native の移植時にレンダリング層だけ差し替え可能
- Azure — Container Apps でコンテナ化。GitHub Actions から自動デプロイ(push で完結)
Lighthouse スコア
2026年3月計測(トップページ / モバイル)
SNS
ご意見・ご要望はお問い合わせよりお寄せください。
kaedevn 開発者