Cursorに懐かしのピンボールを作らせてみた|前回うまくいかなかったのでClaudeでPRDを作成して開発

Cursor実験室のネオン調アイキャッチ画像。Claudeで作成したPRDを使ってCursorに懐かしのピンボールゲーム開発を再挑戦した様子を表現。画面にはレトロなWindows風ピンボールゲームが表示され、「発射するとすぐ上に当たる」「次のボールが出てこない」「フリッパー以前の問題だった」などの不具合が吹き出しで示されている。「PRDを渡しても前回より悪化!?」という見出しとともに、自然文→PRD→Cursor開発→失敗という流れが図解され、AI開発の試行錯誤と失敗談をテーマにしたデザイン。 Cursor開発

前回、Cursorに対して

「Windows95に入っていたような懐かしのピンボールを作ってほしい」

と依頼してみました。

結果として、

  • ボールは発射できる
  • ピンボールっぽい見た目になる

ところまではできたのですが、

「フリッパーでまともに打てない」

という致命的な問題が発生しました。

そこで今回は、

「もっと詳細な要件を作ればうまくいくのでは?」

と思い、ClaudeにPRD(要件定義書)を作成してもらい、その内容をCursorに渡して開発してみました。

果たして改善されたのでしょうか。

結論から言うと、

今回は改善しませんでした。

むしろ前回より悪化しました。


前回の記事

Cursorに懐かしのピンボールを作らせてみた
Cursorに「Windows95のピンボールを作って」と依頼してゲーム開発を試してみました。.exe化までできたものの、実際に遊んでみると問題も多数。AI爆速開発のリアルな結果を紹介します。

Cursorに懐かしのピンボールを作らせてみた


今回の検証内容

今回の流れは以下です。

① ClaudeでPRDを作成

↓

② PRDをCursorへ投入

↓

③ アプリ開発

↓

④ 動作確認

前回との違いは、

自然文

↓

PRD

になったことです。

フォルダ比較ツールの開発では、PRDを挟むことでかなり改善した経験がありました。

そのため今回は結構期待していました。


ClaudeでPRDを作成

今回はClaudeに対して、

「Windows95の3D Pinballのようなピンボールゲームを作りたいので仕様書を作成してください」

という形で依頼しました。

すると、

  • ゲーム概要
  • 操作方法
  • スコアリング
  • フリッパー挙動
  • ボール物理演算
  • 画面構成

などが整理されたPRDが出力されました。

AI同士を組み合わせる、

Claude → Cursor

という流れです。


CursorへPRDを投入

生成されたPRDをそのままCursorへ渡しました。

期待としては、

「自然文で頼むよりかなり精度が上がるのでは?」

というものです。

しかし結果は想像とは違いました。


開発結果

結論です。

今回は、

改善しませんでした。

どころか、

前回より悪化しました。


動作画面


見た目だけを見ると、前回よりそれっぽく見えます。

しかし実際に遊んでみると、かなり厳しい状態でした。


発生した問題

問題① ボールがまともに発射されない

まず最初に気付いたのがこれです。

ボールを発射すると、本来であればレーンを上がっていき、ピンボール台の中を転がり始めるはずです。

しかし今回のアプリでは、

発射

↓

すぐ上部に衝突

↓

そのまま落下

↓

ゲーム終了

という状態でした。

プレイ開始直後に終わります。

前回は少なくとも、

「フリッパーで打てない」

という段階までは到達していました。

今回はそこにすら到達できませんでした。


問題② ボールがなくなると次のボールが出てこない

さらに問題だったのがこちらです。

通常のピンボールなら、ボールを落としても残機があれば次のボールがセットされます。

しかし今回のアプリでは、

ボール落下

↓

何も起きない

↓

ゲーム継続不能

という状態になりました。

結果として、

アプリを閉じる

↓

再起動する

↓

最初からやり直す

という運用になります。

ゲームというより、起動テストに近い状態でした。


問題③ フリッパー以前の問題になった

前回の記事では、

「フリッパーで打ち返せない」

ことが最大の問題でした。

しかし今回は、

「そもそもボールがゲームとして成立する位置まで来ない」

ため、フリッパー性能を評価するところまで到達できませんでした。


なぜPRDを使っても改善しなかったのか

今回の検証で感じたのは、

「PRDは万能ではない」

ということです。

フォルダ比較ツールのような業務アプリでは、PRDを作ることで期待通りの結果にかなり近付きました。

一方でゲーム開発は、

  • 物理演算
  • 衝突判定
  • 状態管理
  • リアルタイム制御

などが絡みます。

仕様を整理するだけでは解決できない部分が多そうです。


とはいえ、直せそうな気もする

一方で、今回の不具合を見ていて思ったこともあります。

実際に発生している問題は、

  • ボールの初期位置
  • 発射角度
  • 衝突判定
  • 残機管理

など、かなり具体的です。

そのため、

このバグを直して

↓

次はこれを直して

↓

さらにこれを直して

という形でCursorへ追加指示を出していけば、少しずつ改善していく可能性は十分ありそうだと感じました。

実際の開発現場でも、

作る

↓

テストする

↓

不具合を修正する

↓

またテストする

の繰り返しです。

AI開発も結局は同じなのかもしれません。


ただ今回はここまで

とはいえ、今回の目的は、

「懐かしのピンボールをサクッと作れるのか」

という実験です。

本格的にデバッグを始めると、記事一本では終わらなくなります。

今回はあくまで、

experimental release

ということで、ここで一区切りにします。


今後やるかもしれないこと

もし気が向いたら、将来的に

「Cursorに作らせたピンボールをどこまで改善できるのか」

という企画をやるかもしれません。

例えば、

  • ボール発射バグ修正
  • 残機システム実装
  • フリッパー改善
  • スコア改善
  • エフェクト追加

などを段階的に直していけば、最終的に遊べるレベルになる可能性もあります。

そのときは、

「失敗作をAIと一緒に育てる」

という別の実験として記事にしてみたいと思います。

将来的に、

「Cursorに作らせたピンボールを改善してみた」

という続編記事を書く可能性も残しておきます。


GitHub Release

今回のソースコードはこちらです。

Release v0.1 experimental release ?? scrap-apps/pinball_remake
Experimental pinball app re-built with Cursor inputting PRD made by Claude. – Release v0.1 experimental release ?? scrap…

まとめ

今回の検証結果です。

項目結果
自然文で開発失敗
ClaudeでPRD作成失敗
画面再現
ゲーム再現×
学びPRD万能説ではない

正直、今回はかなり期待していました。

フォルダ比較ツールではPRDの効果を感じていたためです。

しかしゲーム開発では事情が違いました。

それでも、

  • AIに仕様を書かせる
  • AIに実装させる
  • 実際に動かしてみる

という検証自体は非常に面白かったです。

Cursor実験室らしく、

成功だけでなく失敗も公開する

というスタンスで記録として残しておきます。

次回は気分を変えて、

Cursorにテトリスを作らせてみた

に挑戦します。

今度はちゃんと遊べるゲームになるのでしょうか。

引き続き実験していきます。