The creature model
A creature in Go Hero is a GoHeroCreature object composed of modular components. The core creature owns a DNA struct that determines base stats, colour palette, and which evolution branches are available. Everything else (hunger, happiness, sprites, evolution, items) is an optional component you attach.
Each creature:
- Starts with a
DNAseed that encodes species, base stats, and palette. - Accepts any number of behaviour components (
HungerComponent,HappinessComponent, etc.). - Has a
SpriteComponentfor pixel-art animation with directional sheets. - Can evolve through a configurable
EvolutionComponentwith stat-based branching. - Serializes to MessagePack for save/load persistence.