…in space!

Usagi_02I remember my wife bought me a copy of Space Usagi in the distant past and I was very excited — after all, I love science fiction and I love Usagi Yojimbo! And I read it and I was bitterly disappointed.

You see, what they did was just paint the science fiction on. They had ray guns and fought aliens on alien planets, but the tropes were largely the same as the non-sf version and the imagery was the same but with space-bits glued on. Japanese fortresses hovered in space. Space armour looks remarkably like samurai armour. They have laser katanas.

This felt like, well I want to say “betrayal” but that’s pretty harsh, but I did feel betrayed. We have a masterful storyteller and artist and it feels like they just didn’t put the work in to really adopt an alternate genre. They just painted the old one a new colour. There is no attention to how technology changes things. There’s no effort to understand the differences between Edo era Japan and some distant future. And so the stories are completely transplantable: there is nothing new or exciting here other than amusing new space art.

This lack of intentionality happened a lot in early popularized science fiction as well — surely we all recall mentions of technologies like “space pills” and “space wrenches”. This just lacks effort and it’s kind of insulting.

So anyway, what I never ever want is for my science fiction gaming to be that. When I choose science fiction for play I am not choosing it because I want space ships and lasers. I am choosing it because I want to explore a world impacted by the fact of space ships and lasers. It’s not enough to say you can easily change your physical body, growing a penis or a vagina at will. You have to address how this makes the place different from where we are now. And, at least as importantly, how it’s the same. Or at least how it’s relatable, how it’s an extension of where we are now. An important question I want to ask is “how did we get from here to there?”. And what were the costs?

This is why the cluster generation system of Diaspora (and the upcoming Diaspora Anabasis) is what it is: we create random solar systems with various technologies, resources, and environments and we ask at least these questions of you: what does this society look like given its attributes? How did it come to this? How does this affect its relationship with its neighbours?

My thinking was that if you start with making sense of these things — and likely making sense of apparent impossibilities like very low technology and very low environments — then your stories would necessarily start in a place that is not just a paint job over a place you know already. It might wind up caricatured that way (we all get a little lazy) but it doesn’t start that way and you are not invited to imagine it this way. You have all the cues you need to wonder about how technology affects a world (and not our world) and how it creates power imbalances and how those gradients affect every other system.

And I think this is the heart of the paint job problem: when the setting begins as something totally familiar but with lasers, there is nothing to grab on to and wonder about. If you’re even slightly lazy then you are stuck at the bottom of a false minimum, a place that’s easy to get to but not nearly the best you can do.

