Creation v1.0.0-alpha.23 — coins and vendors, permadeath that means it, and the monsters that were never coming

releasecombatcreaturesworldmodding


v1.0.0-alpha.23 gives the game an economy. The headline is coins and vendors — sell the fish and junk you’ve been hauling around, spend what you earn on goods at a shop. Around it are two changes that alter how the game is played: Condemned worlds are true permadeath now, and — after every release since the alpha began — hostile mobs actually spawn. It turns out they never had. Not once, in any world, including the Nightmaw that stalks the night.

Your worlds and saves carry over. Two balance changes are worth knowing before you load in, though, because both make the world meaningfully more dangerous: armor no longer makes damaging terrain harmless, and the Kindling only heals you when it actually hits something. Details on both below.

Coins and vendors

There’s something to do with the fish now. A new vendor shop trades in coins:

  • Sell what you’ve gathered. Shift-click one of your own items in the trade panel to sell it. Fish and junk finally have a use beyond filling the almanac.
  • Buy what you’d rather not craft. Vendors stock building and decoration goods — Buy takes coins off your balance and puts the item in your pack.
  • Coins are yours, not the world’s. Your balance is per-character and saves with you.
  • No gear, ever. Vendors deal in convenience goods only. You can’t buy your way to a weapon or a set of armor, so progression still runs through playing the game.

Interact with a vendor to open the trade panel and both halves work from there.

Condemned means it now

Dying on a Condemned world used to wipe your inventory and put you back on your feet. That’s over. A death on Condemned ends the run: a game-over screen replaces the respawn prompt, and the save is locked as fallen — it stays in your world list marked ”— fallen”, kept for the record, and it will not open again. If you want a difficulty where a mistake costs you everything, this is now that difficulty in full.

The monsters were never coming

This is the strangest bug we’ve shipped a fix for. The default server config only ever capped Neutral creatures — the hostile group was never enabled — which meant that no hostile mob had ever spawned naturally in any world, in any release. Every hostile thing you’ve fought was placed by a structure or a script. The Nightmaw, built to stalk you at night, has been sitting in the game unable to appear on its own the entire time.

Hostiles now spawn wherever their rules allow. Nights are going to feel different. If it’s too much (or not enough), server operators can tune the caps through mob-limits in server_config.yaml.

Armor stops covering for you

Two corrections that had been quietly removing most of the danger from the world:

  • Flat armor no longer cancels hazard damage. A single piece of flat armor was enough to zero out all continuous contact damage — lava, spikes, thorns, every damaging surface in the game became completely harmless. Flat armor soaks discrete hits now. Percent and typed resistance still reduce hazards, so hazards fade as you gear up rather than switching off the moment you equip anything.
  • The Kindling has to connect. Its heal fired on every swing, hit or miss — so swinging at empty air on nothing but a cooldown out-healed every environmental hazard in the game. It now heals only when the strike actually damages something. Healing during real combat is unchanged.
  • Poison and burn respect your difficulty. Damage-over-time was ignoring difficulty scaling entirely, so a Dormant (pacifist) player still took full damage from it. It scales like every other hit now.

Text that doesn’t vanish

Non-ASCII characters were being dropped or jammed into their neighbours — accented player names, non-English chat, and symbols like °, ×, and em-dashes, across chat, nametags, menus, and input boxes. That’s fixed, and anything still unsupported now draws a visible placeholder instead of silently disappearing.

Smoother, lighter, and a few fixes

  • Moving into new territory costs less. Streaming into unexplored land, crossing into a new area, and teleporting all interfere much less with everything else the server is doing.
  • Idle worlds stop growing. A running server now reclaims memory from areas nobody is in, on a steady schedule — previously a world with idle players held on to everywhere it had ever generated.
  • Chests close properly. A chest could stay drawn open after you’d closed it, and sometimes look like it was replaying its opening animation, with nobody actually in it.
  • Steam servers honour the per-IP cap. max-connections-per-ip now applies to Steam P2P as a per-account limit, so one account can’t take every slot on your server.
  • The macOS bundle now ships the third-party licence notices and the modding policy next to the EULA.

For modders

  • Lockable chests. A chest can be owner-locked — it binds to the first player who opens it and only they can use it — or key-locked, sealed with its contents hidden until someone holding the matching key opens it for good. That second one is built for dungeon reward chests. Both are enforced by the server, not the client.
  • Hazard wards. A region can be gated behind survival itself: a zone, a floor block, or an ambient storm that is lethal to enter — bypassing armor entirely — unless you hold the matching capability, which negates it completely. Set ward-capability on an AoE zone, a block’s contact-damage, or a damage-over-time status effect. It’s a clean way to lock an area behind an item rather than a wall.
  • Structures in the void. Sky-island worlds can hang authored structures in the open air between and beneath their islands with spawn-type: void. Register it on a sky-island feature — its altitude band picks where the set-piece hangs — and pair it with placement: landmark for large arenas.
  • world:get_players_in_radius(x, y, radius) returns the players near a point as entity handles, so a weather or ambient hook can push, buff, or ward-check them instead of only damaging an area. It reaches every player in range, so it’s correct in multiplayer.
  • Custom empty-slot markers stick. Taking, swapping, or grabbing the last item out of a container with a custom empty-slot marker was writing a generic empty slot back instead of the container’s own.
  • Ore altitude defaults to unbounded. An ore that restricted itself by depth but left its altitude range unset was silently confined to a band above sea level and generated nowhere underground. No shipped ore was affected, but a mod’s would have been.
  • A sky-island biome listing an ore with no registered noise generator now logs and skips that ore instead of taking the server down.

What’s next

alpha.23 adds a reason to keep what you find and a difficulty that will actually take it all away — and, at long last, puts monsters in the dark where they were supposed to be all along. With hostiles finally spawning on their own, the world has the pressure the last several combat releases were built for. Thanks as always to everyone playtesting with us; keep the reports coming.