[65] The Big Asset Shrinkening
Howdy. It's been a while since I made a post that wasn't just some boring patch notes. Things have been super busy, and nobody is playing the game anyway, so I've just been heads down focusing on fixes and improvements.
World Scale
One of the major things I had to fix was the scaling of the game world. Everything was twice as big as it needed to be. At some point in the last few years I set the size of each tile, just a constant in the terrain code, to 2 meters. I guess I was in the weeds working on the engine and didn't think about it. From then on, everything got scaled to fit that, so in Unity space the whole world was twice the size it should have been. That quietly affected everything that assumes real-world units: shadow casters, LODs, audio ranges, and so on.
Fixing it was pretty tedious... Setting the constant back to 1 was easy enough, but then every prop and entity position in the world had to be corrected, and THEN all of it still had to be rescaled. I wrote a script to handle that in Unity, so the baked addressables came out at the correct size. Moving forward, I just have to make sure our source meshes are authored at the right scale to begin with.
What Even Is Antorum?
I've also been focusing on content, and on the real meat of the game. What is Antorum? Why is the player there?
Antorum is a rugged frontier planet. Offworlders are those who have been selected to depart from the Triglav, where the quality of life is much higher, depending on who you ask. The planet has a few developed settlements and factions, but it is still a lawless, dangerous wilderness. Offworlder pioneers are meant to pave the way for the rest of the upper class on the Triglav, and for those in deep cryo sleep waiting for their new home.
Life Stuff
I've been moving (goodbye Seattle!), and I've been very busy with my day job. As a reminder, I work on Antorum part time. Every day after work, for years. I try not to have any "zero days". I try to keep moving.
The games industry is in an incredibly tumultuous time. I feel like I'm also losing some part of my identity as a programmer. All I can do is keep working and pouring my soul into my project. In a world of AI slop, I am glad that Antorum is uniquely mine. But a lot of the satisfaction of building just isn't there anymore. I'm probably also just burnt out.
What Next?
I'll keep building the world, writing quests, and fixing bugs. The first main settlement players find themselves in is called The Heap. I pretty much nuked it and have been rebuilding it from scratch. It needs a lot more work.
Changelog
Here is everything else that has landed since the last patch notes.
Gameplay
- Accuracy rolls and combat experience now actually scale with your stats and your target.
- Weapons have real swing speeds, and each weapon runs its own swing timer.
- You now gain stats for every level you earn, and a miss from a different player can no longer steal a kill.
- Hits that land for your maximum damage are (internally) called max hits now, rather than critical hits. I don't know why I named them that.
- Resting (sitting in a chair to restore health) is much faster.
Client
- Teleports hide behind a load screen.
- Dead connections are detected and disconnect reasons are reported instead of hanging silently.
- Removed some client-side delay on your own movement.
- Terrain chunks are greedy meshed and the mesh cache is bounded to the visible region, which cut memory usage and draw calls a lot. I might make a dedicated post about this soon.
- Asset bundles no longer re-verify their CRC on every cached load.
Stability and Security
- Closed several item duplication bugs.
- Every inventory mutation goes through one path now, so a partial add cannot be silently ignored.
- Quest turn-ins are now atomic.
- Removed a pile of remote crash vectors from packet handling.
- The server handles SIGTERM and flushes every player to the database on shutdown.
- The periodic autosave persists full player state.
- SQLite runs in WAL mode with a busy timeout.
- A new backup daemon takes verified periodic database backups.
Editor
- World saves are atomic, there are rotating autosaves, and a failed save no longer reports success.
- Destructive world actions ask for confirmation, and per-world state resets when you load a new world.
- The undo stack clears when the world is replaced.
- Tool hotkeys are ignored while you are typing in a text field.
- Fixed map blip deletion, a patrol path drawer leak, and empty space not being editable.
Site
- The homepage has a hero image carousel.
Thanks for reading.
- Declan (@dooskington)
