[52] Summer Progress And Fall Foundations
Antorum
08/27/2025, 06:45pm
63 views
I'm still getting a lot of Antorum work done this summer, but it's been slow going as I try to avoid burnout and enjoy some time away from the screen. Here's a look at some of the recent progress across gameplay systems, scripting, art, and world-building.
Monorepo
The project originally started with five separate Git repositories: server, client, editor, engine, and assets. At the time, I thought this might make things cleaner. I leaned on submodules for the engine and assets, but that just offered more friction than benefit. It also made it annoying to keep versions in line with each other and work on larger features that spanned multiple projects.
Now that Unity's tooling is better, and with my recent push to support external asset bundles (see dev log 51), I went ahead and merged everything into a single repo. All commit history and authorship was preserved, and I also transferred all issues to the new repo. The result is cleaner, easier to work with, and now sits at 1,774 commits. Not bad.
Improved Lua Scripting and Interactions
Scripting in Antorum has always been pretty experimental. But I spent some time improving the Lua integration, and now it's a bit more robust. Notable changes:
- Lua modules can now be defined in a shared include folder and reused across scripts.
- A player-init.lua script runs when players log in, which I’m using to manage tutorial flags and state.
- Player spawn points can now trigger attached scripts when a player spawns there. This helps with one-time intro sequences or scripted encounters.
- Entities can now have a ScriptComponent that responds to item usage. This powers things like inserting a keycard into a scanner to trigger logic.
- A TagComponent was added to help identify or group entities from within scripts.
These allow for fine-grained behavior control, defined entirely through external Lua scripts, without modifying core engine code. For example:
- An Orientation Pass Scanner in the tutorial checks your completion state and opens a door only when conditions are met.
- Item-on-entity interactions now support things like spawning monsters, unlocking doors, or triggering dialogue.
- Because it’s data-driven, developers and modders can define their own interactions without writing any Rust, or shipping a new client & server build.
It’s still early, but this moves us closer to an Antorum where the world feels responsive and fun to interact with.
Improved Character Creator
I revisited the character creator and gave it a few overdue improvements:
- Added several new hairstyles and facial hair options.
- Improved the lighting and layout of the scene.
- You can now click and drag to rotate your character preview.
- A new developer mode lets you build characters and export them as entity `.toml` definitions.
- You can mess with the character creator without being connected to a server.
It's significantly more usable now.

Intake Facility 45
Intake Facility 45 is the starting location for newly arrived players. It serves as a tutorial and orientation center, perched on a rain-soaked, fog-shrouded coastal cliffside clearing surrounded by jagged sea rock. Isolated from the mainland, the facility processes Offworlder immigrants arriving from the Triglav via orbital shuttle.
This is effectively version 2 of the tutorial. Players learn the basics of movement and interaction, then head into training and orientation halls for specific mechanics. It’s been fun to build and test, and there’s still plenty to flesh out.

Deer
This came from a community poll in the Discord! Deer now roam the Foreston area. There are doe and stag variants, and they make the world feel a little more alive.

Other
- Upgraded to Unity 6. It went surprisingly well.
- Fixed the water shader so it interacts properly with fog.
- The Editor remembers the last file you saved and opens it on launch.
- Fixed character combat stances and transitions.
- Added an admin command to `die`.
- Improved the `tp` admin command to support x, y coordinates in addition to predefined points.
- Added support for varying roof heights (useful for tiered structures).
- Improved the Tile Paint tool for better usability.
- Navmesh and tile walkability now support a “no vehicles” flag.
- Vastly improved the world map UI.
- Only the roof of the structure you are in obfuscates; others remain visible.
- Added an eyedropper tool to the editor to speed up terrain tile painting.
- And a bunch of tiny fixes I didn’t write descriptive commit messages for.
RustConf 2025
As a side note, I'll be floating around RustConf this year. Say hi if you want to meet and chat.
Thanks for reading.
- Declan (@dooskington)