# Game Assets as Code: one spec file, seeded generators and a fifteen-check checker for agent-made game art and sound

> Let Grok Bot, Claude Code, Codex or Hermes make your placeholder and jam-ready game assets as code instead of prompts: pixel sprites from letter grids, seeded symmetric sprite variants, seamless tiles, SVG icons, retro sound effects and low-poly Blender props built headless, all from one spec file with a fixed palette and seeds. Every build writes a manifest with file and spec hashes and a review page; your approvals are tied to those hashes, a promote step copies only approved, unchanged files into the game, and a separate release yes covers anything that leaves your machine.

- URL: https://paperchasewebb.ai/bots/marketplace/items/game-assets-as-code-spec-seeded-generators-and-checker/
- Type: Bot template
- Category: Games
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); Plain .md, a skill file and five Python 3 scripts plus one Godot script; tested on Blender 5.2.3 and Godot 4.7.2 headless, Unity and Unreal not run
- Price: $29 USD
- Difficulty: Intermediate
- Setup time: 45 min
- Time to result: First lane built, reviewed and checked in under an hour
- Format: Markdown (.md) file, game-assets-as-code-spec-seeded-generators-and-checker.md
- Version: 1.0, updated 2026-10-28
- License: Use on your own projects and on installs you do for clients and teams. Do not resell or republish the pack itself.

## What you end up with

Your agent can make and remake a consistent set of sprites, tiles, icons, sounds and props in minutes, the same spec always gives the same files, and nothing reaches your game folder or a store page without your yes on that exact file.

## What you get

- 19 sections in one .md file
- ASSETS.spec.json: palette, limits, seeds and every asset in one file, with a worked example of eight assets
- gac.py: six seeded lanes (letter-grid sprites, symmetric variants, seamless tiles, SVG icons, sound effects, Blender props), a manifest with hashes and a review page
- prop_blender.py: crate, barrel and rock props built headless with bottom-center origin, palette material, GLB export and a triangle cap
- Owner approvals tied to file hashes, a promote step that never overwrites, and a release plan that needs a separate yes
- gac_check.py: fifteen read-only checks, with a fixture builder and the expected output
- A Godot 4 load test script, with notes for Unity and Unreal
- A skill file for Claude Code, Codex and Hermes, and a rules block for Grok Bot and any other harness
- Ten prompts and a failure table
- A look at seven asset tools and skills people are using, with sources

## Who it is for

Indie and jam developers who want an agent making placeholder and stylized assets that stay on palette, rebuild the same way every time and only reach the game after they have looked at them.

## Tools needed

- Grok Bot, Claude Code, Codex or Hermes: writes and edits the spec file, builds one lane at a time, reads the review page and the checker, and never writes approvals
- Python 3: runs the generators, the review page, promote and the read-only checker; standard library only
- Blender 4.2 or newer: builds the low-poly props headless with a triangle cap; tested on 5.2.3 LTS
- Godot 4: load test for every file before it goes into the game; tested on 4.7.2 headless
- You need: A coding agent (Grok Bot, Claude Code, Codex or Hermes)
- You need: Python 3.8 or newer
- You need: Blender 4.2 or newer for props
- You need: Godot 4 for the load test (optional)

Cost to run: The pack is the only purchase. Python, Blender and Godot are free; your agent's model usage is billed by its vendor.

## How it works

1. **Test the check.** Save the scripts from the file, run make_fixture.py and run gac_check.py on the two fixture folders. Expected: 15 findings on seeded, 0 on fixed; exit 2 on a missing folder.
2. **Build the example.** Copy example/ASSETS.spec.json into a new folder, set BLENDER_BIN if you want props, and run gac.py build on it. Expected: Eight assets and three prop reports in assets-out, a MANIFEST.json, and the same hashes when you build again.
3. **Write your own spec.** Set your palette, owner name and limits, then have your agent add assets one lane at a time with the skill file or rules block in place. Expected: Each lane builds, review.html shows it, and gac_check.py prints no G01 to G10 findings.
4. **Approve and promote.** Look at the review page, write your approvals with the hashes it shows, then run gac.py promote. Expected: Only the files you approved are copied into the game folder, and a second run reports them as the same.
5. **Load test and release.** Run the Godot load test on the output, then write a release yes for anything going on a store page or a jam upload and run release-plan. Expected: Every file loads, and release-plan lists only the files with your release yes.

