Threadbare has a character randomizer to create distinct NPCs from a small number of component parts. See it in action in game_elements/characters/components/character_randomizer_test.tscn.
Currently the character randomizer has three body shapes/clothes styles:

One of them is in two parts, I don't know how it works.
We would like more!
The way these are implemented is that there is a sprite sheet for each body in res://scenes/game_elements/characters/npcs/components/, and then a corresponding SpriteFrames in res://scenes/game_elements/characters/components/sprite_frames/, which are added to the RandomTextureSpriteBehavior in res://scenes/game_elements/characters/npcs/townie.tscn. The sprite sheets use three shades of green for the clothes, three shades of yellow for the hands (if visible), plus black outlines. Then, in the game, a chroma-key shader replaces those green/yellow shades with one of a number of alternative palettes. The sprite sheets are exported from a single Aseprite file at scenes/game_elements/characters/npcs/components/townie.aseprite.
So to add a new body style:
- Open
scenes/game_elements/characters/npcs/components/townie.aseprite in Aseprite, Pixelorama or compatible software
- Add a new body layer
- Draw a new body using the same palette
- Export the spritesheet
- Add a SpriteFrames
- Update
townie.tscn to include it in the randomized choices
@manuq created the existing assets & the game system that uses them, so he is the best person to ask for pointers!
XP Summary (total 450)
| Subdomain |
Skill |
XP |
| Art: Animation & Effects |
Problem Solving |
150 |
| Art: Animation & Effects |
Creativity & Design Thinking |
150 |
| Art: Animation & Effects |
Technical Literacy |
150 |
Threadbare has a character randomizer to create distinct NPCs from a small number of component parts. See it in action in
game_elements/characters/components/character_randomizer_test.tscn.Currently the character randomizer has three body shapes/clothes styles:
One of them is in two parts, I don't know how it works.
We would like more!
The way these are implemented is that there is a sprite sheet for each body in
res://scenes/game_elements/characters/npcs/components/, and then a corresponding SpriteFrames inres://scenes/game_elements/characters/components/sprite_frames/, which are added to the RandomTextureSpriteBehavior inres://scenes/game_elements/characters/npcs/townie.tscn. The sprite sheets use three shades of green for the clothes, three shades of yellow for the hands (if visible), plus black outlines. Then, in the game, a chroma-key shader replaces those green/yellow shades with one of a number of alternative palettes. The sprite sheets are exported from a single Aseprite file atscenes/game_elements/characters/npcs/components/townie.aseprite.So to add a new body style:
scenes/game_elements/characters/npcs/components/townie.asepritein Aseprite, Pixelorama or compatible softwaretownie.tscnto include it in the randomized choices@manuq created the existing assets & the game system that uses them, so he is the best person to ask for pointers!
XP Summary (total 450)