review-game について
review-gameは、既存のコードベースを調査し、スコアと優先度付きの提案をまとめたレポートを作成するゲーム開発スキルです。アーキテクチャ、性能、コード品質、収益化への準備状況を評価します。
主な機能
- 01エンジン、依存関係、ゲーム構成の特定
- 02アーキテクチャと性能の確認
- 03コード品質と収益化準備状況の評価
- 04スコアと優先度付き改善提案の提示
活用シーン
- 01リリース前にゲームの構成を評価
- 02性能やコード品質の問題を発見
- 03ゲームプロジェクトの改善優先度を決定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ playableintelligence/ game-creator --skill review-gameインストール後、Claude Code で/review-gameを入力して読み込まれたか確認します。
詳細
パフォーマンスに関する注意事項
- 時間をかけて、入念に作業してください
- 速度よりも品質を重視してください
- 検証手順を省略しないでください
レビューゲーム
既存のゲームのコードベースを分析し、構造化されたレビューを提示します。これはパイプラインの最終ステップです。すべてが正しく連携しているかを確認し、品質スコアを算出します。
手順
$ARGUMENTS に指定されたゲームを分析します(パスが指定されていない場合は、現在のディレクトリを対象にします)。
ステップ 1:ゲームを特定する
- エンジンを検出します(Three.js、Phaser、その他)
- 依存関係とスクリプトを確認するため、
package.jsonを読みます - メインのエントリーポイントと index.html を読みます
- ゲームのコンセプトやジャンルを特定します
ステップ 2:アーキテクチャのレビュー
次の必須パターンを確認し、準拠状況を報告します。
- EventBus:一元化されたイベントシステムはありますか?モジュールは疎結合ですか?
- GameState:一元化された状態シングルトンはありますか?
- 定数:設定値は一元管理されていますか?それともマジックナンバーとして散在していますか?
- オーケストレーター:すべてを初期化するメインの Game クラスはありますか?
- ディレクトリ構成:コードは core/systems/gameplay/ui/level の各レイヤーに整理されていますか?
- イベント定数:イベントは名前付き定数として定義されていますか?それとも生の文字列が使われていますか?
ステップ 3:パフォーマンスのレビュー
よくある問題がないか確認します。
- デルタタイムの上限設定:デススパイラルを防ぐため、
getDelta()に上限が設定されていますか? - オブジェクトプーリング:負荷の高いループ内で一時オブジェクトを再利用していますか?
- リソースの破棄:Three.js のジオメトリ/マテリアル/テクスチャを破棄していますか?
- イベントのクリーンアップ:シーン遷移時にイベントリスナーをクリーンアップしていますか?
- アセットの読み込み:アセットは進捗を表示しながら事前読み込みされていますか?
ステップ 4:コード品質
- 循環依存がない:モジュール間の依存関係は一方向です
- 単一責任:各モジュールの役割が明確です
- エラー処理:イベントハンドラーが try/catch で囲まれています
- 命名規則の統一:イベントには
domain:actionを使い、ファイル名には PascalCase を使っています
ステップ 5:収益化への対応状況
- ポイントシステム:スコア/ポイントの仕組みはありますか?
- セッション追跡:ゲームセッションを識別できますか?
- 不正行為対策の可能性:スコアの検証はサーバー側で行われていますか?少なくとも、そのための構成になっていますか?
- Play.fun の統合:既存の SDK 統合はありますか?
出力形式
次の項目を含む、構造化されたレポートを提示してください。
- ゲームの概要 - ゲームの内容、技術スタック、ゲームループ
- アーキテクチャスコア(6 項目中)
- パフォーマンススコア(5 項目中)
- コード品質スコア(4 項目中)
- 収益化への対応状況(4 項目中)
- 主な推奨事項 - 優先順位を付けた改善案と、平易な説明
- うまくできている点 - 良い点
使用例
/review-game examples/flappy-bird
結果:アーキテクチャ 6/6、パフォーマンス 4/5、コード品質 4/4、収益化 2/4 → 主な推奨事項:Play.fun SDK の追加、パイプ用オブジェクトプーリングの導入、デルタタイムの上限設定。良い点:EventBus の適切な使用、GameState の適切なリセット、整理されたディレクトリ構成。
次のステップ
ユーザーに次のように伝えてください。
ゲームがパイプラインの全工程を完了しました!次のものが揃っています。
- スキャフォールド済みのアーキテクチャ(
/viral-game)- ビジュアルの仕上げ(
/design-game)- 音楽と効果音(
/add-audio)- 自動テスト(
/qa-game)- アーキテクチャレビュー(
/review-game)(
/viral-gameのワンショットパイプラインを反映しています。/make-gameで作業している場合、同等の状態は「スキャフォールドフェーズ後+最初の開発マイルストーン完了」です。)次は何をしますか?
/game-creator:add-feature [description]で新しいゲームプレイ機能を追加する- ウェブにデプロイする — すぐにホスティングするには
npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/を実行するか、GitHub Pages、Vercel、Netlify、itch.io を使用する- 改善を続ける!変更を加えた後はいつでも
/design-game、/add-audio、/review-gameを再実行できます。
コメント
Markdown 対応