improve-game
ゲームを分析して改善点を特定し、最も効果的な改善を実装します。「ゲームをよくして」「ゲームを改善して」「ゲームを修正して」「ゲームの問題点は?」「ゲームを磨いて」などと言われた際に使用します。繰り返し実行するたびに次に優先すべき改善点を見つけて対応します。なお、新機能の追加(add-feature を使用)やゲームの初期作成(ワンショットは viral-game、マイルストーン方式は make-game を使用)には使用しないでください。
description の原文を見る
Analyze a game, find what needs work, and implement the highest-impact improvements. Use when the user says "improve my game", "make my game better", "fix my game", "what's wrong with my game", or "polish my game". Run repeatedly — each pass finds the next most impactful thing to fix. Do NOT use for adding specific new features (use add-feature) or initial game creation (use viral-game for one-shot builds, make-game for milestone-driven projects).
SKILL.md 本文
Performance Notes
- 時間をかけて徹底的に行う
- 速度よりも品質が重要
- 検証ステップをスキップしない
ゲームの改善
ゲームをより良くします。このコマンドはゲームプレイ、ビジュアル、コード品質、パフォーマンス、プレイヤー体験を深く監査し、最も影響力のある改善を実装します。何度でも実行できます — 各パスで次の最も影響力のある修正を見つけます。
手順
現在のディレクトリのゲームを改善します。$ARGUMENTS がフォーカスエリア(「gameplay」「visuals」「performance」「polish」「game-over」など)を指定している場合、そのエリアをより高く重視しますが、すべての監査も実施します。
ステップ 1: 深い監査
完全な全体像を構築するため、ゲームコード全体を読む:
package.json— エンジン、依存関係、スクリプトsrc/core/Constants.js— すべての設定値src/core/EventBus.js— すべてのイベントと使用箇所src/core/GameState.js— 状態の形状とリセットロジックsrc/core/Game.js(またはGameConfig.js)— オーケストレーターとゲームループsrc/scenes/またはsrc/systems/内のすべてのファイル — ゲームロジックsrc/entities/内のすべてのファイル — ゲームオブジェクトsrc/ui/内のすべてのファイル — ゲームオーバー、オーバーレイsrc/audio/内のすべてのファイル — 音楽とサウンドエフェクトindex.html— マークアップ、オーバーレイ、スタイル、ビューポートメタsrc/systems/InputSystem.js— 入力処理、モバイル対応(ジャイロ、ジョイスティック、タッチ)tests/— テストカバレッジと品質
流し読みしないこと。推奨事項を作成する前に完全な全体像を理解するため、すべてのファイルを完全に読む。
ステップ 2: スコア付けと診断
各エリアを 1~5 スケールで評価(1 = 破損/欠落、3 = 機能的だが基本的、5 = ポーランド済みかつ完全)。診断テーブルを提示:
| エリア | スコア | 診断 |
|---|---|---|
| ゲームプレイの感覚 | コアループは楽しいか?コントロールはレスポンシブか?難易度は上昇するか? | |
| ビジュアルポーランド | 背景、色、パーティクル、アニメーション、画面エフェクト | |
| ゲームオーバーと UI | ゲームオーバー画面、トランジション、再スタートフロー、ボタン | |
| オーディオ | 各状態の BGM、各アクションの SFX、音量バランス、ミュートトグル | |
| コードアーキテクチャ | EventBus、GameState、Constants、循環依存なし | |
| 再スタート安全性 | GameState.reset() は完全にクリーンアップされるか?3 回の再スタートで同一か?古いリスナー/タイマーはないか? | |
| パフォーマンス | デルタ キャップ、オブジェクト プーリング、破棄、リークなし | |
| プレイヤー体験 | オンボーディング、フィードバック、難易度曲線、リプレイ性 | |
| モバイルサポート | タッチ入力、レスポンシブレイアウト、ジャイロ/ジョイスティック、44px タッチターゲット | |
| Play.fun セーフゾーン | すべての UI 要素が SAFE_ZONE.TOP(約 8% / 75px)より下か?Play.fun ウィジェットの後ろに隠れたものはないか? | |
| ゲームプレイ不変量 | プレイヤーはスコアできるか?プレイヤーは死ぬことができるか?ゲームオーバーボタンはテキストを表示するか?render_game_to_text() は有効な JSON を返すか? | |
| エンティティサイズ | キャラクターは読むのに十分な大きさか?キャラクター駆動ゲームは GAME.WIDTH の 12~15% が必要。比例サイズ(GAME.WIDTH * ratio)で固定ピクセルではないか? | |
| テストカバレッジ | ブート、ゲームプレイ、スコアリング、再スタート、ビジュアル、パフォーマンステスト |
総合スコア: X / 65
ステップ 3: 改善計画
監査から、プレイヤーへの影響でランク付けされた上位 5~8 の改善 を特定します。それぞれについて:
- タイトル — 短い名前(例「難易度進行の追加」)
- エリア — 改善するカテゴリ
- 影響 — プレイヤーにとってなぜ重要か
- すること — 変更のプレーンイングリッシュの説明
- 対象ファイル — 作成または変更されるファイル
番号付きリストとして表示。最も影響力のあるアイテムを最初に配置。
計画をユーザーに提示し、どの改善を実装するかを尋ねます。オプション:
- 「All」— すべてを実装
- 特定の番号 — 選択したアイテムを実装
- 「Top 3」— 最も影響力のあるもののみ
ユーザーが選択するまで実装を待つ。
ステップ 4: 実装
選択された各改善について、これらのルールに従う:
- まず Constants — すべての新しい設定値を
Constants.jsに追加。ハードコードされた値はゼロ。 - 次に Events —
domain:actionネーミングを使用してEventBus.jsに新しいイベントを追加。 - 必要に応じて State — 適切なリセットを備えて
GameState.jsに新しい状態フィールドを追加。 - 適切なディレクトリに新しいファイル —
entities/にエンティティ、systems/にシステム、ui/に UI を配置。 - オーケストレーターを通してワイア —
Game.jsに適切なライフサイクルで新しいシステムを登録。 - コミュニケーションに EventBus を使用 — モジュールが互いに直接インポートすることはない。
- 既存コードスタイルに合わせる — プロジェクトの残りの部分と同じパターン、ネーミング、フォーマット。
- 動作中のものを壊さない — 改善が特に対象とする場合を除き、既存のゲームプレイ、コントロール、スコアリングは同じように機能する必要がある。
各改善を実装した後、npm run build を実行してエラーをすぐに検出。次の改善に進む前に、ビルドエラーを修正。
ステップ 5: 検証
すべての改善が実装された後:
npm run buildを実行 — エラーのないクリーンビルドを確認- テストが存在する場合は
npm testを実行 — すべてのテストが引き続き合格することを確認 - テストが意図的な変更(新しいシーン、変更された要素)のために失敗する場合、テストを新しい動作に合わせて修正
- ゲームにビジュアル回帰テストがある場合、スナップショットを更新:
npm run test:update-snapshots
ステップ 6: レポート
ユーザーに何が変わったかを伝える:
改善レポート
スコア: X/65 → Y/65 (+Z ポイント)
実装済み:
- [タイトル] — [変更内容の1文説明]
- [タイトル] — [変更内容の1文説明] ...
作成されたファイル: [新しいファイルのリスト] 変更されたファイル: [変更されたファイルのリスト]
テスト方法:
npm run devを実行して、以下を試す:
- [探すべき特定の事項]
- [探すべき特定の事項]
次の改善:
/game-creator:improve-gameを再度実行して、次のバッチを見つける。
フォーカスエリア
$ARGUMENTS にフォーカスエリアキーワードが含まれている場合、これらの特定のチェックをより高く重視:
「gameplay」 — コアループ、コントロール、難易度進行、敵の種類、パワーアップ、リスク/リワード、ペーシング、レベル設計
「visuals」 — game-designer スキルをロードして、その完全な設計監査を適用(背景、パレット、アニメーション、パーティクル、トランジション、タイポグラフィ、ジュース)
「performance」 — デルタ キャップ、オブジェクト プーリング、ジオメトリ/マテリアル破棄、イベント リスナー クリーンアップ、requestAnimationFrame 使用、ドロー コール数、テクスチャ アトラス使用
「polish」 — スクリーンシェイク、ヒットポーズ、スクワッシュ/ストレッチ、イージング曲線、サウンドタイミング、ボタンフィードバック、スコアポップアップ、デスアニメーション、トランジション滑らかさ
「game-over」 — ゲームオーバー画面の魅力、再スタートフロー、ボタンスタイリング、スコア表示、ベストスコア表示、アニメーション。ボタンテキストが表示されている必要があります — createButton() パターンが Container + Graphics + Text を使用していることを確認(Graphics が最初、Text が次、Container が対話的)。ボタンラベルが見えない場合、パターンが壊れています。注:ゲームにはデフォルトではタイトル/メニュー画面がありません(Play.fun がクロムを処理します)。ユーザーが明示的に要求した場合にのみタイトル画面を追加してください。スコア HUD は Play.fun ウィジェットで処理されます — 別のゲーム内スコア表示を追加しないでください。すべてのゲームオーバー UI は SAFE_ZONE.TOP より下である必要があります。
「audio」 — game-audio スキルをロード。BGM カバレッジ(すべてのゲーム状態に音楽がある必要があります)、SFX カバレッジ(すべてのプレイヤーアクションにフィードバックがあるべき)、音量ミキシング、トラック間のトランジション滑らかさ
「mobile」 — タッチ入力が実装されている(タップゾーン、バーチャル ジョイスティック、またはジャイロスコープ)、レスポンシブ キャンバス(Phaser.Scale.FIT または CSS width:100%)、44px 最小タッチターゲット、移動用のバーチャル ジョイスティックまたはタップゾーン、傾斜ゲーム用のジャイロスコープサポート、ホバーのみのインタラクションなし、モバイルビューポート(Pixel 5 エミュレーション)でテスト。InputSystem.js、すべてのシーン/システムの update() メソッド、index.html ビューポートメタ、および Constants.js のタッチターゲットサイズを読む。
「ux」 — オンボーディング(プレイヤーは何をすべきかを知っているか?)、フィードバック(すべてのアクションに応答があるか?)、難易度曲線(難しすぎる/簡単すぎるか?)、リプレイ性(もう一度プレイする理由があるか?)
使用例
一般的な改善
/improve-game
結果: 深い監査 → 38/65 のスコア → 上位 6 つの改善を特定(難易度進行、スクリーンシェイク、より良いゲームオーバー、パーティクルエフェクト、モバイルタッチ、再スタート安全性)→ 実装するものを尋ねる → 選択したものを実装 → スコアが 52/65 に上昇。
フォーカスされた改善
/improve-game gameplay
結果: ゲームプレイチェックをより高く重視 → 敵の種類が少なく難易度が平坦であることを見つける → 異なる動作を持つ 3 つの敵タイプ、段階的な速度上昇、スコアベースの難易度ティアを追加。
トラブルシューティング
改善が既存のゲームプレイを壊す
原因: 共有システム(物理、スコアリング)への変更が連鎖効果を持つ。 修正: 各改善を個別にテスト。各変更後に既存テストを実行。変更がコアゲームプレイを壊す場合はリバート。
一度に多くの変更
原因: 監査は 10 以上の問題を特定し、すべてが同時に実装された。 修正: 上位 3~5 の改善に優先順位を付ける。段階的にリリース。各変更後に検証。
ヒント
このコマンドは反復的な改善のために設計されています。複数回実行:
- 最初のパス: 最大のギャップを修正(欠落機能、壊れた UX)
- 2 番目のパス: ポーランドを追加(パーティクル、トランジション、ジュース)
- 3 番目のパス: 微調整(難易度曲線、タイミング、バランス)
各実行は最後の実行で止めた場所から選ぶ — 以前に修正されたエリアはより高くスコアされ、新しい優先順位が表示されます。
ターゲット作業の場合、フォーカスエリアを使用します:
/game-creator:improve-game gameplayまたは/game-creator:improve-game visuals
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- opusgamelabs
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/opusgamelabs/game-creator / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。