In this update3
Full notes
Full MoteMancer update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Fixes
- Gameplay
MoteMancer changes
When I first implemented underground belts, I made them a fixed length of three underground spaces because it was easier while I was still figuring out conveyor belt code in general. Over time, though, I realized the fixed length had a number of advantages that were worth preserving.
The primary downside is obvious - you don't have infinite freedom to squeeze a variable-length underground into a right space. A close second is that when you get future undergrounds, getting an extra few tiles of distance feels like a meaningful upgrade. Those are compelling advantages, but I'm not convinced they're universally better.
With fixed length undergrounds, you only need one structure instead of two. In a puzzle-forward game, the piece itself becomes a known quantity and something you plan around. Every underground behaves the same way, regardless of whether you're routing roots or streams. Also because of the nature of hexagonal footprints, 3 underground segments nicely crosses many of the common footprints you build with.
Lastly a note about cursed-belt-weaving: In games where the input and output are separate, you can create different lanes of undergrounds by keeping the types consistent, but that is also the limitation. Slow must match with slow, fast must match with fast. If you need to change the speed of one of the belts you end up breaking your chains. On the flip side, when you are always dealing with a fixed underground length, you can start weaving right away if that is your choice, because the inputs and outputs are always consistent.
Variable undergrounds aren't inherently better or worse. They simply optimize for different things, and those tradeoffs are worth thinking about.
Grease the Wheels
I would actually argue that the main friction point with undergrounds is always how easy it is to place them. One benefit of variable undergrounds is when you cross a gap with a belt, you can easily detect the moment you come out the other side and automatically place the entrance and exit. That's much harder to do with fixed-length undergrounds. That said, it's still a problem worth solving.
There are many ways to approach this problem and frankly the first few all had side effects i wasn't thrilled about:
In the case where you try to place after a 1 tile gap, you could skip the mouse forward to the output space, but that would be jarring, you don't want to wrest control from your player unless there's a very good reason.
You could also just immediately place the underground down with an exit in front of your mouse, and basically ignore your mouse for the in between cells for your belts. And honestly, I think it would feel like a bug.
The best solution didn't come from me at all. It came from a player (shout out to @bluegreen!) - what if you placed the underground as far Back as you could? This would maintain the player's mouse position, and solve the 90% case that people are really looking for - just dragging a line and having the underground take care of itself.
So that's exactly what I did.
Nitty Gritty
Starting down this path also led to a few additional cool things. The logic is simple, if you have a belt in hand and cross into a tile that you cannot place in, set an auto-underground flag to true. When you get back to a valid spot, look back four tiles to see if there is a belt there with the same direction. If so, place an underground back there (which exits at your current position). Et voila!
The cool thing about this is that if there is not a valid belt back there but there is one slightly further forward, it works seamlessly. So you still get the benefit of automatic undergrounds from any position, it's just that the game will try to do it at the first available option to do so.
Some additional QOL - if you don't have any undergrounds in your inventory, the game will automatically place a blueprint ghost there for you, and since MoteMancer snaps real objects to ghosted orientations, filling it in later is easy breezy.
Currently this tech works for Saltways, all Streamways (all three flavors leverage the same Underground Stream), and even Mana Roots to Burrow Roots, which have their own logic for detecting structures that have roots under them versus not.
There's only one edge case that I am not yet sure about, which is what to do when a Saltway crosses a Saltway. Right now a newly built Saltway can override an existing one (with a new orientation), but if we assume the player means to put an underground there, they can't mutually co-exist. One option is another hotkey to toggle the behavior but there's very little real-estate left there to be honest. This one feels like a place where player feedback is going to tip the scales, both sides are easy to code.
Closing the Loop
I'll be pushing this feature live later today. I have a few extra bug fixes that I'd like to sneak in alongside it, but look for any build 0.5.036 or newer for the new behavior. A lot of this work is coming from looking at Streamway and Saltway aesthetics, fast on the heels of cleaning up shaders for Air Power. That'll have to be a topic for another musing though.
Happy Monday, Mancers!
Back to the Lab 🌿 ~CyanAvatar
Source
Changelog.gg summarizes and formats this update. How we read updates.