## Sample prompt: Add one lane (Grok Bot, Claude Code, Codex, Hermes)

```
Read ASSETS.spec.json and the skill rules. Add three enemy variants to the sprite_mirror lane with seeds 1, 2 and 3, using palette letters only.
Run gac.py build --only sprite_mirror, then gac.py review and gac_check.py, and paste the findings. Do not write approvals.
```

Prompt 3 of 10. One lane per build keeps the review page short.

## Sample prompt: Fix from the checker (Grok Bot, Claude Code, Codex, Hermes)

```
Here are the gac_check.py findings. Fix each one in the spec, not in the output files, rebuild only the lanes you touched and run the check again.
If a finding needs a limit raised, stop and ask me.
```

Prompt 6 of 10. The cap is mine to change, not the agent's.

## Free preview of game-assets-as-code-spec-seeded-generators-and-checker.md

````markdown
# Game Assets as Code: a spec, seeded generators and a checker for pixel sprites, tiles, icons, sound and Blender props

Version 1.0, 2026-10-28. By PaperChaseWebb. Works with Grok Bot, Claude Code, Codex and Hermes. Plain Markdown, a skill file, four Python 3 scripts, one Blender script and one Godot script, tested as described in section 12. The 2D, sound and checker parts were run with Python 3.13 on Linux. The prop lane was run headless on Blender 5.2.3 LTS, and every output was loaded headless in Godot 4.7.2. The skill file was not loaded inside each harness for this release, and Unity and Unreal imports were not run; both are marked where they appear.

Most "AI game art" products are prompt lists for image models. That works for concept art, and it is why people end up redrawing sprites by hand: an image model does not draw on a real pixel grid, does not keep a palette, and gives a different result every time. This pack takes the other road. Your agent writes each asset as a few lines of data in one spec file: a pixel grid, a seed for a texture, a pitch sweep for a jump sound, the size of a crate in centimetres. A small set of generators turns the spec into PNG, SVG, WAV and GLB files, and the same spec and seed give the same bytes every time. A manifest records the hash of every file. You approve files by hash, and only approved, unchanged files go into the game folder.

A read-only checker, gac_check.py, reads the spec, the manifest, the files, the game folder and the
````

## Worth knowing

- These are code-made assets: crisp, consistent and on palette, in a simple stylized look. They are not a replacement for an artist or a sound designer on a final game.
- Unity and Unreal import steps were not run for this release; only Godot 4.7.2 headless loaded the files. The notes for those engines follow their documentation.
- The prop lane needs Blender; the other five lanes need only Python.
- On 2026-10-28, gac_check.py reported the fifteen expected findings on the seeded fixture and 0 on the fixed one, with file hashes unchanged and exit 2 on a missing folder; two builds of the example spec gave identical files, including the three GLB props from Blender 5.2.3; a rock over the triangle cap was refused; Godot 4.7.2 headless loaded every file; promote copied only approved files and refused a changed one. Run the tests on your own machine first.

## Questions

**Why not just use an image model?** Use one for concept art if you like. For game-ready sprites, tiles and sounds you usually want an exact size, an exact palette and the same file next time. A spec and a seed give you that, and your agent can edit the spec as easily as code.

**Does Grok Bot need Blender?** Only for props. Grok Bot can run all six lanes on its own computer, or on your registered computer with your approval. The skill rules are pasted into its instructions.

**How is this different from Consistent Asset Sets?** Consistent Asset Sets keeps image-model art on one style across a set. This pack makes the assets as code from a spec, so there is no model drift to manage, and it adds sound, props, hashes and a promote gate.

**Does it work with the Hermes Overnight Worker?** Yes. The overnight worker runs a queue of Blender jobs while you sleep; point a job at gac.py build --only prop and review the props in the morning before you approve anything.

## How to buy

$29 one time at https://paperchasewebb.ai/bots/marketplace/items/game-assets-as-code-spec-seeded-generators-and-checker/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
