11 KiB
Prompt Rules
Use this file when writing sprite prompts by hand.
Do not delegate prompt writing to a script unless you specifically need parity with an older generated prompt.
Global Rules
Always keep these constraints:
- background is 100% solid flat magenta
#FF00FF - no gradients in the background
- no text
- no labels
- no UI
- no speech bubbles
- exact grid count only
- no borders or frames between cells
- same asset identity across frames
- same bounding box and same pixel scale across frames
- raw sprite art must come from built-in
imagine_text_to_image, not Three.js, Canvas, SVG, HTML/CSS drawing, PIL shape drawing, procedural geometry, placeholder primitives, or code-rendered screenshots
Style Rules
Choose the art style from the user request, project context, map context, or reference:
pixel_art: general sprite default for classic 2D game actors and animation sheets.clean_hd: clean hand-painted HD 2D game asset style, crisp silhouettes, smooth surfaces, low texture noise, controlled lighting, no chunky pixels.pixel_inspired: clean modern pixel-art-inspired style without 16-bit wording, heavy dithering, or noisy microtexture.retro_pixel: 16-bit pixel art or retro JRPG pixel art, only when explicitly requested.map_styleorproject-native: match the visible reference, existing game, or$generate2dmapselected art style.
Do not write 16-bit, retro JRPG, or chunky pixel-art unless the user asks for that look. For clean HD map props, explicitly say Do not make pixel art.
Reference Rules
Use these rules when the user attaches a reference, points to a local image, asks for consistency with an earlier generated image, or asks for an evolution/variant of an existing sprite:
- Pass the reference to built-in
imagine_image_to_imageas a sandboxfile_path, andread_fileit so you can see it too. Do not assume a path string in the prompt is a visual input. - In the prompt, say
use the provided reference image as the visual reference. - State what must stay fixed: silhouette family, palette, face/eyes, costume or markings, accessories, material language, and art style.
- State what may change: pose, animation phase, action energy, size progression, evolution traits, or FX intensity.
- For animation sheets, preserve the same character identity in every cell and only change the animation pose or effect state.
- For evolution lines, keep visible lineage markers while allowing larger silhouette, added details, or stronger colors per form.
- Keep the normal magenta-background and containment rules even when using a reference.
Layout Guide Rules
Use a layout guide when the sheet needs stronger geometric control than text alone can provide:
- good fit:
3x3and4x4prop packs, tileset-like atlases, fixed atlas rows, and non-directional 16-frame sequences such as casting, summoning, charging, death, or transformation - possible fit:
3x3large idles or showcase loops when earlier generations drift in scale, spacing, or edge safety - risky fit: four-direction walk sheets, because guide pressure can make directional poses too centered and reduce locomotion clarity
When using a layout guide, pass the guide PNG's sandbox path to imagine_image_to_image. Use it only to understand the rows, columns, equal invisible frame slots, centering, spacing, and safe padding. Do not reproduce the guide: no visible boxes, no safe-area rectangles, no center marks, no labels, no borders, no guide background.
Keep the creative prompt agent-written. The layout guide only provides geometry; it must not replace the action plan, art style, identity lock, or containment rules.
Containment Rules
For any sheet mode, say this explicitly when consistency matters:
- the entire subject must fit fully inside each cell
- no body part, effect, weapon, tail, wing tip, orb, spark, or smoke trail may cross a cell edge
- leave magenta margin on all four sides
- use the same silhouette scale in every frame
If detached FX are undesirable, say:
- no floating detached effects outside the main silhouette
If detached FX are required, say:
- detached effects must remain tightly grouped near the main subject and still fit inside the cell
View Rules
topdown: for overworld actors and player / NPC sheetsside: for projectiles, side-view units, impact FX3/4: for creature battle sprites, bosses, showcase idles, side-view spellcasters
Character Style
For player and npc when the request does not specify another style:
- top-down 2D pixel art for a 16-bit RPG overworld
- 3/4 view from slightly above
- full body visible
- chunky readable pixel-art with crisp dark outlines
- enough margin for clean engine rendering
Map Prop Style
For prop assets requested by $generate2dmap, match the selected map art style:
clean_hd: clean hand-painted HD 2D game asset style, crisp silhouettes, smooth painted surfaces, low texture noise, controlled accent lighting, no chunky pixels.pixel_inspired: clean modern pixel-art-inspired prop, crisp readable shape, no 16-bit wording, no heavy dithering.retro_pixel: 16-bit or retro JRPG pixel-art prop, only when the map is explicitly retro pixel.
For clean HD props, use mostly front-facing top-down RPG object view: upright objects are vertical and centered, with only a small visible top face. Avoid strong isometric diagonal rotation unless requested.
Creature and FX Style
For creature, spell, projectile, impact, summon, and fx:
- strong silhouette
- readable body colors or effect shape
- battle-ready or gameplay-readable pose
- avoid painterly composition drift between frames
- if humanoid, keep it clearly non-player unless the user explicitly wants a player-like unit
Action Rules
idle
Use:
- neutral stance
- subtle motion
- weight shift or aura pulse
- strongest idle accent before looping
Prefer:
2x2for standard actors3x3for large creatures and showcase idles
cast
A 2x3 cast is often the best default:
- readiness
- energy gather
- stronger gather
- release start
- release peak
- settle or hold
attack
For a compact attack-only sheet, describe:
- wind-up
- strike
- follow-through
- recovery
For controllable heroes, main characters, and fixed-cell game sprites, write attack body prompts as body-only:
- no detached slash arc
- no wide weapon trail
- no muzzle flash
- no projectile
- no impact burst
- no detached dust cloud
- weapon remains close enough that the body bbox stays near idle/run size
- body height and feet/bottom anchor match the accepted idle/run sheet
If the attack needs a large slash arc, sword trail, muzzle flash, or hit spark, generate it as a separate fx, projectile, or impact sheet and layer it in the runtime.
hurt
For a hurt-only sheet, describe:
- impact
- recoil
- stagger
- recovery
combat
For a compact combined sheet:
- top-left: attack wind-up
- top-right: attack strike
- bottom-left: hurt impact
- bottom-right: hurt recovery
projectile
Usually prefer 1x4 or 2x2.
Describe:
- same projectile identity in all frames
- travel direction stays consistent
- shape changes are small and loopable
- glow or trail stays inside the frame
impact / explode
Usually prefer 2x2.
Describe:
- ignition or contact
- expansion
- peak burst
- fade or collapse
walk / run / hover
State the travel behavior clearly:
- grounded stride
- hover bob
- crawl
- slither
- mechanical glide
Sheet-Specific Rules
Mixed-action atlas guardrail
Do not use a single raw generated sheet to pack unrelated actions just because the target engine wants a 4x4, 5x5, or custom atlas.
Avoid prompts like:
- row 1 idle, row 2 run, row 3 shoot, row 4 jump
- first row walk, second row attack, third row hurt, fourth row death
- one big atlas containing every hero action
For controllable heroes, main characters, and high-value player assets:
- Generate each action as its own multi-row grid sheet, usually
2x2for 4-frame actions,2x3for 6-frame actions, and2x4,3x3,3x4, or4x4for longer actions. - Keep attack/shoot/cast body animation separate from projectile, muzzle flash, slash arc, weapon trail, impact, and dust unless the runtime explicitly supports wider per-action cells plus explicit origins.
- Process and visually QC each action independently for feet line, body center, scale, silhouette, and edge safety.
- Reject a body action when the body appears more than about 10-15% smaller than idle/run because a wide FX bbox forced it to shrink.
- Assemble a
4x4,5x5, or custom engine atlas only after the separate action sheets pass QC.
Allowed raw multi-row sheets:
- canonical four-direction locomotion sheets where every row is the same walk/run action in a different direction
- one continuous non-directional long action sequence, read left-to-right across rows
- prop packs or tileset-like atlases where each cell is intentionally a separate object
- compact low-stakes enemy combat sheets, but not controllable hero production assets
4x4 player sheet
Use:
- row 1: down
- row 2: left
- row 3: right
- row 4: up
- column 1: neutral
- column 2: left foot forward
- column 3: neutral again
- column 4: right foot forward
Do not use a layout guide by default for this sheet. Try an unguided prompt first unless the previous result crossed cell edges or failed the grid shape.
3x3 large idle
Say:
- exactly 9 equal cells in a
3x3grid - same bounding box in all 9 cells
- subject fills only about 55% to 65% of each cell
- no edge crossing anywhere
Use a layout guide when a previous 3x3 result has uneven spacing, inconsistent scale, or edge-touching frames.
4x4 non-directional action sequence
Use for casting, summoning, charging, transformation, death, and other single-action loops:
- exactly 16 equal cells in a
4x4grid - read frames left-to-right across each row, then continue on the next row
- describe each phase in order, from anticipation through peak action to settle or loop return
- keep the subject identity stable while allowing pose, energy, and compact attached effects to change
- use a layout guide when the action includes VFX, portals, circles, summons, or other elements that might cross cell boundaries
Do not use this format as a shortcut for four unrelated hero actions. If the requested rows are different actions, treat it as a hero_action_bundle or engine_atlas delivery problem instead.
5x5 and custom grids
Use raw 5x5 or custom-grid generation only when the entire sheet is one coherent action family, a prop pack, a tileset-like atlas, or a single long sequence.
For mixed action requirements, generate each action separately and assemble the final grid after QC. The assembled atlas is a delivery artifact, not the raw image-generation target.
1x4 projectile
Say:
- exactly 4 equal cells in one row
- same projectile size in every frame
- only the internal energy or shape pulse changes
Bundle Prompting
When generating a bundle, write each asset prompt independently.
Good default decomposition:
- caster unit
- projectile
- impact
or:
- idle
- combat
- walk
Do not try to force unrelated assets into one giant sheet.
Quick Prompt Pattern
- state the asset type and sheet shape
- describe the subject identity
- if applicable, state the reference role and invariants
- describe frame-by-frame motion
- restate same-scale and containment rules
- restate magenta background and no-text rules