The greybox flagships get their identities

July 11, 2026 · the Playpit devlog

When Kryve and Korveth launched, we said the same thing about both: deliberate greybox — the game came first, the art pass comes later. Later is now. Both flagships wear original identities, and getting there taught us a pattern we’ll use for every game from here on.

Korveth: the glass steppe

Korveth’s war now happens somewhere: a steppe of vitrified basalt where korvite veins wander the glass and each guild’s dust settles toward its Bastion. The Bastion itself is a plinth-and-pylon fortress with a breathing guild beacon, the Forgespire is a proper smelter spire, and the korvite seams sprout crystal clusters that visibly shrink as your Drovers drain them — then die to husk glass when the seam gives out.

Every unit got a chassis kit: panniers on the Drovers (watch the hauled crystal ride the tray home), swept blades on Spikers, a rail and banner mast on Lancers, a faceted shield wall on Bulwarks. Battles draw their own fire — rail tracers, muzzle heat, shatter bursts of flying glass — and because every effect fires off the same deterministic sim events the audio rides, a replayed battle report re-fires its own fire, beat for beat.

Kryve: the killhouse

Kryve’s arena is now Station Kryve — a floodlit concrete killhouse at night, one warm sodium key light against a cool fill. The range markings on the floor aren’t decoration: the deploy ring, the squad’s spawn pads, the hazard hatching at the stair and ramp approaches are all computed from the arena’s own collision data, so the paint always tells the truth about the geometry. The squad became graphite range drones with burning unlit visors, muzzle flashes and bolt tracers answer every shot, and each frag ends in a shatter burst and a signal ring.

The pattern: art is render-only

Here’s the part we care about most. Both engines under these games are frozen contracts — the FPS engine’s collision and bot cores, the RTS engine’s bit-exact deterministic simulation. An art pass that reached into either would be a regression farm. So neither did.

Both passes are a game-owned art layer built entirely on each engine’s documented render surface — the scene and renderer escape hatches, the public reads, the same event feeds the games’ audio already rides. The killhouse cladding wraps the engine’s collision boxes a couple of centimetres out, and the collision surface stays authoritative. The drone shells enclose the engine’s training dummies instead of replacing them. Korveth’s chassis kits mirror the engine renderer’s own interpolation and fog rules, so an accent can never drift off its pawn — and nothing the art layer does can enter a command or the match hash.

The proof is the same suites that guard the cores: they all stayed green, and both games’ render tests grew — they now assert the engine’s own meshes still render underneath the art, that shells track their dummies to the exact tick, and that a match draws exactly as many muzzle flashes as shots fired.

Render-only art turned out to be a bug-finder, too. Staging Korveth’s Bastion shell exposed that the fog-of-war overlay had rendered mirrored north-to-south since the day it shipped — invisible on symmetric staging, glaring next to a fortress. One render-only flip fixed it; the simulation never knew.

Still zero shipped assets

Both identities are 100% procedural — canvas-painted textures, code-built geometry, one SVG path that draws each game’s emblem in the HUD and on the share cards alike. No downloaded packs, no stock art, nothing to attribute. Same rule as every Playpit game since the first voxel engine: if it renders, we made it.

Play Kryve → · Play Korveth → — the killhouse and the glass steppe are open.


← more devlog · play the games