> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Brainstorm game skill for AI agents

> Turn a vague game idea into a 1-page brief (genre, scope, core loop, mechanics) in .summer/GameSoul.md. A Summer Engine skill for AI agents.

`brainstorm-game` is a skill from the [Summer skill library](/mcp/skills): a guide your AI agent reads when the task matches, so it builds the good version on the first try. Turn a vague game idea into a 1-page brief (genre, scope, core loop, mechanics) in .summer/GameSoul.md.

| | |
| - | - |
| Status | Stable |
| Domains | Scenes and project, Project |
| Version | `1.0.3` |
| Engine version | `>=4.6` |
| Recommended set | Yes, installed by `--recommended` |

## When your agent uses it

* The user wants help deciding what game to make, scoping a new project, or turning a vague idea into a buildable plan
* The user has a genre, theme, or one-line pitch but no core loop, scope, or brief yet

## Install

`summer setup` installs every skill for your agent. To add only this one:

```bash theme={null}
npx -y summer-engine@latest skills install brainstorm-game --agent claude-code
```

Swap `claude-code` for your agent, such as `codex` or `cursor`. See [Skills](/mcp/skills#quick-start) for every option.

## The skill

## Overview

Most game projects fail because they were never scoped. This skill turns "I want to make a game" into a 1-page brief that names the pitch, the core loop, three mechanics max, the art direction, and the scope (jam / vertical slice / full game). The brief lands at `.summer/GameSoul.md` — the file Summer's onboarding pipeline and every future Summer skill reads on first turn.

**Core principle:** Constrain ruthlessly. A buildable bad idea beats an un-buildable great idea. Three mechanics, one art direction, one scope. Anything else gets parked in a "Later" list.

## Steps

### 1. Open with the one question

Ask exactly this and wait:

> One sentence — what kind of game do you want to make?

Don't pre-pitch genres. Don't list options. Read what they say. The first sentence is signal.

If they freeze ("I don't know"), offer 4 reference points only:

> No worries. Pick the one that pulls you most: a) something cozy and exploratory (Stardew, A Short Hike), b) something tight and skill-based (Celeste, Hades), c) something story-led (Disco Elysium, Citizen Sleeper), d) something silly and short (Goat Sim, Untitled Goose). Or describe a different vibe.

### 2. Branch on genre signal

Read their answer for a genre anchor and pick **one** branch. Don't ask multiple questions in parallel.

| Anchor word(s) | Branch |
| - | - |
| "shooter", "FPS", "TPS", "combat" | Action-Combat branch |
| "platformer", "metroidvania", "souls-like" | Skill-Platforming branch |
| "RPG", "story", "narrative", "dialogue" | Narrative branch |
| "roguelike", "deckbuilder", "auto-battler" | Run-Based branch |
| "sim", "cozy", "farming", "city-builder" | Sim branch |
| "puzzle", "physics", "sandbox" | Puzzle branch |
| "horror", "atmospheric" | Horror branch |
| "multiplayer", "PvP", "co-op" | Multiplayer branch (forces the multiplayer-or-not call before scope) |

If unclear, ask the smallest disambiguating question:

> Tighter on this — is it more "tense and dangerous" or "calm and exploratory"?

### 3. Pin the core loop

A core loop is what the player does for 30 seconds, repeated. State a candidate and ask them to refine. Examples per branch:

| Branch | Candidate core loop |
| - | - |
| Action-Combat | "Enter room, read enemy patterns, kill, loot, advance." |
| Skill-Platforming | "See obstacle, attempt, fail, learn, retry, clear, next." |
| Narrative | "Walk to character, choose dialogue, see consequence, walk to next." |
| Run-Based | "Pick a card/weapon/build, fight, die, unlock, repeat with edge." |
| Sim | "Plan day, execute, harvest reward, plan next day." |
| Puzzle | "See state, form theory, test, observe, solve or rethink." |
| Horror | "Hear cue, locate threat, hide or flee, advance space." |

State your candidate. Ask:

> The 30-second loop I'm hearing: \<candidate>. Does that match what you have in your head, or is the actual moment-to-moment different?

### 4. Constrain to three mechanics maximum

Force the trade. State the rule:

> Three mechanics, no more. What are the three things this game has that other games in this genre don't?

If they pitch five, push back. Not "we'll add it later" — actually cut. Two examples for them to react to:

> Hades has three: dash-attack-cast, room reward choice, and run-end conversation. Everything else (mirror upgrades, weapon variants, bosses) is content built on those three. What are yours?

Common new-dev mistake: listing features ("inventory, crafting, quests") instead of mechanics ("a single resource that's both currency and ammo"). Push them toward verbs and decisions, not nouns and systems.

### 5. Pick an art direction in one phrase

Not a paragraph. Examples to anchor:

* "Lo-fi PS1 polygons + dithered shader"
* "Hand-drawn 2D, single bold outline, 4-color palette"
* "Toon-shaded Nintendo-bright, no realistic lighting"
* "Pixel art, 16x16 tiles, GameBoy 4-shade green"

Ask:

> One phrase for the look. If a stranger asked your screenshot's style in 6 words, what do you say?

Don't go deeper here — `/art-direction` is where the bible gets built. This is one phrase to seed it.

### 6. Pin the scope

State the choices flat:

> Scope. Pick one: (a) a 4-hour jam-sized prototype — one mechanic, one level, one art direction, ships in a weekend. (b) a vertical slice — 30-60 minutes of polished play that proves the core loop, ships in 2-4 weeks. (c) a full game — 4-20 hours of content, ships in 6+ months.

