vibe codingの失敗事例 2025年9月21日

Game Jamで学ぶvibe codingの正しい使い方

2025年、ゲーム開発コミュニティで画期的なイベントが開催されました。 **Vibe Coding Game Jam** ——AIを使ってゲームを作るコンテストです。 このイベントには **1,000以上** のゲームが応募されました。参加者たちは、vibe codingの可能性に期待を寄せていました。

川西智也

合同会社ロイヤルピース 代表

Game Jamから学ぶ

Vibe Coding Game Jam 2025

2025年、ゲーム開発コミュニティで画期的なイベントが開催されました。

Vibe Coding Game Jam ——AIを使ってゲームを作るコンテストです。

このイベントには 1,000以上 のゲームが応募されました。参加者たちは、vibe codingの可能性に期待を寄せていました。

しかし、結果は厳しい現実を突きつけるものでした。


30%が動作せず

審査の結果、衝撃的な統計が明らかになりました。

応募作品の30%が適切に動作しなかった。

「動作しない」とは、以下のような状態を指します。

動作しなかったゲームの例:

  • 起動直後にクラッシュ
  • 特定の操作でフリーズ
  • 画面が真っ白のまま
  • エラーメッセージが表示される
  • ゲームループが正常に動作しない

vibe codingで「作った」つもりでも、実際には動作しない ものが3分の1近くあったのです。


AI生成コードの構造の悪さが原因

なぜ、これほど多くのゲームが動作しなかったのでしょうか。

主な原因:構造の悪いコード(poorly structured code)

AIが生成するコードは、局所的には正しく見えます。しかし、複数のパーツを組み合わせると、構造的な問題が発生します。

よくある問題:

問題結果
初期化順序の不整合起動時クラッシュ
イベントハンドラの重複登録メモリリーク
状態管理の破綻予期しない動作
リソースの解放漏れパフォーマンス低下
非同期処理の競合フリーズ

これらは、AIがコード全体の「構造」を理解していないことに起因します。


15%にセキュリティ脆弱性

動作した70%のゲームにも、問題がありました。

15%に明らかなセキュリティ脆弱性 が存在していたのです。

「ゲームにセキュリティ?」と思うかもしれません。しかし、オンラインゲームやブラウザゲームには、確実にセキュリティが必要です。

発見された脆弱性:

  1. 露出したAPIキー

    • ゲームのソースコードやネットワーク通信にAPIキーが平文で含まれていた
  2. クライアントサイドのペイウォール

    • 課金確認がクライアントで行われ、開発者ツールで簡単にバイパス可能
  3. 不正なスコア送信が可能

    • サーバーサイドの検証なしに、任意のスコアを送信できた

趣味のゲームであっても、セキュリティの問題は存在するのです。


50人でクラッシュ

特に問題となった事例があります。

あるマルチプレイヤーゲームは、50人以上の同時接続でクラッシュ しました。

開発者はローカルで数人のテストプレイを行い、「動作する」と確認しました。しかし、本番環境で多くのプレイヤーが同時接続すると、サーバーは耐えられませんでした。

問題の原因:

  • バックエンドサポートの欠如
  • スケーラビリティを考慮していない設計
  • 同時接続数のテスト不足
  • リソース管理の不備

vibe codingで生成されたコードは、「小規模な動作確認」は通過しても、「本番規模の負荷」には耐えられないことが多いのです。


なぜゲームでこれほど問題が起きるか

ゲーム開発は、一般的なWebアプリケーションとは異なる難しさがあります。

ゲーム開発の特殊性:

  1. リアルタイム性

    • 毎フレーム(60fps = 毎秒60回)の処理が必要
  2. 状態の複雑さ

    • ゲーム内の多数のオブジェクトが相互作用
  3. パフォーマンス要件

    • 遅延は即座にプレイ体験に影響
  4. エッジケースの多さ

    • プレイヤーは予想外の操作をする
  5. マルチプレイヤーの同期

    • 複数クライアント間の状態同期

これらの要件は、「とりあえず動く」コードでは満たせません。


趣味でも学びがある

Game Jamは、趣味のイベントです。参加者のほとんどは、賞金目当てではなく、楽しみのために参加しています。

しかし、この「趣味のイベント」から、重要な学びがあります。

Game Jamからの学び:

  1. vibe codingは「完成」まで持っていくのが難しい

    • 30%が動作しないということは、「完成」できなかったということ
  2. 規模が大きくなると破綻する

    • 小規模では動くが、本番規模では動かない
  3. セキュリティは意識しないと実装されない

    • 「ゲームだから」は言い訳にならない
  4. テストの重要性

    • 「自分のマシンで動く」は保証にならない

本番環境との類似性

ゲームジャムで起きた問題は、実は 本番環境のWebサービスで起きる問題と同じ です。

類似性:

Game Jam本番サービス
30%が動作しないデプロイ後のバグ
50人でクラッシュ負荷でダウン
APIキー露出機密情報漏洩
ペイウォールバイパス決済詐欺

Game Jamの失敗は、本番サービスで起きる失敗の「プレビュー」なのです。


vibe codingに適した用途

では、vibe codingはゲーム開発に向いていないのでしょうか?

向いているケース:

  • プロトタイプ作成
  • ゲームメカニクスの検証
  • シンプルなシングルプレイヤーゲーム
  • 使い捨てのデモ

向いていないケース:

  • マルチプレイヤーゲーム
  • 課金システムを含むゲーム
  • 長期運用するゲーム
  • パフォーマンスが重要なゲーム

Karpathy自身が言っていたように、vibe codingは 「使い捨ての週末プロジェクト向け」 なのです。


この事例から学ぶべき教訓

Game Jam 2025から学ぶべきことは以下の通りです。

  1. 「動く」ことを過信するな

    • 30%は動作しなかった
  2. 規模の問題を軽視するな

    • 小規模で動いても、本番規模では破綻する
  3. 趣味でもセキュリティは必要

    • 15%に脆弱性があった
  4. 構造の問題は後から発覚する

    • AIは局所的にしかコードを見ない
  5. vibe codingの限界を理解せよ

    • プロトタイプには良いが、完成品には向かない

まとめ:重要ポイントの振り返り

  • 2025年のVibe Coding Game Jamに1,000以上の作品が応募
  • 30% が適切に動作せず(構造の悪いコードが原因)
  • 15% に明らかなセキュリティ脆弱性
  • マルチプレイヤーゲームは50人でクラッシュ
  • 趣味のプロジェクトでも本番と同じ問題が発生
  • 教訓:「動く」ことを過信するな

参考リンク・出典

実践的なスキルを習得しませんか?

ブログで学んだ知識を、研修で実践に変えましょう。