designing-mini-games について
さまざまな入力方式に対応する小規模ゲームを設計・監査するスキルです。描画や実装の詳細ではなく、ルール、操作、スコア、ハザード、難易度の方針、エンジンに依存しない不変条件を扱います。
主な機能
- 01コアメカニクスと操作を定義
- 02状態とリスク・リターンを設計
- 03因果に基づくスコアと難易度を設計
- 04単調なプレイ方針を検証
- 05エンジン非依存の不変条件を指定
活用シーン
- 01小規模ゲームの構想を作成
- 02操作とスコアのルールを監査
- 03実装に向けてバランス要件を整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ abagames/ agentic-gamedev-skills --skill designing-mini-gamesインストール後、Claude Code で/designing-mini-gamesを入力して読み込まれたか確認します。
同梱ファイルreferences/mini-game-design-guide.md
詳細
あらゆる入力方式に対応するコンパクトなゲームを設計または監査します。このスキルで扱うのは、ルール、操作方法、スコアリング、ハザード、難易度の意図、エンジンに依存しない不変条件です。描画、衝突判定コード、音声の実装、数値調整は扱いません。
バランスに関する主張にしきい値が必要な場合を除き、定数は定性的に設定してください。フレーム数は、想定されるアクションサイクルに基づいて実装時に決めます。決定論的な生成がまだない場合は、シード/事前チェックの不変条件を指定し、初回ケースの検証を実装時に行うよう明記してください。
コアルール
- ゲームの中核となる体験を一文で表現します。副次的なシステムを加える前に、ボタン数と各フェーズ/ボタンの役割を確定します。ブリーフで指定された数を守り、すべてのアクションについて物理的な割り当てを記録し、画面ごとに競合するキーを設定できないようにします。
- ゲームオーバーは一つだけで、視覚的に明確であり、ハザードまたはワールド状態の崩壊によって発生するものとします。「ボタンを押さなかった」ことへの罰則にしてはいけません。
- 可能な限り単調なプレイ方針は、すべて熟練したプレイより明確に不利にします。常時待機と連打は常に不利にし、1ボタンの場合は押しっぱなしも不利にし、複数ボタンの場合は単一ボタンの連打と全ボタンの押しっぱなしも不利にします。
- スコアは、精度、かすり、連鎖、ルート、圧力の精算など、ゲーム世界内の原因に基づいて付与します。入力したという事実だけでスコアを与えてはいけません。生存スコアは、生存が熟練度を示す場合に限り、そのスコアと単調なプレイを区別する熟練パターンを明記したうえで採用します。
- 状態は、プレイヤーに新たな判断をもたらす場合にのみ追加します。重要な各変数には、発動条件、ゲーム世界内のフィードバック(HUDの数値だけにしない)、判断上の目的が必要です。いずれかが欠ける場合は削除します。形状や物理挙動だけで判断が生まれるなら、状態を持たない設計も有効です。その理由を明記してください。
- 安全性やパワーを高める入力には、スコア喪失、消耗、露出、当たり判定、速度、圧力、回復など、読み取りやすいコストを組み合わせます。
- どの量が、なぜ変化するのかを明記します。意図的に難易度を急激に上げる場合を除き、滑らかな動きやスポーン圧力のスケーリングには
sqrt(difficulty)を標準として使います。 - バランス上重要な単調プレイに関する主張には、テスト可能でエンジンに依存しない実装不変条件を少なくとも一つ示します。
1ボタンに関するルール:
- 使用できる入力は二値のもの一つだけです。押す、押し続ける、離す以外に、2つ目のキー、同時押し、スワイプを加えてはいけません。
- 使用しないフェーズは、その理由を明確にします。表を埋めるためだけに意味のないアクションを追加してはいけません。
設計手順
- 連想する: 最初に思い浮かぶイメージや感覚を記します。矛盾するシード(たとえば、
on_pressed:jumpとon_pressed:shoot)がある場合は、リファレンスガイドの §7 を読み、その矛盾を緊張関係として扱います。どちらか一方を捨ててはいけません。 - 逸脱する: 最初に思いついた明白なメカニクスを記録し、それを禁止して、反対の要素、否定、または極端な形を探ります。
- 決定する: 中核となる瞬間的な体験を述べ、ボタン数、割り当て、フェーズ/ボタンの役割を確定します。
- 強化する: 判断に関わる状態、発動条件、ゲーム世界内のフィードバック、安全策とリスクのトレードオフを定義します。
- 単調さを排除する: 該当する単調なプレイ方針がすべて不利になる理由と、使用しないフェーズがある場合に残りの入力でも熟練度が問われる理由を説明します。
- スコアの仕組みを定める: 因果関係のあるスコアイベントと、根拠のある難易度スケーリングを定義します。
- 不変条件を概略化する: リスクのある各主張を支える実装ルールを示します。パルス、シールド、チャージ、コンボ、繰り返し発生するスコア判定ウィンドウについては、
implementing-gameplay-invariantsを使って詳しく定めます。 - 検証する: リファレンスガイドの §9 を実行します。実装によって創発的な挙動が明らかになった場合は、それを記録し、設計変更として明示的に残すか、却下します。
シードは手順1~2の刺激として扱います。手順3以降は、シードに縛られないようにします。最終的な設計が元のタグに言及しなくなっていても問題ありません。
新しい設計では、名前/スラッグ、シード、コアメカニクス、状態/トレードオフ、オブジェクトの仕様、設計原則の分析、新規性の根拠、類似性の確認、因果に基づくスコアリング、難易度の意図、操作方法/割り当て、実装不変条件を提示します。レイアウト例として、リファレンスの付録Aを使用してください。
参考資料
references/mini-game-design-guide.md— 詳細な原則、入力/移動の表、矛盾への対処、チェック項目、出力形式、SCAMPER プロンプト。implementing-gameplay-invariants— リスクのあるバランスに関する主張を、コードレベルのチェックに変換します。maximizing-game-feel— ルールやバランスが安定した後、または仕上げがプレイに影響するときに使用します。
コメント
Markdown 対応