Creation v1.0.0-alpha.12 — flying mobs, falling sand, a big config cleanup, and a deep memory pass


v1.0.0-alpha.12 is our biggest cleanup-and-polish release yet. Three things stand out: mobs can fly now, sand and gravel fall when you dig out from under them, and the modding config format got a top-to-bottom consistency pass so the same idea has the same name in every file. Under the hood there’s also a deep memory-and-performance reduction on both the client and the server, and the usual long tail of crash, save-safety, and rendering fixes.

One heads-up before you update: this release is a hard break. Content identifiers are now lowercase snake_case (Creation:OAK PLANKSCreation:oak_planks), and as a result existing world saves will not load — you’ll want to start fresh. Since the game is still pre-mods there’s no wider impact, but it’s the first release that doesn’t carry worlds forward, so we’re calling it out up front.

Mobs can fly

Mobs can now leave the ground. A flying mob ignores gravity, holds its altitude, takes no fall damage, and pathfinds through the air — flying around obstacles toward its target the same way a walking mob routes around them, at its own configurable speed. This is the groundwork for the aerial bosses we’ve been designing, and it’s available to modders today (movement.flying: true, or a script that toggles it mid-fight).

Sand and gravel fall

Sand, red sand, and gravel now obey gravity. Dig out the block beneath a stack and it drops straight down, settling when it lands on something solid — and a block that falls into water erases it. Falling only kicks in when you disturb blocks during play, so the natural overhangs and sand shelves that world generation creates stay put until you actually mine into them. Modders can opt any block into the same behavior.

A game full of new touches

  • Items can have a display name. An item’s readable name is now separate from the identifier recipes and drop tables use — so a wooden_stick can show up in your inventory as “Sturdy Branch” while everything that references it keeps working. Long item names in tooltips now wrap instead of running off the edge.
  • Permanent interactables. Signs, monuments, and fixed structure pieces can be marked unbreakable — immune both to being mined and to having the block beneath them knocked out.
  • Doors look right. Open and closed doors were showing each other’s sprite; an open door now actually looks open.
  • Decorative lights glow again. Objects that light themselves from a script — like the twinkling lights on the Christmas tree — were rendering dark, and now shine as intended.

A sweeping config cleanup for modders

The headline modding work this release is a single, consistent config format. Over dozens of files, the same concept had drifted into different names and shapes; this pass unifies them. It’s a large set of breaking changes, but since the game is pre-mods there’s no known impact — and it means the format you learn now is the one that sticks.

The big strokes:

  • Everything is snake_case. Content identifiers (Creation:oak_planks) and config enum values (tool-break-types: pickaxe, spawn-type: cave_floor) are lowercase snake_case throughout. Texture and structure files are named to match. This is the change that resets saves, above.
  • One name per idea. Fields that meant the same thing in different files now share a name, and fields that were spelled the same but meant different things were split apart so they can’t be confused. Range bounds are min-/max- everywhere, per-frame timing is always frame-time-ms, offsets are x-offset/y-offset, a structure’s spawn probability is spawn-chance like a tree’s, and the “scale” of any noise generator is noise-scale.
  • One way to write a Lua hook. Every config now declares its script hooks in a single scripts: map keyed by event name, each pointing at a .lua file that returns its handler — replacing the four or five different syntaxes that had accumulated across configs.
  • “Mount” everywhere. The rideable-creature system is now consistently called a mount in config, code, and docs — no more “vehicle” in one place and “mount” in another.
  • Sensible defaults. A block with no listed break tool now breaks with any tool or a bare hand (it used to be unbreakable), so you only list tools to restrict them. Bare content names resolve to your own mod everywhere, so you no longer have to prefix your own content.

Typos stop costing you silently

A recurring theme across recent releases, pushed further: a misspelled field name now fails the entry that declares it, in every config file, with a log line naming the bad key and where it was. Previously some files skipped the whole entry, others quietly loaded it minus the field, and a few nested blocks ignored the typo entirely — which is how a mistyped key could leave a block dark, a slab full-size, or a script hook that never fired. There’s now one rule: if something’s missing, the startup log tells you why. Mismatches between an item’s type and its info block, an empty seat list on a mount, and a manifest key typo that used to skip an entire config are all caught the same way. And the modding docs got a full accuracy sweep — corrected reference tables, two new cross-cutting guides (schema conventions and the mod manifest), and honest notes about the few places strictness doesn’t yet reach.

A lighter, faster game

This release does a lot of quiet work to use less memory and less CPU, on both ends. You won’t see it directly, but longer sessions and bigger worlds should feel steadier:

  • Less memory held. Loaded chunks, the world-generation biome map, sprite sheets, and light data all pack far more tightly now, and sprites decode only when first drawn instead of all up front. Together these reclaim hundreds of megabytes of RAM and video memory across a running world — most noticeable in tall or sparsely-built worlds, and at high render distances.
  • No more per-frame lighting cost. World lighting is no longer re-sent to the graphics card every frame; it updates only when it actually changes, dropping to near-zero cost when you’re standing still.
  • Servers scale better. Player lookups are now constant-time instead of scanning the full roster on every gameplay packet, and per-tick work allocates far less — so busy, populated worlds cost noticeably less.
  • No slow leak. Entities in chunks you’ve wandered away from are now saved to disk and dropped instead of piling up in memory for the whole session, then restored when you return.
  • An accurate frame cap. A 120 or 144 FPS limit is now respected instead of being quietly floored to roughly 64 FPS on Windows.

Your saves are safer

  • Interrupted saves don’t destroy data. A crash or power loss mid-save can no longer wipe the mobs, dropped items, and placed objects in the chunks being written — the new data is committed before anything old is removed, so a broken save leaves the previous copy intact.
  • Smoother autosaves. Writing chunks to disk no longer stalls the server’s update loop, so the periodic save causes far less of a hitch — most noticeable when a lot of the world is loaded. Saves also stay cheap the longer you play rather than piling up with every area you’ve visited.
  • Fewer crashes. A crash in a decorative-object script no longer takes down the whole server, and a shutdown race on the main menu no longer crashes the client on a button click.

More fixes you’ll feel

  • Blocks that change on their own now render. Falling sand and gravel, flowing fluids, and edits other players make in multiplayer were sometimes silently ignored on your screen, leaving stale blocks — they now update correctly.
  • Textures don’t bleed between worlds. Leaving one world and entering another in the same session could leave the wrong texture cached — most visibly a chest rendered as a tree, but the same flaw could mismatch mobs, health bars, backdrops, and icons. The client now clears world textures on load.
  • Particles fill the screen. Ambient effects like torch smoke now emit across the whole visible area instead of a small patch around you, and no longer flicker on and off as you move.
  • Snow drifts the right way. A scrolling layer set to move left now actually moves left, and multi-layer menu backdrops no longer scroll several times too fast.
  • Steadier torchlight. A torch’s glow now sits in the same spot whether its area streamed in from a distance or you placed the block right in front of you.

What’s next

alpha.12 clears a lot of debt — a config format that’s finally consistent end to end, a real dent in memory and CPU use, and saves that survive a bad shutdown — while adding flying mobs and falling blocks to build on. Flying was the groundwork for the aerial bosses we’ve been sketching, and that’s where a lot of the next stretch is headed. As always, thanks to everyone playtesting with us — and this time especially, thanks for starting fresh with us on the new save format. Keep the reports coming.