Loading...
Loading...
Build a playable prototype in about an hour to answer one question — is it fun? — with greybox primitives, a hard timebox, and explicit keep/kill criteria. Use when prototyping a mechanic, making a vertical slice or MVP, greyboxing/blockout, or judging throwaway vs keep.
npx skill4agent add gamedev-skills/awesome-gamedev-agent-skills prototype-fastgame-jamsteam-publishitch-publishQUESTION: The one thing this must prove (binary if possible).
CORE VERB: The single action the player repeats.
THROWAWAY?: yes -> hard-code freely, delete after. no -> minimal structure to grow.
TIMEBOX: e.g. 60 min. Stop when it rings, even if unfinished.
KEEP IF: observable signal that means "fun / worth building" (see kill criteria).
KILL IF: observable signal that means "stop".# Only the CORE VERB is real. Visuals are primitives; systems are stubs.
on update(dt):
read_input()
apply_core_mechanic(dt) # the ONLY thing you're testing — make this feel right
draw_primitive(player) # a box. not a sprite. not animated.
draw_debug_hud(speed, timing) # show the numbers you're judging
# enemies, menus, save, audio, art -> stubbed or absent until the verb proves outKEEP when, with placeholder art:
- a fresh player does the core verb on purpose within ~30s, unprompted, and
- you (or they) repeat the loop "one more time" without being asked.
KILL when:
- the verb only feels good after you explain it, or
- making it fun needs systems far beyond the prototype's scope, or
- you're adding art/levels to avoid admitting the verb is flat.
REFACTOR when one variable is clearly off (too slow, window too tight) -> retune, retest.prototypes/<idea-name>/ # separate folder or project, never imported by main game
- hard-coded values, single file ok, magic numbers welcome
- committed on a throwaway branch (or not at all)
Rule: a "keep" decision authorizes a REWRITE in the real project, not a copy-paste of the
spike. Prototype code carries prototype assumptions; shipping it ships the assumptions.game-jamgodot-gdscriptphaser-corelove2d-coreunity-csharp-scriptinggame-jam