Sunday 31 March 2024

Sixty Years In Space: Devlog 4

One of the great joys of maturing as a game designer is that I've got very good at making complex systems as simple as possible.

But it turns out when you decide to make a realistic TTRPG in space, all the rules you need to play end up being far more complicated than you'd otherwise think. For instance, if your crew is spending years travelling between planets, and you want them to care about what happens back on Earth, you probably want them to have family members and loved ones back home who are affected by events on the planet: disasters, pandemics and war. And the crew's parents will be aging and inevitably dying while the crew are away. There's several ways you could do this: but it'd seem weird and challenging to have an event where the player is suddenly forced to invent and immediately care about a bunch of people that their crew would care deeply about - so it makes sense to at least generate some information about the crew's relatives, friends and lovers during the character generation process - just like every other TTRPG does.

Sorry? What do you mean no other TTRPG has rules for generating a character's family?

This is not entirely true. I'm sure there are TTRPGs out there that do this. Feel free to list them in the comments. But I've got a number of games on my shelves and have experience with a whole lot more and apparently in all of them every character springs fully formed as an orphaned waif who has no connections to any other human outside of the party of adventurers they start with.

So even rolling 1D6 for how happy your childhood was, a few dice to see how wealthy your parents are and a few more to see how many siblings you have and where in the order of siblings you fall is more effort than 95% of TTRPGs put into family dynamics and of course every additional step in character generation makes it more complicated: enough so that the game apparently breaks most AI that attempts to parse it.

The whole system is already snowballing complications before we've even left the launch pad.

Speaking of which, despite leveraging High Frontier's rules for interplanetary travel, there's a whole lot of rocketry that the board game doesn't cover that I've had to include. There's a great blog post on suborbital hops I used to calculate the fuel requirements and travel times for one of the two possible suborbital travel methods using rockets, and the other required one of the few times I had to consult Atomic Rockets to help me solve the necessary equations (link goes to the seal of approval page for Sixty Years in Space).

I'm a game designer, not a physicist, Jim.

And finally we arrive at surface travel on a planet.

I've possibly spent more time writing the vehicle rules than anything else in the game: because they have to deal with varying atmospheric densities (which turns out is different from air pressure), local gravities and surface conditions, this again becomes much much more complicated than I'd like.

And then there's encumbrance systems. Let's state up front: there are no good encumbrance systems in TTRPGs and then also that Sixty Years In really needs one.

The game says that it really cares about mass. You're light minutes or hours from anywhere that can replace missing parts, but we're already fudging the game to say you can 3D print virtually anything - it's one of the premises of the High Frontier universe - but you can't just magic up mass out of nowhere, so when you want to walk 10 kilometres over the Lunar surface to mine an ice deposit, you're going to be carrying everything you need on your back. (It turns out you can't 3D print fabrics, so that space suit better not tear too often).

I'm rewriting the load system for the third or fourth time, and I think I'm finally happy with it.

This is a complicated decision. The game is already in early access and people will be reading and internalising the rules so it is generally a bad idea to immediately turn around and say "oh those rules you learned - throw them out of your brain please". I've worked this way with board game testers, and it literally burns people out - they stop playing your game and sometimes don't ever come back.

So this new version of the rules has to be exactly the same or very similar to the existing rules - which it is - but it has to be a whole lot more intuitive and expressive - and luckily it also is those things as well.

There's a lot of parameters that the encumbrance system has to model, but the biggest one is low gravity. Lowering gravity means that you can carry more stuff, because it weighs less, but the stuff you're carrying still slows you down, because acceleration is force divided by mass, and low gravity doesn't make you stronger. The game handles this by having a permitted load, which increases with lower gravity, but then a separate penalty based on load applied to things like net thrust.

At the moment, this is summarised on a load table, which gives you a bunch of slots, where each item has an appropriate slot it fits into, and the whole thing is entirely driven by something that makes no sense and you have to look up every single time. Then I have to special case balanced and fitted items, which affect your permitted load less, and the rules got even more complicated (but still as simple as possible).
I hated this so much, I completely rewrote it to go back to a simple you can carry so many mass points (either centitanks, WT or a new O2t point scale) and just subtract items from this mass amount when you need them, but it turns out I hated this even more. (I've kept the idea that you can manifest items just-in-time rather than having to state what you have in advance - and that'll directly translate into carrying ink and 3D printing items when you need them for the High Frontier 4All compatible rules).

And then I had an idea.

Here's the new load table.

Each square represents (for a crew member) 4 kilograms. You cover up squares as you load up equipment and your load number is equal to the highest number you cover up. Equipment slots are represented by multi-square items: B for 8 kilogram slot items through to F for 125 kilogram slot items.

If you cover up a light grey grid, you get a -1 movement modifier (net thrust minus 10 in the original table); a medium grey grid means you have a -2 move modifier and a dark grey grid means you have a -3 move modifier.

The new load table is exactly mathematically equivalent to the old load table if you arrange your items correctly on it, but it's a whole lot more intuitive. The downside is it only goes up to load 16 but we'll deal with that later.

Except here's the new load table.
Now the load table incorporates the notion of balanced loads. It's mathematically equivalent to the old load table plus the "balanced load" special case rule which let you carry more balanced items -- each only counting half as much to the permitted load but the full amount to the move modifier. You can see how for a flatbed truck or a train, we could also treat this as spatial information and have items which can fall off, but don't improve the overall performance of the vehicle because there's an unbalanced item sitting elsewhere on the vehicle.

Except here's the new load table.

This load table is approximately equivalent to the notion of fitted loads - things like spacesuits which fit on your body and therefore a lot closer to your centre of mass -- and which count only as their actual mass for permitted load (I didn't tell you that the power series in the load table doubles the load mass for every 4 increase in load). But to do that, we need to have space suits load templates which fit as closely as possible to the "astronaut shape" drawn in the lighter greys on the table.

We've invented a paper doll inventory system from (close to) first principles.

This will all be incorporated (once it's tested) in update 2, but I've given you enough information to start using it now if you want to.