game-jam
All-time installs
2,125
Plan and ship a game under a jam deadline: lock scope to the clock, schedule the hours, cut features, and submit on time. Use for a game jam (Ludum Dare, GMTK Jam, Global Game Jam), a 48-hour or weekend build, or scoping and submitting a jam entry.
Other options
Summary
Plan and ship a game under a jam deadline: lock scope to the clock, schedule the hours, cut features, and submit on time. Use for a game jam (Ludum Dare, GMTK Jam, Global Game Jam), a 48-hour or weekend build, or scoping and submitting a jam entry.
Raw SKILL.md
6,510 bytes---
name: game-jam
description: >
Plan and ship a game under a jam deadline: lock scope to the clock, schedule the hours,
cut features, and submit on time. Use for a game jam (Ludum Dare, GMTK Jam, Global Game
Jam), a 48-hour or weekend build, or scoping and submitting a jam entry.
---
# Game Jam
Turn a theme and a fixed deadline into a finished, submitted game. This is a planning and
scope-control playbook, not engine code: the win condition is *something submitted and
playable*, not *the game you imagined*.
## When to use
- Use when entering a timed jam (Ludum Dare, GMTK Jam, Global Game Jam, a weekend jam),
scoping a 48-hour build, or deciding what to cut to hit a deadline.
- Use when the user asks "what can I actually build in a weekend" or "how do I submit to
this jam".
**When *not* to use:** building the *core loop* in engine code (use the engine skill —
`godot-2d-movement`, `phaser-core`, etc. — or a genre skill like `platformer`); throwaway
experiments with no deadline (use `prototype-fast`); shipping a commercial release (use
`steam-publish` / `itch-publish`).
## Core workflow
1. **Read the rules before the theme drops.** Confirm the jam's *length*, *theme reveal
time*, *submission deadline (with timezone)*, whether teams/pre-made assets/engines are
allowed, and whether ratings require you to rate other entries. Missing one of these
disqualifies an otherwise-finished game.
2. **Prep the boring parts in advance** (allowed by most jams): empty project that builds
and exports, input + a title/end screen stub, an export pipeline you've run once, and a
font/SFX source you're licensed to use. Day-one time is too precious to spend here.
3. **Theme → one sentence.** Brainstorm 10 ideas in 15 minutes, then commit to **one**
expressible as: *"You [verb] to [goal] while [constraint]."* If you can't say it in one
sentence, it's too big.
4. **Scope to the clock, not the idea.** Use the budget table below. Pick **one** core
mechanic and **one** "hook". Everything else is a stretch goal.
5. **Build the vertical slice first.** Get a 30-second playable loop (start → play → lose/win
→ restart) running early. A complete tiny loop beats a half-built big one.
6. **Reserve the last ~20% of the clock for shipping**, not features. Export, test the build
on a clean path, capture screenshots, write the page. Builds always break at hour 47.
7. **Submit early, update if time remains.** Upload a working build *well before* the
deadline; most jam pages let you swap the file until it closes. A submitted mediocre game
scores; an unsubmitted great one does not.
## Patterns
### 1. Scope budget by jam length (plan backwards from the deadline)
```text
| 48-hour jam | 72-hour jam | 1-week jam
--------------|------------------------|-----------------------|------------------------
Core mechanic | 1, proven by hour 6 | 1-2 | 2-3 interacting
Levels/content| 1 hand-made or gen'd | 3-5 | 8-12 + progression
Art | placeholder/1 palette | cohesive 1-artist set | themed set + UI
Audio | 3-5 SFX + 1 loop | SFX + 1-2 tracks | adaptive music
SHIP BUFFER | last 8-10 h | last 12-16 h | last full day
```
### 2. The 48-hour timeline (concrete blocks)
```text
H0-2 Ideate -> lock ONE-sentence concept -> name the core mechanic + win/lose.
H2-8 Core loop in code with primitives (boxes/circles). Make it playable, no art.
H8-12 Sleep. (Tired code is tomorrow's bug list.)
H12-24 Content: 1 level/encounter, tune difficulty, add the "hook" feature.
H24-30 Sleep + playtest with one other person; cut anything not landing.
H30-38 Art + audio pass. Juice: screenshake, hit-stop, tween, particles, SFX.
H38-44 Bug-fix freeze: no new features. Fix only crashes + soft-locks.
H44-48 EXPORT, test the build clean, screenshots, write page, SUBMIT (by ~H46).
```
### 3. Feature triage — decide fast, decide out loud
```text
For every feature ask, in order:
1. Does the core loop work WITHOUT it? -> if yes, it's a stretch goal, not MVP.
2. Can a player tell it's missing? -> if no, cut it.
3. Is it < 30 min of work? -> if no, defer past the ship buffer.
Default answer under deadline pressure is CUT. You can always add in a post-jam version.
```
### 4. Pre-submission build check (run on a clean copy, not your dev folder)
```text
[ ] Build runs from an extracted zip on a path with NO engine/IDE installed.
[ ] Controls are shown on-screen or on the page (jurors won't read your mind).
[ ] No dev console errors; no soft-lock; restart works.
[ ] Web build (if any) is set to the platform's playable-in-browser mode.
[ ] Page has: 1-line pitch, controls, screenshots, credits + asset licenses.
[ ] File uploaded and the submission is actually attached to the JAM, not just the page.
```
## Pitfalls
- **Scope creep is the #1 jam killer.** If the core loop isn't playable by the first third
of the clock, cut features now, not later.
- **No ship buffer.** Exporting, zipping, and writing the page reliably takes 1-3 hours and
always surfaces a build bug. Treat the deadline as ~2 hours earlier than it is.
- **Submitting to the page but not the jam.** On itch.io a jam entry is a separate
*submission* linked from the jam page — uploading the game alone does not enter it.
- **Untested export.** "Works in the editor" is not "works in the build." Test the exported
artifact on a clean path; missing assets and wrong working directories are classic.
- **Unlicensed assets.** Music/fonts/sprites pulled from the web can violate jam rules and
break later distribution. Use assets you're licensed for and list them in the credits.
- **Polishing before the loop is fun.** Juice multiplies fun; it can't create it. Get the
loop right with placeholders first.
## References
- For the throwaway-vs-keep prototyping mindset and greyboxing technique, read the
`prototype-fast` skill.
- For the actual upload mechanics (project page, channels, `butler push`), read
`itch-publish`.
## Related skills
- `prototype-fast` — validate a mechanic quickly before committing jam hours to it.
- `itch-publish` — create the page and upload the build (most jams are hosted on itch.io).
- Engine cores (`phaser-core`, `love2d-core`, `godot-gdscript`, …) and genre skills
(`platformer`, `roguelike`, …) — build the actual loop the jam scopes around.
Security audits
SnykPASS
SocketPASS
Gen Agent Trust HubPASS

