News

A bestiary for every biome

Fifty-six of our monsters in the Blender viewport on a grid floor, small creatures in front and giant bears, minotaurs and a cyclops at the back

Fifty-two new monsters joined our bestiary this week: giant bears and rats, hobgoblins, minotaurs, spectral warriors, a cyclops and thirty-five creatures of our own design. None of them is in the world yet. This post is about the direction behind them, and how a model becomes something the game can draw.

Every creature belongs somewhere

We're building the bestiary out from biomes. Each will have natives shaped by the land they live in: Dunerasp in the desert sand, Rimeprowler on the frost, Mirejaw in the swamp, Cindervent on volcanic ground, Tideclasp along the coast, Scytheheel in the grassland and Canopyreaper in the jungle. A biome's creatures should tell you what that land asks of you before you set foot in it.

Seven monsters in the Blender viewport on a grid floor: Cindervent, Tideclasp, Mirejaw, Rimeprowler, Dunerasp, Scytheheel and Canopyreaper
Desert, frost, swamp, volcanic, coast, grassland and jungle natives

Creatures that give

Some creatures are less a fight than a source. Cloudloom grows wool, Veilspinner spins silk, Sunplume sheds feathers, Pearlback carries a shell, Amberhorn its horn, Reedquill its quills and Saplinger its resin. Each will give its material two ways: gathered from it alive, a steady yield as it grows back, or taken after the kill, a larger haul once.

Seven monsters in the Blender viewport on a grid floor: Amberhorn, Sunplume, Cloudloom, Reedquill, Saplinger, Veilspinner and Pearlback
Wool, silk, feathers, shell, horn, quills and resin

The second way is built. When a creature dies, its carcass becomes a gather node on the server, with the same rules as trees and rocks. You channel, and moving cancels it. The server rolls the yield into your inventory and grants gathering experience. Your skill level and the right tool on your belt gate it, and every unit rolls a quality grade that your gathering luck lifts. For a short while only the killer can harvest; after that anyone may, so no carcass goes to waste. Today rats are skinned and pheasants plucked this way. Gathering from living creatures comes next.

A rising curve

Difficulty climbs gradually rather than in named tiers. The first steps are gentle creatures such as Bramblehop, Pebblepinch and Chipling. Then come the familiar staples, the first real fights: giant rats and bears, goblins and hobgoblins, minotaurs, spectral warriors and the cyclops. Beyond them are harder hunters such as Galehook, Venomlace and Sunderward, then each biome's natives, and rarer things further out, like the Abyssal Crown, Moonveil and Nightglass.

Eight monsters in a row, rising in size from Pebblepinch, a giant rat, Bramblehop and Chipling to a giant bear, a hobgoblin, a minotaur and the cyclops
From Pebblepinch to the cyclops

A creature's difficulty isn't only its health and damage. Every creature already has a temperament that decides who starts a fight: skittish ones flee, defensive ones fight back only when they or a packmate are hurt, and aggressive ones attack on sight. On top of that are four traits, courage, aggression, patience and pack loyalty, tuned by species and kind and rolled a little differently for every spawn. Gentle creatures will lean skittish, and the ones further out will hunt in packs and wait for an opening.

Rewards follow the curve. A kill is credited to everyone who did a fair share of the damage, not only the last hit. Its experience goes to the combat discipline you fought with, scaled by the level gap between you, so a creature far below you is worth little and one above you is worth more.

From model to game

Each monster arrives as a dense textured model: about a million triangles with an 8K colour map. The Blender pipeline we built for world props turns it into a game mesh in one unattended pass:

  • It sets the creature's real size and a shared frame: the origin at the centre of its base, the front along +X and up along +Z.
  • It reduces the mesh to a Nanite budget set by size: 30,000 triangles for a small creature, 45,000 for a medium one and 60,000 for a large one or a humanoid. It never collapses edges across the model's own UV seams, which smears the texture.
  • It bakes colour, a packed ORM map (ambient occlusion, roughness and metal) and a DirectX normal map from the full-detail model onto the game mesh, with the occlusion's reach scaled to the creature.
Sunderward, a towering stone figure with a shield arm, alone in the Blender viewport on a grid floor
Sunderward's game mesh: 60,000 triangles, down from 958,584

All fifty-two took about half an hour on one GPU, two at a time. Rigging is next. As with the goblins, each body plan will share one skeleton with joints measured from the mesh, so one motion library can serve every creature built on it.

Built for a crowd

  • Together the fifty-two game meshes come to 2.3 million triangles, down from 50.4 million in the source models: 4.6%.
  • Every baked mesh shares one master material, with an instance per creature, so fifty-two monsters add no new shaders to compile, stream or switch between.
  • Maps are sized by texel density: 1024 px for creatures up to about 1.2 m, 2048 px above. The ORM map is stored as masks and the normal map as BC5.
  • Nanite streams the geometry by screen size, so there are no hand-made LODs to keep in step.

What we learned

Generated models don't all face the same way. Most face the glTF default, but 22 of these 52 were modelled side-on. Before baking, we render every model from a three-quarter view and from straight above, and read its front from where its head is. Our first top-down renders came out turned half a circle. We caught it because the lizards' heads pointed backwards, and corrected the reading before anything was baked. Two still came out backwards (a curled pangolin's tail looks a lot like a head), so the final check is the baked mesh's own front view.

Tell us

Next come rigging by body plan, placing each biome's natives, and gathering from living creatures. If you've played a game where gathering from a living creature felt good, what made it work? Tell us at hello@worldofaccords.com.

‹ All news