If they flinch at (c), recommend (b). New devs almost always overestimate scope. Default recommendation if they're unsure: **vertical slice**.

### 7. Sanity-check the combination

Do this in your head, not out loud unless something fails:

* Is the core loop achievable with the three mechanics + the chosen art direction in the chosen scope? If not, name what has to flex (usually scope down or merge two mechanics into one).
* Is there a hidden multiplayer requirement? ("4-player" or "co-op" anywhere = stop, multiplayer is its own scope explosion.)
* Is the art direction generatable / sourceable for a solo dev? (Photoreal 3D for a 4-week vertical slice is a red flag.)

If you spot a problem, raise it once, plainly:

> One concern: \<X>. Suggest \<flex Y>. OK or do you want to push through anyway?

### 8. Draft the brief

Compose the 1-page brief. Format:

```markdown theme={null}
# <Game Name or "Untitled">

**Pitch:** <One sentence the player would tell a friend.>

**Core loop (30s):** <What the player does, repeated.>

**Three mechanics:**
1. <Verb-led: "Parry to convert damage into mana"  not "Combat system">
2. <…>
3. <…>

**Art direction (one phrase):** <…>

**Scope:** <Jam | Vertical slice | Full game>

**Win condition:** <How the player knows they succeeded — ending? Score? Unlock?>

**One thing this is NOT:** <Define by negation. Cuts scope creep later.>

**Inspirations:** <2-4 specific games, films, or images.>

**Parked for later:** <Things they pitched that didn't make the three.>
```

### 9. Ask permission and write

**Preferred (Summer MCP):**

> May I create `.summer/GameSoul.md` with this brief?

On yes, use guarded `summer_write_file` — `.summer/GameSoul.md` is plain markdown but still belongs to the bound project:

```
summer_write_file path="res://.summer/GameSoul.md" create_only=true content="<brief>"
```

If `.summer/GameSoul.md` already exists, read it first, show what would change, ask:

> `.summer/GameSoul.md` already exists. May I overwrite it, or merge into a "Revision 2" section below the existing brief?

**Fallback (Summer MCP unavailable — agent is read-only):**

Print the full brief to the user with the explicit instruction:

> Save this as `.summer/GameSoul.md` in your project root. Every Summer skill reads it.

### 10. Route to the next step

End every successful brainstorm with a routing question:

> Brief saved. Next step:
>
> * `/design-mechanic` — design the core loop in detail (recommended for vertical slice).
> * `/design-level` — sketch level 1 / the tutorial.
> * `/art-direction` — turn the one-phrase look into an art bible.
> * Or pick up `/make-game` to start scaffolding the project.

Don't auto-pick. Let them decide.

## Anti-patterns (don't do these)

| Anti-pattern | Why it fails |
| - | - |
| Asking 6 questions in a row before any branching | User feels interviewed, not collaborated with. Branch after each answer. |
| Letting them list 5+ mechanics | Three is the constraint. Without the constraint, the brief is useless. |
| Skipping the "one thing this is NOT" line | This is the single best scope-protection in the brief. Future "let's add X" gets compared against it. |
| Writing the brief without showing it first | They have to react to it. They'll catch their own bad fits when they read it back. |
| Defaulting to "full game" scope | New devs overestimate. Default to vertical slice; let them upgrade if they push. |
| Pitching a genre they didn't ask for | The first sentence they typed is signal. Don't override it. |
| Including art direction details | One phrase. Bible-building is `/art-direction`. |
| Saving without asking | Always ask "May I create `.summer/GameSoul.md`?" — see collaborative-protocol. |

## Collaborative protocol

This skill writes one file (`.summer/GameSoul.md`). Always ask before writing. Always show the brief inline before saving so the user can react.

## Want a working starter?

No template — this is a workflow that produces the brief that drives template selection later. Once `.summer/GameSoul.md` exists, `/make-game` reads it and `summer list templates` shows what's actually available to match against.

## See also

* `design-mechanic` — design the core loop in detail
* `design-level` — sketch level 1
* `art-direction` — turn the one-phrase look into a full bible
* `audio-direction` — sonic identity
* `make-game` — scaffold the project once the brief is locked

## From a shell

No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.

| In this skill | Command |
| - | - |
| `summer_get_project_context` | `summer engine get-project-context` |
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
| `summer_read_file` | `summer engine read-file` |
| `summer_write_file` | `summer engine write-file` |

## Related skills

* [`audio-direction`](/skills/audio-direction): Define the game's sound (music style, SFX vocabulary, dynamic music) as .summer/audio-bible.md.
* [`design-mechanic`](/skills/design-mechanic): Design one mechanic in detail (input, feedback, failure modes, tunables) as a doc plus a script stub.
* [`design-level`](/skills/design-level): Design one level (layout, pacing, encounters, secrets) as a design doc plus a node-tree skeleton.
* [`art-direction`](/skills/art-direction): Define the game's visual style (palette, mood, lighting, post) as an art bible in .summer/art-bible.md.
* [`make-game`](/skills/make-game): Orchestrate 'make me a game': brainstorm, plan, scaffold, mechanics, art, audio, polish, verify, ship.

***

Source: [`library/skills/brainstorm-game/SKILL.md`](https://github.com/SummerEngine/summer/blob/main/library/skills/brainstorm-game/SKILL.md), rendered from `summer-engine@4.3.0` on npm.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.