This repository contains an engine-agnostic prototype for a structured procedural character generator for a sandbox battle simulator.
- Character config schema
- Stable asset-ID registry for body bases, attachments, materials, palettes, VFX, and animation sets
- Registry content loaded from JSON data instead of hardcoded Python lists
- Prompt-to-config parsing via deterministic rules
- Deterministic stat generation from tags and seeds
- Material/color variation selection
- Compatibility validation for slots, sockets, body family, skeleton, and animation style
- Character assembly plan generation
- Simple CLI for local testing
body_basehead_attachmentright_hand_attachmentleft_hand_attachmentback_attachmentmaterial_themepalettevfxanimation_setstats
src/char_gen/models.py: data model and schema typessrc/char_gen/asset_registry.py: asset catalog and selection helperssrc/char_gen/registry_loader.py: loads registry assets from JSONsrc/char_gen/prompt_parser.py: text prompt parsing into semantic tagssrc/char_gen/resolver.py: compatibility resolver and validatorsrc/char_gen/generator.py: deterministic generation pipeline orchestratorsrc/char_gen/demo_registry.py: starter registry loadersrc/char_gen/data/registry_demo.json: starter asset registry datasrc/char_gen/cli.py: command line demotests/test_generator.py: baseline tests
For most new content, edit src/char_gen/data/registry_demo.json instead of Python code.
Typical workflow:
- Add a new asset entry with a stable
id - Set its
type,slot,body_family, andskeleton - Add
tags,requires_sockets, andattach_to_socket - Set
engine_pathto the future Unity or Godot prefab/scene path - Optionally add
local_transformoffsets for how it should sit on the socket
python3 -m src.char_gen.cli "frost demon samurai"python3 -m unittest discover -s tests