Thermodynamic_stability_EN.svgAnd since — oh! shiny! — we’re on to false minima…. A false minimum is a low spot on a curve that is not the lowest spot but is surrounded by increasing values, so if you are using a simplistic algorithm to try and find the minimum point on the graph, you can get stuck there. Sometimes they are stable (there is no easy way out) and sometimes they are unstable (a minimal effort would need to be put in to find a lower minimum. So you have points that are “metastable” (in thermodynamics, anyway) which are false minima — you need a lot of energy applied in a direction you don’t want in order to get free. You have points that are unstable (curvature around them slopes flat or down) and require only a small amount of energy to go one way or another. And you have stable points where there is no lower to go no matter how much energy you spend.

We think of low as bad but low here is good.

The reason this gave me an oh shiny moment is because it might be the case that our universe is in a metastable vacuum state — that is, the vacuum of space might be at a very low energy state but not at the lowest possible energy state. We call this a false vacuum because the real one is at the lowest energy state. If this is the case, that we are in a metastable universe, then it is possible for changes in local energy to push us out of that trough to plummet down to a lower energy state — possibly a stable one but also possibly just another false minimum. If this happens then we get “bubble nucleation” and the laws of physics may change (a little or a lot) in a bubble that expands from that point at the speed of light. And at the speed of light means there’s nothing you can do about it — you will literally only know about it when it happens to you.

The effects of a shift from a low vacuum energy to an even lower vacuum energy are speculated to vary between unnoticeable (which may have happened before) to survivable (which also may have happened before) to catastrophic. A bubble nucleation could end not only life, but the very form matter takes.

Now that’s exciting!

solar sails

Okay, there’s more ∆v out there for free: photons from the sun!

To understand these slow but sure space ships we need to understand two things: how orbits work in a bit more detail, and where momentum comes from. So first, orbits.

Okay, let’s say you’re in a nice circular orbit with altitude r (for radius).

orbit 1

Now let’s say you want to leave here and go somewhere else. You need to expand this orbit. What you do is accelerate along your path of travel (a tangent to the orbit). We’ll show this acceleration with, of course a vector. We’re not showing the vector for your existing velocity (which is in the same direction) and the gravity vector. But they are there. What we’ll show instead is how your increased vector changes your orbit.

orbit 2

As you burn, your orbit begins to elongate (and widen, but mostly elongate) on the opposite side of the orbit from your burn.

orbit 3

Let’s say you continue this burn and eventually you wind up with something like this:

orbit 4

If that long side reaches out close enough to, say, the moon, then eventually the moon will dominate in the gravity equation and you will be able to transfer from Earth orbit to lunar orbit. If you burn long enough the ellipse will expand until suddenly (when you reach escape velocity) it’s a circle centered on the sun instead of the Earth! Then you have escaped the gravity well of the Earth and are on an interplanetary journey.

The same principle exactly applies to your solar orbit. If you continue to burn then your nice circular orbit will elongate until you cross the orbit of, say, Mars. Then you can slow down a bit while close to Mars and orbit there.

To shrink your elongated orbit, you decelerate while on the short side of the orbit. To circularize you accelerate while on the long side (which runs this process in reverse).

Point is, all you need to do to get to Mars is, barring some fine tuning, accelerate and decelerate along the tangent to your orbit at the right time.

So how does a solar sail do that?

Well it turns out light has momentum. Photons from the sun reflecting off your space craft provide a very tiny amount of thrust. It’s not much, but it’s enough that it will deflect your ship by hundreds or thousands of kilometers from your careful orbital course. Our space probes must deal with this to arrive safely. It’s a real thing.

But if you build a giant, very light, reflective sail then you can reflect enough photons that their momentum is significant. And continuous. And free. You don’t need any reaction mass because this isn’t a rocket. It’s slow to build, but build it does.

solar 1So if you orient your sail at 45° to the sun, the photons will bounce off as shown in the dotted line. In doing so, thanks to Newton, you will get a vector full of momentum following the solid line. You are now accelerating and your orbit will elongate as desired! To slow down, just flip around 180° and bounce the light the other way. With these two moves and some minor adjustments you can fly anywhere there are enough photons from the sun. Practically that’s probably out to Jupiter or so.

But wait a second: photons have no mass. Momentum is mass × velocity. So where does the momentum come from? Well it turns out that mass is very intimately related to energy. It’s a pretty famous equation: E=mc². And the energy of a photon is its frequency time Planck’s constant. So though it seems like magic, photons have momentum. It’s not a lot since a little algebra gives us m=E/c² and c is huge. But again, it’s constantly on and it’s free.

This seems useful to me for a number of things:

Space probes. Since no one’s on board it doesn’t matter that it can take a while to increase that orbit usefully.

Cargo trains. If you wanted to move a continuous stream of cargo, it doesn’t really matter how long any given deliver takes since one is leaving/arriving every six days (or whatever your launch period is). And your six million tons of ice doesn’t care how long the trip takes.

Emergencies. It’s pretty scary that you might lose all your reaction mass and drift forever. Packing along a solar sail is like carrying a parachute. And it will be really bright!

In the context of Diaspora in particular, this is a pretty much perfect way to station-keep a space station at the slipknot.

questions about the ∆v science


I got some excellent questions on the last few articles and the answers deserve some space, so here’s that space.

I’m about to reveal how clueless I am about these topics, but these are making me reflect on recent sifi fiction. Could weapon recoil provide ∆v significant enough to be strategic (assuming weapons use power that doesn’t steal from thrust capacity)?

This will become clearer in a later answer but the short version is: probably not. Ships are going to be very hard to move due to their mass. Additionally, you probably don’t want a weapon that costs you ∆v unless you point it in exactly the right direction: the odds of that being both the direction of your target and opposite your desired vector change is mighty small.

Could you use weapons as thrust in an emergency? You could probably use some weapons to rotate the vessel rather than apply ∆v. Rotating your ship is comparatively cheap! In fact any weapon with recoil probably has a compensating jet to avoid this. I believe this is the case with the Rocinante in The Expanse! From the entry on PDCs in the fandom wiki:

They also utilize thrusters on their rear to counteract the recoil of the firing cannon, that would otherwise knock the ship off course.

To be clear, though, it probably wouldn’t affect the ship’s course, but it would rotate the ship. And I suppose if you’re burning the drive while firing that would indeed knock you off course.

Or nearby detonations (does space conduct shockwaves)? It’s intriguing to weigh the ∆v cost of any sort of space confrontation or skirmish.

Since there’s no atmosphere in space (by definition) there’s nothing intrinsic to transmit a shock wave. There will be some shock from the expanding plasma of the explosion of course, but we normally call that “damage”! And maybe a little photon push as well. Nothing that you would want to use as thrust.

However! If the explosion is energetic and close enough (and ideally shaped for the task), you can indeed propel your space ship with nuclear bombs. This would be a very poor ad hoc solution to a problem, but not an infeasible design. Obviously there are significant drawbacks to the design.

How does starship mass impact ∆v strategy? I’m probably wrong but I’m assuming greater mass requires greater thrust to achieve the same vector, and more thrust requires more fuel or efficiency, which all rolls into a single measure of total ∆v capacity.

I’ve only put the thumbnail here because it’s massively detailed and you should go to Winchell’s site to read about it and download the whole thing.

You are absolutely correct! For any given drive capability you can calculate the ∆v of the whole system by estimating the proportion of reaction mass (the mass you store only so you can shoot it energetically out the back) to the payload mass (the mass you have to keep). This is because of the “rocket equation” which I’m not going to go into, but Winchell Chung has an awesome chart showing ∆v for any given hypothetical drive type and any given mass ratio! It’s the basis of the game design that’s emerging here.

So yes, one of the joys of using ∆v as the core resource is that it encapsulates all kinds of information about the ship.

But would reducing your mass increase ∆v capacity through fuel efficiency?

The Marie Therese before ejecting the spin-grav luxury cabins and swimming pool.

Essentially yes! Let’s say you were the players in my last Diaspora campaign and were escaping in a luxury liner with a huge rotating spin-gravity living space. And you’re being chased. Ejecting that useless mass (which was huge) would change your r-mass:p-mass ration substantially, and give you a ton of spare ∆v.

Mass also impacts gravitational vectors, right?

Nope. The force you experience is dependent on your mass, but the acceleration you experience is not — it’s pretty much 9.8 m/s² for everything on Earth (but an elephant gets a lot more harm falling from a height than a mouse does — that’s the force). But not everywhere, and certainly not at different altitudes. But that’s way more detail than we need.

Does anything in space provide opportunity for aerobraking other than atmospheres?

Atmosphere is all I can thing of. Most interstellar gas clouds are way too tenuous to be interesting at this scale. Doesn’t mean you can’t invent one though!

Renewable sources of ∆v reserves look increasingly important (e.g. rechargeable solar vs consumable fuel?).

Well, basically your ∆v is going to be based on how much and how fast you can throw something out the back. So renewable is pretty tough unless you have a way to convert energy into mass. At least for rockets anyway. Remember for a rocket we’re not talking about power (although you might need some power to run the rocket, and that power supply will have its own energy needs which might include solar) but rather reaction mass.

Many thanks to Adam Minnie for the questions!


Okay let’s look at aerobraking. This is a way to get free ∆v for deceleration We’ll look at the principle and then talk about its utility. First recall our gravity example but I’ll add an atmosphere to the planet.


Now the atmosphere is a source of friction and friction reduces your velocity. As you bang into gas molecules, you slow down. We can treat this as a third vector in the system, opposing our direction of travel (our initial velocity vector).


Back when we were first talking about vectors, we said that you add vectors by arranging them head to tail and finding the hypotenuse. This was a lie, of course, as all science education advances by correcting the lies told in earlier lectures. In fact you just connect the last head with the first tail, like so:


Oops. I crafted this example without figuring out ahead of time what it would do and it looks like this atmosphere is too dense for our maneuver! When science fiction stories talk about a “degrading orbit” this is what they mean if we’re being charitable: eventually atmosphere will drag you in if you’re too low.

However, that doesn’t have to be a crash! That could be a landing! In which case we saved the atmospheric vector from our ∆v resources. We totally meant to do that! Of course that’s not what that diagram represents since that enormous vector is our velocity and it does not look like a safe landing speed. Or angle. But that’s the principle and however much additional ∆v we have to spend to land safely, it’s reduced by the amount of drag provided by the atmosphere.

So let’s consider a hypothetical interception scenario — you are fleeing through space and the cops are after you. You have, let’s say, 7 units of ∆v and spend 2 planning a course to a safe planet. It’s months away and you’re committed and you now have only 5 units of ∆v. You’re saving some for slowing down at the far end — you need 3∆v to make orbit at your destination.

You: 5∆v

The cops spot you and match your course with 2 ∆v of their own. They have fast interceptors (high thrust for tactical corrections) but less reserves so let’s say they start with 5∆v. Now they have 3.

You: 5∆v

Cops: 3∆v

You spot the cops on your infrared telescope and track them for a couple of days, identifying their planned intercept point. You have a bunch of options. You have more total ∆v and if you know this you could burn more than they can afford to to change your course and correct back. If they spend any more than they have they won’t have the ∆v to slow down and stop somewhere to refuel. But if they aren’t tricked and don’t burn, then when you correct back they will still be on target.

You could also fake a course to a totally different location, spending maybe 3 more ∆v leaving you with 2. If the police correct for that they will be totally committed (they won’t be able to slow down so they are clearly going to try to kill you in a flyby and then count on other cops to save them from leaving the solar system) but you have some spare.

You: 2∆v

Cops: 0∆v

Maybe it’s not enough to make orbit around your original destination — you’ll be going too fast. But if you’re equipped with heat shields for aerobraking, you can steal 1∆v from the atmosphere and get the 3 you need to make orbit despite going way too fast!

Or maybe you won’t slow down! Maybe you’ll steal 1 ∆v from slingshotting your destination on order to head somewhere completely else!

You: 3∆v

Cops: 0∆v

Finding spare ∆v in the system geography is how you exceed your space craft’s specifications, and it’s a skill your character might have. Yes, we’re almost talking games now.

Since this is science fiction, what other sources of ∆v might be lying around a high tech industrialized star system?


Okay so now we can talk about delta-v (∆v from now on because it looks cool) in a larger context. We can see from the last post that the thing that really matters in space travel is how much you can change your velocity before you run out of gas. And I’ve talked previously about orbital mechanics. Let’s tie these together. First a diagram I have lifted from a much more detailed article about the topic at Wikipedia:


This is a map of the solar system from Earth to Mars assuming you are travelling using orbital transfers — that is, you don’t care how long it takes and your plan is to burn just enough to enter the orbit of your target eventually. Exactly which way you point and how long you travel depends on many factors that are largely out of your control — at a given time with a given rocket you have essentially one choice.

The numbers on that map are not distances but rather costs in ∆v. And this is why ∆v is the critical resource both tactically and strategically in Diaspora Anabasis: it’s the only resource that matters for planning. Everything else is roughly fixed. Everything you might do to influence travel is going to boil down to changing your ∆v resource or cost.

So to get from the surface of the earth to Low Earth Orbit (LEO) you need to go 9.3 kilometers per second faster than when you started. Soak that in. Notice that almost every other transfer is somewhere between cheaper and vastly cheaper. This is why starting your trip on a planet is so incredibly expensive and why space and low-gravity-planetoid bases are essential to industrialized (and certainly private) space travel: this is an unnecessary expense that dominates everything.

If you have a space craft with 11km/s ∆v in resources, you can reach orbit and sit there. If you built the same ship in orbit, however, you could go to Mars with resources to spare. LEO is 2km away. Mars at its closest is 56,000,000km away. It’s 20 million times more efficient to travel with orbital transfers from Earth orbit than it is to orbit the Earth. When people talk about how hard it is to go to Mars and how we so handily went to the moon remember that: those Mercury and Gemini project orbits were actually the very hardest part of the whole endeavour. Everything after that is vastly simpler.

Now what if you don’t use orbital transfers? What if you want to spend less than 18 months to go to Mars? Well, you spend more ∆v. You can speed up any orbital transfer by burning harder at the start and burning again at the end to slow down. It changes the path of the transfer substantially — you’ll get there faster because you’re going faster but also because you’ll take a physically shorter path — your lazy elliptical arc will straighten as you dump reaction mass into the fire. But it costs twice as much because you have to slow down at the end.

You can think of an orbital transfer as basically matching courses with your destination (since planets are moving too). Imagine you want to catch up with a skier further down the slope than you. You can dig in the poles a little so you’re going faster and take an arcing path down the hill so that you slowly catch up, with friction equalizing your speed at intercept. It’s a lot of calculation and might need a little correction and it’s not the fastest path but it takes very little energy. That’s the orbital intercept.

Or you can drive on your snowmobile straight at your target. You’ll have to correct continuously as they move but you will arrive much sooner. You’ll also have to figure out how to slow down or you won’t be matching courses at all. That’s a “hyperbolic” intercept.

The other interesting thing on that map is the “aerobrake”. This is a way to steal ∆v from planets with an atmosphere: you can use that friction to slow down. We know that slowing down is just ∆v spent pointing backwards. So friction is free ∆v for slowing down! In the last post we talked about slingshotting, which steals ∆v from planets for speeding up. So the natural universe provides a landscape that can lighten the load and this is where strategic play will happen: we have a determination problem in that the math tightly constrains exactly how much ∆v a maneuver costs and you ship defines how much you have — so where are the player choices? What knobs can you turn to defy (rely manipulate) the math? The natural environment provides two.

We’ll talk about how the artificial environment can help next time.

moving space ships

Let’s say we have a space ship and it’s moving at some velocity. It’s not accelerating — its drives are off — it’s just drifting. There is nothing to slow it down in space (no air resistance or other interesting friction sources) and nothing to speed it up. There’s no reason for it to change direction. It’s just going to keep going at this speed in this direction forever. For simplicity we’ll use units of meters per second and consider time in 1 second increments.

We can represent this situation like so:

It just goes ON like this.

On the right is our space ship and on the left is a vector indicating its velocity. In one second, the ship will be at the end of the arrow: its length indicates how far the ship will move in our 1 second tick. It’s predicting  the future for our space ship. This will go on forever.

Now if we want to turn, we can’t just steer — there’s no surface to get traction on, no wheels to redirect our momentum. The only tools we have are rotation and thrust. So that’s what we do. We rotate and we turn on the drive for a while, adding more velocity which we represent as a second vector in the direction of our burn. We can use the vector to find out where we’ll be next: we add a vector to the end of the existing one but at the angle of our burn.

I want to turn left 40 degrees so let’s just rotate 40 degrees and burn, right?

So where will we be after our next tick? Well the trick with vectors is you add them nose to tail, preserving the angles, and then find the hypotenuse (sticking two vectors together gives you two sides of a triangle, and your new vector is the missing side of it!)

Imagine our little space ship travelling along that new line forever.


And we’ll see that with that little 40-odd degree turn and burn (adding velocity!) our new vector has us starting to turn to the left. But we are also going faster than before! And we’re not pointing in the direction we’re travelling. This, in my opinion, summarizes a great deal of what’s weird about travelling in space compared to a road vehicle — you can only add velocity, the direction you’re pointing in determines the direction of acceleration and nothing else, and you need to spend an awful lot of fuel to make an interesting change of direction. Let’s try that turn again but much more sharply.

Burn baby burn!

We’re really cranking the wheel over here! The same rules for adding vectors apply of course so we get a final vector of:

Again, we should imagine little triangle space ship forever moving in the direction of the arrow, at a speed indicated by the arrow’s length, and oriented at a sharp angle to the direction of travel. Forever.

Well that’s a tighter turn! Notice a few things. We’re totally pointing away from our direction of travel for one. For another, our vector is shorter: we’ve managed to slow down by adding velocity in a direction that partially opposes our initial vector. So now we know that the only way to slow down is the same as everything else in space travel: add velocity.

This is why in the latest rev of Diaspora we only track a space craft’s “delta-v” or its total ability to change its velocity. Everything about how it moves, how fast it moves, and where it goes depends on this value. It’s how you start, how you steer, and how you stop. And, when you’re out, you just follow that vector forever.

Well surely not forever. What if there’s a planet in the way? I’m glad you asked. Same rules.

So when you travel near another significant mass, it continuously adds a vector for you, whether you accelerate or not. So let’s say we’re passing by a planet. We have our existing vector but we also add a new one that points to the center of the mass and has a size (magnitude, we say) related to the total mass. Planets add pretty big vectors.

We just wanted to fly by this featureless planet but apparently the universe does not allow such things. Note that it’s only by happenstance that the gravitational vector touches the planet. It could be any length depending only on the mass of the planet.

And the result is:

Planets are powerful attractors! It’s going to be close.

Wow! Notice a few things here. First, you don’t fall into the planet if you already have a big enough vector. If we had a smaller (or no) vector, we’d splat on the surface. But we fall past it! Precisely choosing altitude and vector is how we go into orbit: we just keep falling forever around the planet. But that’s not what this maneuver is going to do. The other thing to notice is that we are going way way faster than before — we’ve taken a ton of delta-v from the planet itself! Since delta-v is in such short supply, this has to be a useful move! We sometimes call it a slingshot maneuver, and it’s a very common way to get real spacecraft long distances in a relatively short period of time. Let’s look at the next second in this picture.

So now our two vectors are our original vector and the gravitational vector, which points to the center of mass of our planet:

Now we are going to be going around this planet a bit but way too fast to orbit it.

Which gives us a result of:

Zoom! If you do the next iteration yourself you might be surprised at the result.

We are going even faster now! All for free! And in a radically new direction.

Now, reality doesn’t actually progress in one second increments, so to find our actual path of travel we’d need to start looking at smaller increments. Do the vector addition every tenth of a second, every millionth of a second, refining and refining the path. This would be calculus, and we would see our actual path is a smooth curve. But the principle is the same and the result we care about is the same: we can steal velocity from planets.

In space all you can control is the change in your velocity, but you can steal velocity from planets. Another time we’ll talk about stealing negative velocity.

a note on gaming

This post is not about a game. You could game this way — it’s easy to see how you could do that, using counters or miniatures. It’s already been done too — Traveller, Triplanetary, Mayday, and even in 3-dimensional space in Vector-3. It’s not news for gaming. But my game targets people who don’t know the physics and maybe don’t care about it, but need a context to understand the design decisions that are based on physics. I will be leaning heavily into abstraction but you need to understand what you’re abstracting first.


One of the core components of Diaspora Anabasis is stress. When you want to improve a rolled result, including helping someone else improve theirs, you take stress. But stress is not an inert hit points track you run out of. Stress is intended to minimally model, well, stress. This turns out to have pitfalls I hadn’t anticipated.

Your first point of stress leaves you agitated. It’s easy to get rid of. You work out, talk out your problems, take a vacation, and so on. All the things your friends tell you to do when you’re freaking out actually work because you’re not all that stressed. Being agitated doesn’t even warrant a FACT on your character sheet. No problems here.

Gnoll is agitated but has a process.

Your second point of stress gives you a compulsion. You write this in as a FACT on your character sheet: this is a true thing about your character that you are expected to incorporate into play. Your character keeps coming back to the topic related to their stress, even when it’s not appropriate to the scene. You are worrying something over and your compulsion is a signal that you are in distress. Getting rid of it requires getting away from the thing causing you stress. That can be hard in a space ship a million miles from actual air.

Your third gives you bad judgement. Again embodied by a FACT, your character is now bad at making choices about or related to something. Maybe you are becoming too careful. Maybe too daring. But your choices relating to your FACT are not the best choices. They instead are focused on whatever you’re stressed about. Clearing this one requires that you make a substantive change to your situation. In our game the captain of the vessel gave up their captaincy. So it has to be a big change.

Your last step of stress is withdrawal and at this point all of the other characters should be worrying. You need professional help and the support of your allies to clear this.

What I didn’t anticipate is how much this impacts the players. It can actually be quite upsetting.

One reason, of course, is because someone is telling you how to change how to play your character. Players rightfully buck at this. It’s one thing to be asked to narrate a limp because your leg is broken, but for some reason (and I say that not to diminish it but to express that I don’t fully understand it) it is way harder to take on a real-seeming psychological change. I suspect this is because of the way the human brain handles pretending things: when you pretend an emotion, your brain probably simulates the emotion just by running the mechanisms that actually evoke the emotion with with a little simulation flag set so you don’t forget you’re pretending. Bottom line is that pretend pain doesn’t hurt but pretend emotions do, to an extent depending on the person, cause you to genuinely feel.

twitguy-hiresThat up there is two reasons of course: we don’t like being told to play our pretend personalities differently, and feeling real bad feelings can really feel bad.

The other thing that gets in the way is that you are basically asked to play your character sub-optimally. You’re expected to deliberately make bad decisions. Since we’re playing a game, there is a desire to solve problems correctly and bask in the glory of victory. Deliberately failing is genuinely hard for a lot of people. I put myself in that camp.

When this last came up we talked it out and found a way forward that addressed as much of these as possible by making sure the player still felt like they had authority (but were handed some creative parameters) and agency and also that they wouldn’t be made to feel badly in a way that they didn’t want to feel bad. Talking it through was a big deal for me both to identify just how much of a minefield this thing is and also to resolve it or at least set us up for success in the next session.

Anyway here’s a draft of my rules text relating to this issue:

Stress can be very onerous on players. It asks you to play suboptimally and at the same time engage the game material in a way that is designed to emulate the real effects of stress on humans. At the extreme end of the track it asks you to act in ways that may upset yourself and others: your character will be withdrawn, upset, and making bad choices. Here are some ways to handle it. Please use these in addition to your preferred safety tools (X-Card, Script Change, and so on).

    • Don’t do it. Skip the facts. The stress system is not as powerful this way, which would be the point of not using it. If it upsets you, just don’t use it. It’s not more important than your fun.
    • Discuss it. When a character gets into the deep end of stress, take some time offline to discuss how to engage the new facts in ways that are not too upsetting. Part of what’s upsetting is that the rules are telling you how to play your character which most people are resistant to, but if you discuss how you want to play it, you can make it your own.
    • Help the stressed. If everyone pulls together to help the stressed character it can relieve the difficulties that this brings. It also makes great scenes and clears the stress! Everyone wins.

ray tracing

When I was just a scamp in my 20s I used to ray trace high resolution (320×200) 24-bit colour depth images on my 286. Don’t panic, I had a 8087 math coprocessor in there so it went super fast. A day or two per image.

Now you might very reasonably wonder what renderer you could get in those dark days in the 80s. What sort of interface would you have available? Surely Blender wasn’t around yet, right? AutoCAD 3D maybe?

In those days we cranked out images with POVRay.

POVRay is what is known as a “constructive solid geometry modeller”. Whereas these days (and even a lot of those days) we render meshes of triangles and use a surface normal function to fake the reflection of light rays into curves (yes, a modern rendered sphere is actually a mult-faceted gem and the renderer lies to you about its smoothness), a constructive solid geometry (CSG from now on) modeller uses primitives like spheres, cones, cylinders, boxes, and toruses that are described by their analog functions. So no impure faceted surfaces (unless you want them). Your light ray returns are pure. You are not being lied to.

The difference to the eye of course is uninteresting. But there’s a lot of joy in purity for some nerds, like me. Hell when gaming I don’t even like the d10 because it’s not a Platonic solid.

But what can you do with such appropriately named “primitives”?

Just about anything, as it turns out (though partially because one of your primitives is a bicubic patch but that’s for another time). The reason you can do plenty is because of the “constructive” part. If you know set theory you probably know what’s coming. Because in addition to placing cubes all over the place, you can perform constructive operations on them.

So, for example, you can take the intersection of two objects — what’s left and therefore rendered is the volume that exists only in both shapes. Or the difference: take a sphere and cut chunks out of it with boxes and cylinders. Or the union of course, just gluing them together. With these functions you can do an enormous amount of work before you even get to the tricks of texturing and colouring and finishing. Here’s what I’m working on right now with what is really the same POVRay I used in 1988.

asymptote small
That Jupiter image is a JPL image enhanced by the amazing Sèan Doran. I licensed it from him for use in Diaspora Anabasis a while ago and it sits nicely here. The ship is from our current Diaspora game — that’s the Cinderella.

That’s still a work in progress, as I say, but largely complete. Just needs some work on lighting and colouring.

But what, you ask, does the interface look like? Is it at least better than Blender?

Well hell yes it is. While there are third party interfaces that glue on to POVRay (which is super easy as you’ll see in a sec), the input into POVRay is a descriptive language. Like my other love, PostScript, POVRay uses a scene description language: you just type your description of the scene into a text file and then drive the renderer over it. Your image falls out the bottom.

That “just” is a little flippant. Here’s the code for the crew module of that ship:

#declare cabin_xlate = -25;

	  merge {
	     difference {
	       sphere { <0, 0, 0>, 2 scale <2,1,1> translate <cabin_xlate,0,0> }
	       cylinder { <-28,1,1>, <-24,1,1>, 0.3 }
	       cylinder { <-28,-1,1>, <-24,-1,1>, 0.3 }
	       cylinder { <-28,1,-1>, <-24,1,-1>, 0.3 }
	       cylinder { <-28,-1,-1>, <-24,-1,-1>, 0.3 }
	       box { <-23,10,10> <-23.1,-10,-10> }
	       box { <-25,10,10> <-25.2,-10,-10> }
	       box { <-28.5,10,10> <-28.6,-10,-10> }
		difference {
			sphere { <0, 0, 0>, 1.95 scale <2,1,1> translate <cabin_xlate,0,0> }
			cylinder { <-28,1,1>, <-21,1,1>, 0.3 }
	       	cylinder { <-28,-1,1>, <-21,-1,1>, 0.3 }
	       	cylinder { <-28,1,-1>, <-21,1,-1>, 0.3 }
	       	cylinder { <-28,-1,-1>, <-21,-1,-1>, 0.3 }
			texture {
				pigment { Black }
		object { plate translate <cabin_xlate,0,0>}
		object { plate rotate <90,0,0> translate <cabin_xlate,0,0>}
		object { ring translate <cabin_xlate,0,0>}
	     cylinder { <-25,0,0>, <-24.8,0,0> 2 }
	     cylinder { <-24,0,0>, <-23.8,0,0> 2 }
	     #declare store_texture = texture {
	     			normal { ripples 1 scale 0.2 }
				pigment { color rgb <0.2,0.15,0.1> }
	     			finish {
	     				ambient 0
	     				diffuse 0.2
	     	#declare fasten_texture = texture {
	     		 pigment { color rgb <.2,.2,.2> } 
	     		 finish {
	     		 	specular 0.8 roughness 0.001
	     		 	reflection { 0.4 metallic }
	     	merge {
	     		sphere { <-20, 0, 1>, 1 texture {store_texture} }
	     		torus { 1, 0.1 translate <-20,0,1> texture {fasten_texture } }
	     		torus { 1, 0.1 translate <-20,0,1> rotate <90,0,0> texture {fasten_texture } }
				merge {
	     		sphere { <-20, 0, -1>, 1 texture {store_texture} }
	     		torus { 1, 0.1 translate <-20,0,-1> texture {fasten_texture } }
	     		torus { 1, 0.1 translate <-20,0,-1> rotate <90,0,0> texture {fasten_texture } }

				merge {
	     		sphere { <-20, 1, 0>, 1 texture {store_texture} }
	     		torus { 1, 0.1 translate <-20,1,0> texture {fasten_texture}}
	     		torus { 1, 0.1 translate <-20,1,0> rotate <90,0,0> texture {fasten_texture}}

				merge {
	     		sphere { <-20, -1, 0>, 1 texture {store_texture} }
	     		torus { 1, 0.1 translate <-20,-1,0> texture {fasten_texture}}
	     		torus { 1, 0.1 translate <-20,-1,0> rotate <90,0,0> texture {fasten_texture}}
	     	merge {
	        cone { <0,0,0> 0.2 <-40,0,0> 0.001 rotate -45*z rotate 90*x translate <-25,0,0> }
	        cone { <0,0,0> 0.2 <-40,0,0> 0.001 rotate -45*z rotate 180*x translate <-25,0,0> }
	        cone { <0,0,0> 0.2 <-40,0,0> 0.001 rotate -45*z rotate 270*x translate <-25,0,0> }
	        cone { <0,0,0> 0.2 <-40,0,0> 0.001 rotate -45*z rotate 0*x translate <-25,0,0> } 
	        texture {
	           pigment { color rgb 0 }
	           finish {
	              ambient 0
	              diffuse 0.2
	              specular 0.9  roughness 0.0001
	              reflection { 0.6 }
	     texture {
	        pigment { body_pigment }
	           ambient 0.0
	           diffuse 0.3
	           specular 0.9 roughness 0.001
	           reflection { metallic 0.4 fresnel 1 }
	    translate <-4,0,0>

Yeah okay that makes my “just” seem like a bit of an over-reach. But besides the nerdy joy I experience writing any kind of code, I adore the precision of this: things go exactly where you want them because you tell the machine exactly where it goes. No nudging of objects in the modeller’s mesh preview. No snapping to grids. Everything goes exactly where you say you want it. It gives me a rush every time.

Now I don’t expect anyone else to get off on this, but consider: this renderer I’m running is essentially the same today as it was 34 years ago. A few little features go in as processing improves (though it hasn’t been updated in some time now) but the renderer is basically complete. I can render a file (if I had a floppy disk drive) from 1989 without change. That’s like getting a WordPerfect file to load (and I was TODAY years old when I learned that WordPerfect actually still exists so bad analogy, Brad).

Anyway, I’m not trying to sell you on this dinosaur but rather explain the little joys I get from using it. The naked code, the purity of concept, the precision, and, of course, the nostalgia.

Here she is at 320×240 by the way. Some things do get better.

formalizing the art of invention

A lot of my refereeing is intuitional. I ad lib. I come up with one idea or image and then follow it around. When this happens in a game it works for me, but one of the things I need to do to make a game work for someone else is formalize these processes. Reveal them to others so they can reproduce them.

The problem is, of course, that I just do it. I don’t have a system.

But this is nonsense — I do it the same way every time. There must be a system. I just haven’t looked at it closely enough. So I’m going to go through a premise and lay out my thought patterns as a hierarchical choice tree. Someone else can use this as a jumping off point for their own exploration of the same premise. For a lot of game design this is the heart of it (for me): watching myself ad lib and then formalizing that.

Premise: you have a space that has not been explored (a slipstream that connects an unknown or forgotten system). You might not be familiar with Diaspora: a slipstream is a wormhole that connects two systems. There aren’t a lot of them — clusters in Diaspora are only a handful of connected systems.

Screenshot 2020-03-02 17.33.09

So in this cluster we have a link from Cando to…what? It starts out unknown! At some point the players are going to want to go there though, so…what’s there? Quick! There’s a session in twenty minutes?

Here’s what I would go through. At the top level, I explore the big questions.

  • Why did no one know about the route before?
  • Who’s there?
  • What’s there?

And then I cascade. For each I ask more questions. And then again. Until I get to some answers. And I might ask more questions.

  • Why did no one know about the route before?
    • It’s new
    • It has been deliberately hidden
    • It recurs
    • It was destroyed but has re-emerged

Once I have a nice set of possibilities, like say:

  • Why did no one know about the route before
    • It’s new
      • Why did it suddenly show up?
        • Local astronomical change
        • Change in the astronomy of the new side
        • New technology reveals it
        • Technology on the other side has suddenly allowed them to visit us
    • It has been deliberately hidden
      • Who hid it?
      • Why?
      • How was it revealed?
    • It recurs
      • When was it last here
      • How do we know that?
      • What causes it to oscillate?
        • Astronomy? Maybe a distant binary?
        • Technology? Did someone or something do this deliberately?
    • It was destroyed but has re-emerged
      • Who destroyed it?
      • How?
      • Why is it back?
      • Is it stable now?

I pick a path. That’s the plan. Here’s the whole tree:

  • Why did no one know about the route before
    • It’s new
      • Why did it suddenly show up?
        • Local astronomical change
        • Change in the astronomy of the new side
        • New technology reveals it
        • Technology on the other side has suddenly allowed them to visit us
    • It has been deliberately hidden
      • Who hid it?
      • Why?
      • How was it revealed?
    • It recurs
      • When was it last here
      • How do we know that?
      • What causes it to oscillate?
        • Astronomy? Maybe a distant binary?
        • Technology? Did someone or something do this deliberately?
    • It was destroyed but has re-emerged
      • Who destroyed it?
      • How?
      • Why is it back?
      • Is it stable now?
  • Who’s there?
    • Are there humans there?
      • Yes: may connect a whole other cluster, different colonist cultures
      • No: did there used to be?
        • Yes: dead failed colony
          • What killed it
          • How long ago
          • Is it still here?
    • No: new territory
      • Intelligence?
        • Yes: aliens, alien cultures
        • No: used to be but no longer
          • Dead civilization
          • Reclaimed by nature or ruined?
        • No: example of pristine location, no penetration by intelligence. What’s awesome? What’s horrible? It has to be DIFFERENT. No one has EVER been here.
  • What’s there
    • Nothing. What the hell? How is there a slipknot to nothing?
    • A normal system
    • A normal system with something anomalous
      • Black hole
      • Neutron star
      • Giant artifact
      • Evidence of ancient civilization
    • A very not normal system
      • Impossible orbital arrangements
      • Planet sized artificial structures
        • Bigger?
      • An artificial star
        • How do we know it’s artificial?

This can be used at two levels. At one level, it’s a thought process you can adopt in its most general form: ask a few big questions, answer them, and let the answers raise more questions. That’s one kind of mind’s tool.

If you are not comfortable with something so unbounded, at least in the context of this game, you can literally use this tree. I only used a fraction of it and even if you pick the same things I did, you probably won’t present them the same way I did. And your players won’t be arriving with the same baggage mine did. It will be different.

And of course this could be further formalized into a randomized oracle.

With the process laid bare, you can choose the level at which you want to ad lib and still benefit from someone having blazed a path for you. Happy trails.


social combat in diaspora

In the first edition of Diaspora we kind of made a hash of a great idea, tricked by successful playtests into thinking we’d written excellent rules. And for a small number of people we probably had, but not for everyone and not even for most.

I think the idea was first brought to my attention (nothing is original) in an RPG.net post in 2008 or so by Fred Hicks. I can’t find it now, but the gist was that maybe you could just use the existing zone combat rules and change the map to something notional rather that geographical and get a social combat system. Zones would be ideas or beliefs or other abstractions, but otherwise you’d leave the system intact.

This sounded like a brilliant idea. In practice it wasn’t — it led to the same problem I always had with social combat: you’re just figuratively beating each other, reducing a different kind of hit point. While the narrative is different, it’s still constrained to make sense of a combative scene, so it’s actually very limited. Like using the combat system to model acrobatics as well as gunfights. Yeah, yeah, Fate fractal, I hear you. Sorry, but endlessly and reductively using the same complex system for everything is boring. And strangely confining. It’s like saying Lego is best used for making a wide variety of giant Lego bricks with which you can make more and bigger bricks. Literally any kind of brick! Eventually you realize you haven’t got around to making anything but building materials.

Anyway, it sounded enough like a good idea that we wrote it up for Diaspora and what we published is pretty much where we stopped thinking about it. The rules give some unfortunately vague advice about what a map should look like and some contradictory rules for how to interact with the map. The thing is, our playtests with it were great. They were great, though, because we stumbled on some specific uses (that actually disobeyed many of the rules we wrote down) that were huge fun. I had actually failed to analyze what I did as a ref so I could mechanize that and instead mostly just wrote down the core idea that led us to a fun space. I had failed to give you the tools to reliably reproduce those good times. Since I hadn’t done the analysis, I didn’t even know why it worked when it worked or why it sometimes failed. Not all of the examples were every tested — they were just ideas that might or might not work.

Since then I’ve thought a lot harder about this. There are actually two different ways I’ve obeyed these rules (sort of) with good results and they are substantially different. These differences should be codified for a decent system to exist, and we might even want to just pick one.

The first is to have the protagonists and antagonists on the map. The objective is to move yourself to the Idea you want to dominate and to move your opponents to some place inert or favourable to you. Since this is the most important part of the resolution, the whole idea of beating each other’s composure hit points down should be dropped — that’s an attrition battle that distracts from the maneuver battle where we’ve invested all our energy. The map is a creative burden on the ref — what best handles the scene’s needs? But this is the biggest problem: not all maps work and there’s limited guidance as to what does work. And a lot of maps that look different are topographically identical.

The other way is to invert this and make ideas the pawns on the table and the map can be people, places, cultures. The geography becomes static and we move the ideas around it. The objective is to cluster ideas where we want them but now who rolls and against who become unclear. The few I’ve run with this inversion have been great but entirely ad libbed. I have no way to tell you how to reproduce this but, as it turns out, I have no way to tell you what maps will work in either case. So we’re not further ahead.

While tinkering with a very early version of Soft Horizon I started thinking about formalizing the map: let’s have one kind of map and all combat is social at this scope. How you resolve the map (where you move all the pawns to) determines just what kind of event this will be (warfare, violence, diplomacy, sorcery, and so on) and this has largely narrative impact: you make the final roll in the determined resolution space and if it’s WARFARE then you narrate your success or failure as a war. That is, the whole minigame is in the preparatory moves for the conflict and one roll resolves the conflict. This never got tested but I think it’s a step in the right direction: develop a single, generalized social combat map. I still think is possible. I still haven’t done it.

abstract plural units mapIt did get me thinking about a single abstract map for combat, though: surely if it was possible to generalize social combat to use a single map, then maybe you could do the same for combat! This is of course the same trap as thinking you can use a hit points combat system and relabel everything to make a decent social combat system. But I still think it might work, especially for mass combat which seems to demand more abstraction.

Could we find a similar common abstraction for social combat? Or is this physical combat really one sub-map of many different kinds of conflict? That seems to be more the case (and I’m excited by the idea of having a vastly richer social system than violence system: one that subsumes violence as a single special case of conflict and not the most interesting). A separate system for romance, persuasion, grifting, …

Can these be enumerated? Can all of them be reduced to a model that is fundamentally about maneuver and action in the context of position? I think if the categories are general enough the answer to the first is yes — but I haven’t found the categories for this to work yet. And I’m not working all that hard on it. And I’m pretty sure that all of them can be reduced to a maneuver model, to be put on a map. Lots of maps.

But the point of this was that I am still, ten years later, flailing around trying to find good maps for this concept of social combat. So the idea that we could make a rule in Diaspora that basically said “first, invent a good map” was absurd. That’s why that section fails: we told you to take on the part that needs all the thought, all the testing, and was most likely to fail. And told you to do it on the fly.

Sorry about that, that was bullshit.