ai-behavior-trees-util…
Engine-neutral behavior tree and utility AI code for NPCs in any language: Blackboard, reactive composites, decorators and…
Plans and ships a game jam entry against a fixed deadline: reads the jam rules, scopes to the clock, keeps a cut list and checks the build before submitting. Use for Ludum Dare, GMTK, Global Game Jam or any itch.io jam, a 48-hour game, or "we're behind, what do we cut". Not for
Claude Code
$ npx -y skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam --agent claude-code
Codex
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam -a codex -y
Cursor
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam -a cursor -y
Gemini CLI
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam -a gemini-cli -y
GitHub Copilot
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam -a github-copilot -y
OpenCode
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam -a opencode -y
Windsurf
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill game-jam -a windsurf -y
name: game-jam description: > Plans and ships a game jam entry against a fixed deadline: reads the jam rules, scopes to the clock, keeps a cut list and checks the build before submitting. Use for Ludum Dare, GMTK, Global Game Jam or any itch.io jam, a 48-hour game, or "we're behind, what do we cut". Not for untimed experiments (`prototype-fast`) or upload commands (`itch-publish`).
Turn a theme and a fixed deadline into a submitted, playable game. The win condition is a build that is attached to the jam before it closes, not the game first imagined. The agent keeps the plan in a file, builds the smallest loop first, cuts on schedule, and runs the build checks itself; the user decides the concept, plays the build and presses submit.
a deadline, or getting a jam entry submitted.
**Not for:** the core loop's engine code (engine skills such as `godot-2d-movement` or `phaser-core`, or genre skills such as `platformer`); experiments with no deadline (`prototype-fast`); a commercial release (`steam-publish`, `itch-publish`).
1. **Get the rules before the theme drops.** Ask the user for the jam page URL and read it (or ask them to paste the rules). Record in `JAM.md` at the project root: length, theme reveal time, submission deadline in UTC and the user's local time, team and asset rules, the generative-AI rule, required platforms, where the entry is submitted, whether uploads lock during rating, and whether rating others matters. Each of these has disqualified finished games. Recurring jams' current rules are summarised in Version notes; the live page wins. 2. **Prep what the rules allow in advance:** an empty project that exports, input and a title/end screen stub, an export command that has run once, and licensed font and SFX sources. Day-one hours are too precious for this. 3. **Theme to one sentence.** Offer about ten ideas quickly, then help the user commit to one that fits *"You [verb] to [goal] while [constraint]."* If it does not fit one sentence, it is too big. Write it in `JAM.md`. 4. **Scope to the clock.** Use the budget table (Pattern 1): one core mechanic, one hook, everything else on a stretch list in `JAM.md`. 5. **Build the vertical slice first:** start, play, win or lose, restart, with primitives. A complete tiny loop beats a half-built big one. 6. **Check in against the timeline** (Pattern 2) at each block boundary. When the loop is late, cut from the stretch list using the triage rules (Pattern 3) and log the cut in `JAM.md`. 7. **Reserve the last ~20% of the clock for shipping:** export, run the Verify checks, capture screenshots, write the page. Builds tend to break in the last hours. 8. **Submit early, then update while allowed.** Upload a working build well before the deadline. After the deadline many jams lock uploads or allow only declared bug fixes, so the build attached at the deadline is the one people rate.
| 48-hour jam | 72-96 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
H0-2 Lock the one-sentence concept; name the core mechanic and win/lose. H2-8 Core loop with primitives. Playable, no art. H8-12 Sleep. Tired code is tomorrow's bug list. H12-24 One level or encounter, tune difficulty, add the hook. H24-30 Sleep; the user plays the build (and ideally one other person); cut what isn't landing. H30-38 Art and audio pass, then juice (see `game-feel`). H38-44 Feature freeze: fix only crashes and soft-locks. H44-48 Export, Verify, screenshots, page, SUBMIT by about H46.
For every feature, in order: 1. Does the core loop work without it? -> yes: stretch goal, not MVP. 2. Would a player notice it missing? -> no: cut it. 3. Is it under 30 minutes of work? -> no: defer past the ship buffer. Under deadline pressure the default is CUT; it can return in a post-jam version.
Jam: <name + URL> Deadline: <UTC> / <local> Upload lock: yes/no Rules: team | assets | AI | platforms | submit where Concept: You <verb> to <goal> while <constraint>. MVP: <core mechanic>, <hook>, start/play/end/restart Stretch (in cut order): ... Cut log: <hour> cut <feature> because <reason>
Run these before submitting, on the exported build, not the editor:
1. **Export from the command line** with the engine skill's export path (for example `godot-export` or `unity-build-pipeline`) and confirm it exits 0. 2. **Clean-path test.** Zip the export, unzip it into a new temporary folder outside the project, and launch it there (or, for a web build, serve that folder on `127.0.0.1` and load it in a headless browser). Missing assets and wrong working directories show up only here. Read the log or browser console for errors. 3. **Package check.** List the zip: the executable or `index.html` at the top level, no project files, editor folders or debug symbols. For itch.io, run the `butler push --dry-run` check from `itch-publish`. 4. **Rules check.** Re-read the rules block in `JAM.md` against the build: platforms, controls (keyboard and mouse if required), credits and asset licences on the page, AI rule. 5. **Ask the user** to play the extrac
<img src="docs/assets/awesome-gamedev-agent-skills-banner.png" width="820" alt="awesome-gamedev-agent-skills — game-dev skills for AI coding agents.
Engine-neutral behavior tree and utility AI code for NPCs in any language: Blackboard, reactive composites, decorators and…
Engine-neutral game audio technique: bus layout, volume sliders in decibels, loudness, ducking music under dialogue, adaptive…
Builds and tunes game cameras, engine-neutral with Godot and Cinemachine 3 mappings: 2D follow with deadzone and look-ahead,…
Plans, generates or sources, and validates consistent game art: style guides, sprites, pixel art, tilesets, icons and textures,…
Builds engine-neutral branching dialogue with Ink, Yarn Spinner or a small JSON graph runner: lines, choices, conditions,…
Designs engine-neutral enemy and NPC AI: picks FSM, behavior tree, utility or GOAP, and builds perception, steering and A*…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.