Skip to content

Add more hairstyles to character randomizer #2293

Description

@wjt

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 five hairstyles:

Image Image Image Image Image

We would like more! Some ideas:

  • Add more long-haired hairstyles: perhaps a bun, or ponytail
  • Add a receded hairline, where the front and top of the head have no hair while the rest has a short cut
  • Wikipedia's List of hairstyles might be a good source of inspiration!

The way these are implemented is that there is a sprite sheet for each hairstyle 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 orange, plus black. Then, in the game, a chroma-key shader replaces those three shades of orange 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 hairstyle:

  1. Open scenes/game_elements/characters/npcs/components/townie.aseprite in Aseprite, Pixelorama or compatible software
  2. Add a new hair layer
  3. Draw a new hairstyle using the same four colours
  4. Export the spritesheet
  5. Add a SpriteFrames
  6. 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

Activity

  1. moved this from Untriaged to Todo in Threadbare Developmenton Jun 5, 2026
  2. andregf01 commented on Aug 18, 2026

    @andregf01
    Contributor

    I plan to work on this

  3. moved this from Todo to In Progress in Threadbare Developmenton Aug 19, 2026
  4. RosmeryFabian commented on Aug 19, 2026

    @RosmeryFabian
    Contributor

    I plan to work on this.
    We'll be working on the same team.

  5. manuq commented on Aug 19, 2026

    @manuq
    Collaborator

    @RosmeryFabian please consider picking the sibling tasks:

    All these are subtasks of the epic task #2295

    Still, you and @andregf01 (and @AnedV who picked #2297) should both work together because all these tasks are very similar, so it will be useful to do it as a team.

  6. Tamy6610 commented on Aug 19, 2026

    @Tamy6610
    Contributor

    I plan to work on this

  7. manuq commented on Aug 19, 2026

    @manuq
    Collaborator

    @Tamy6610 please work on #2294 or in #2296 instead! You can still team up with @andregf01, @AnedV and @RosmeryFabian because all of you are going to do assets for the character randomizer, the parts of the body are different but all the work should be the same.

  8. RosmeryFabian commented on Sep 1, 2026

    @RosmeryFabian
    Contributor

    Understood, @manuq. My colleague @Tamy6610 is working on the other issue, but we're still coordinating because the tasks are similar.

    Here's our planning sheet for this issue:
    https://docs.google.com/document/d/1lYNCwmALyPYo_a3jaxH7Jbwm5_8eADzggru4PiD1Wks/edit?usp=sharing

  9. 4 remaining items

  10. manuq commented on Sep 14, 2026

    @manuq
    Collaborator

    @Nilu501 since you were able to integrate new heads in the townie.tscn file #2884, can you help @RosmeryFabian and @andregf01 to integrate the new hair styles?

  11. andregf01 commented on Sep 15, 2026

    @andregf01
    Contributor

    Hi Manu @manuq .
    I'm sending you my corrected drawings.

    Image Image Image Image Image Image Image Image Image Image
  12. Nilu501 commented on Sep 16, 2026

    @Nilu501
    Contributor

    @Nilu501Dado que pudiste integrar nuevos cabezales en el townie.tscnarchivo #2884 , ¿puedes ayudarme?@RosmeryFabiany@andregf01¿para integrar los nuevos peinados?

    Hello! Sorry, I just saw the message. Sorry for the delay. Sure, I can help.

  13. RosmeryFabian commented on Sep 24, 2026

    @RosmeryFabian
    Contributor

    Hi @manuq ,
    I'm sending you the other hairstyles we were working on.

    Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image
  14. RosmeryFabian commented on Sep 24, 2026

    @RosmeryFabian
    Contributor

    I am also sharing the workspace where the specific Conceptual Design—or Concept Art—process took place during its visual development phase, also known as the pre-production stage.

    Link: https://canva.link/8c3uwgs4fkjcmjb

  15. Jalopezlag commented on Sep 25, 2026

    @Jalopezlag

    Hi @manuq wondering why the outline of these face isn't the same color as the other outlines. Is it due to the skin tone? I see some skin tones similar that have the darker outline.
    Image
    Image

    Additionally for @RosmeryFabian I suggest you take a look at the outline color of these, I think Manu mentioned something about this before in the hat thread.
    Image

    Other than that, I love the proposals, they all feel very unique!

    EDIT: Seems to be a Godot thing that it is automatically changing, personally it looks a bit jarring, do you know if there's a way to modify this, or is it ok @manuq ?

  16. manuq commented on Sep 28, 2026

    @manuq
    Collaborator

    Hi @manuq , I'm sending you the other hairstyles we were working on.

    Nice! Please send a pull request with them! I'm going to reopen the issue.

  17. reopened this on Sep 28, 2026
  18. manuq commented on Sep 28, 2026

    @manuq
    Collaborator

    Hi @manuq wondering why the outline of these face isn't the same color as the other outlines. Is it due to the skin tone? I see some skin tones similar that have the darker outline.

    Yes, exactly! Dark skin tones use a different outline color, for better contrast. This is common in cartoons. See https://github.com/endlessm/threadbare/wiki/Visual-Style-Guide#reference-colors

    Additionally for @RosmeryFabian I suggest you take a look at the outline color of these, I think Manu mentioned something about this before in the hat thread.

    That happens automatically in the CelShadingRecolor shader. In those cases the hair is dark, so the light outline is used. Do you think it looks bad? Maybe we can improve it.

    Other than that, I love the proposals, they all feel very unique!

    Thanks for reviewing @Jalopezlag!

    EDIT: Seems to be a Godot thing that it is automatically changing, personally it looks a bit jarring, do you know if there's a way to modify this, or is it ok @manuq ?

    That is implemented in CelShadingRecolor, in our repository:

    	if low_color.v < 0.3:
    		out_colors.set(palette_index + 3, LINE_COLOR_LIGHT)
    	else:
    		out_colors.set(palette_index + 3, LINE_COLOR)
    

    Maybe you want to propose a different value instead of 0.3?

  19. manuq commented on Sep 28, 2026

    @manuq
    Collaborator

    @RosmeryFabian I see that you opened #2972 already, thanks. I will review it shortly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions