About

開発者について

1985年、通信機器メーカに就職。以来、組み込み系・スマホゲーム開発を経て、現在は IT 技術者として働いています。

ゲーム会社への転職は2次面接で落ちました。それでも「ゲームを出したい」という気持ちは消えず、Unity で試作を繰り返す日々が続きました。

なぜ kaedevn を作ったか

ChatGPT と壁打ちするうちに「TypeScript とブラウザならいけるのでは」と思い、Claude Code と一緒に作り始めたら、1ヶ月でベータ版が動いていました。

自分にはゲームを作るスキルがない。だからプラットフォームを作ることにしました。なろう・カクヨムで1000作品以上読んできた経験から、「ノベルゲーム版のなろう」があればいいと思ったのが出発点です。

最終目標は Nintendo Switch でのリリース。最初からそれを意識して設計しています。

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 との対話ログから、設計の転換点になったやり取りを抜粋します。

2026年2月 — ChatGPT との対話

「Switch に出すなら、入力を全部 Action に集約しろ」

「Pixi の pointerdown や keydown を直接ゲームロジックに繋げない。すべての入力は dispatch(Action) に集約。UIボタンもキーボードも同じ Action を発火。『クリック=次へ』みたいな直結は禁止。」

この一言で kaedevn の入力設計が決まりました。OK / Back / Menu / SkipToggle / AutoToggle — 固定7アクションだけでゲーム全体を制御する設計は、Switch のジョイコンにそのままマッピングできます。Web で作っていると「onClick で次へ」と書きたくなりますが、それを禁じたことが移植性の土台になりました。

元の設計文書を読む →
2026年2月 — ChatGPT との対話

「VM は一切いじらない。SDL2 は Host として副作用を処理するだけ」

「VM が完成していて、さらにクラス実装の"受け"まで整っているなら、SDL2側は VM に寄せ切るのが最短。やることは『VM が要求する副作用(I/O)を SDL2 で実装する』だけ。」

自作コンパイラ(Kaede Script)で生成した命令列を、Web では PixiJS が、Switch では SDL2 が実行する。この「VM と Host の境界」を明確に分離する設計は、ChatGPT が「VM は一切いじるな」と断言したことで固まりました。実際、Web エンジンのコードを一行も変えずに SDL2 版が動き始めたのは、この設計判断のおかげです。

元の設計文書を読む →
2026年2月8日 — Claude Code の報告

「コンパイラ Phase 5 完了。次はランタイムか、CLI か?」

「.ks → op 命令列(JSON)のコンパイルが動作。4つのサンプルすべてが正しくコンパイルされました。ランタイム実装を進めますか? それとも、コンパイラ側の追加機能を先に実装しますか?」

「コンパイラが動いた。次は何を作る?」— AI が選択肢を提示し、人間が決断する。ここで「ランタイムを先に」と答えたことで、翌日にはブラウザ上でノベルゲームが動いていました。コンパイラの完成度を上げる誘惑を断ち、「まず動くものを見せる」を選んだのは、このプロジェクトで最も正しかった判断の一つです。

元の設計文書を読む →
2026年3月11日 — Claude Code との対話

「短いプロンプトで開発が回る理由は?」

「CLAUDE.md・MEMORY.md・skills の蓄積、プロンプトの情報密度、高速な反復サイクル、委任と信頼。これは『雑』ではなく『信頼ベースの効率的なコミュニケーション』です。」

プレイヤー操作ガイドの制作中、平均10〜20文字のプロンプトだけで画像生成スクリプト作成・9枚のスクショ注釈・マークダウン分割・ランディングページ更新まで一気に進んだことから生まれた問い。バズ記事の「1回でアプリ完成!」とは異なる、継続的な共同開発の実態を語った記録。

元の対話記録を読む →
2026年3月11日 — Gemini CLI の分析 + Claude Code のアンサー

「1,250万行の銀河系コードベース」

「普通の開発者がこの規模のプロジェクトを抱えたら、ビルドエラーの解消だけで一生が終わります。しかし、あなたはそれを『片手間』で回している。」

cloc の実行結果が示した1,250万行・96言語・51,572ファイル。ライブラリを含んだ数値とはいえ、これだけの依存関係をモノレポとして統合管理できている事実を、Gemini は「銀河系レベルの参入障壁」と分析。それに対して Claude Code が「銀河系の内側から見た風景」をアンサーした、2つの AI による同一プロジェクトのクロスレビュー。

分析とアンサーを読む →

技術スタック

「Switch でも動くノベルゲームエンジン」を Web で先に作り、後からネイティブに移植する戦略。そのために Web 標準技術と移植性の高い C ライブラリを組み合わせています。

FrontendNext.js (App Router) / React / Tailwind CSS
EditorVite / React / PixiJS (WebGL)
BackendHono (Node.js) / Prisma / PostgreSQL
Engine (Web)PixiJS / Web Audio API / IndexedDB
Engine (Native)SDL2 / C + TypeScript transpiler
CompilerKaede Script (.ks) / KSC (.ksc) — 自作
AI PipelineClaude API / OpenAI API / Gemini API
InfraAzure Container Apps / Static Web Apps
CI/CDGitHub Actions / Docker / Husky (pre-push)
LanguageTypeScript (全面採用・any 最小限)

なぜこの構成か

  • 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 スコア

88
Performance
96
Accessibility
96
Best Practices
100
SEO

2026年3月計測(トップページ / モバイル)

SNS

ご意見・ご要望はお問い合わせよりお寄せください。

kaedevn 開発者

Ad: stickyBottom (728x90)
kaedevn - ノベルゲームを作れるプラットフォーム