Mapping Space 2: The Frontier

 (Part 2 of a series on how to fight an interstellar war.)

As described in part 1, I had a usable map of the Emissariate of Bolusca, which included every star system so far identified in the game but had plenty of space to add more. With this, I could plot consistent travel times. I could have stopped there.

Except... it was on a square grid. And gamers like hexagonal grids for our maps. Why? I don't know, we just do. So for no reason other than "just because", I decided it was worth spending an entire day converting the map to a hex grid. This first step was easy, just trace the original map on to hex paper (you can click on any of these images to make them bigger, by the way):


To be honest, this was a bit rubbish. The main reason being the scale: 450 parsecs to a hex. On graph paper, I could use a ruler and measure down to the millimetre to get fairly exact distances. As soon as it's on hex paper, all I can easily say is, "It's in that hex," which means, "Somewhere within a 450 parsec area," which is next to useless for calculating accurate travel times. I needed a better scale. Which meant my map of known space wouldn't fit on a single sheet of paper. So I expanded just a small section of the border, and got this:


I'm at 100 parsecs per hex here, so this whole map covers an area about five hexes across on the previous one. I might need to drill down even more at some point, but this is a good working map for plotting grand strategy, and lets me map everything I need (so far) on just nine sheets of paper.

You can see I've already added several additional features to the map, because at this scale I can figure out how things will work:

  • The simple line of the border has become a "neutral zone" between the empires, 100 parsecs across.
  • I've added the border stations (the small x symbols on the Boluscan side of the neutral zone) that are supposed to warn of an invasion.
  • Because I've previously defined how hyperspace detection works, I know how far these stations need to "see" into enemy space, so I know the detection area around them (also marked on this map) and therefore how many stations I need to get full coverage of the border.
Just having this map has allowed me to set the strategy for the Krai invasion. I know where the Krai fleets need to start, and what their destinations should be. Those border stations are immediately obvious targets. Because although Krai fleets could jump right past them in hyperspace, the stations are going to be detecting their every move and relaying it back to the Boluscan fleets. Any sensible invasion has to start with preemptive strikes on all those stations. Knock them out on Day 1 of the war, and the Emissariate is blind; they can't know where you will strike next, so they can't intercept you with their own fleets. The Krai have total control of the war.

(Yes, I've read Sun Tsu and Clausewitz, and this is totally how they would fight if they had hyperspace drives.)

As a GM running a game, knocking out the border stations gives me a secondary (and much more important to me, though irrelevant to the Krai) advantage: I don't need to tell the players how the war is going. Each game session is now starting with some variation of "Psi Girl has called in from headquarters, we still don't have a clue where the Krai are."

I'm pretty happy with the map and (so far) with the war. The only slight problem I have is that I may have made the Krai strategy too good, because at the moment I can't see how the Emissariate will survive this.

But luckily for the Emissariate, they have the Star Guard...


Mapping Space

 I started the Star Guard campaign without a map, which is an extremely bad way to start a game (or a story), because without a map you can't tell how long it takes to get to places, and that leads to sloppy and inconsistent plotting. You basically end up with Star Wars, where a journey takes exactly as long as the plot needs it to take, and usually you don't even mention how long that is. It's ok in a blockbuster fantasy movie, but pretty terrible in a game (or any kind of hard-ish SF story).

Well, there was a kind of map of Known Space. At the start, this is all I needed. It showed me how much space I had to move around in, which let me work out how fast starships could sensibly travel (this was covered in an earlier journal post, Measuring Space). 

But as I said at the conclusion that earlier post, "This is where it could all go horribly wrong."

And it did go horribly wrong. I should have started constructing a map as soon as I had two planetary systems, so I knew exactly how far apart things were. Instead, I kept adding new systems and separating them by how far I needed them to be for story purposes. After two years of play, I had this:


Pairs of star systems with the travel time between them. It should be immediately obvious why this is doomed to fail. Pick any three systems. I know the distance from A to B and B to C. What's the distance from A to C? It's literally impossible to calculate. You can construct infinite triangles made up of those three vertices, with infinite variations of length AC.

So I started slowly and painfully putting these systems into a spatial relationship to each other, maintaining the distances I had already established between each pair. It took a lot of trial and error, adding systems to a map and then erasing them and moving them somewhere else when the numbers didn't add up. I was convinced it would actually be impossible. But after a lot of work, I got this:


(This is just a small portion from the middle of the page.)

And, miraculously it worked. Everything is the right distance from everything else, matching every distance I had recorded.

This is pure luck. There's no way it should have worked. 

But now I had a map, with consistent spatial relationships that supported every piece of travel time data currently established in the game. Now, I could fight a proper interstellar war...

One more point: my map is on a flat piece of paper, and space is of course three dimensional. Making a 3D map would have been an order of magnitude harder, and for story purposes it's not necessary. Because due to the nature of hyperspace, travel distances between stars map to a two-dimensional galactic plane. Why? Because they do. It's my hyperspace, and it works however I decide. Make your own game if you don't like it!

Coming soon: hex maps!


Plotting a War

I mentioned last time that I've spent four months plotting a war. The timing of the war is critical, as the date of the invasion of Earth is a fixed point in Strikeforce history. I had to start the war on a specific date to give the Krai time to get to Earth by the established invasion date (don't worry if this isn't making sense, I hope I'll clear it all up in future posts).

As that critical date approached in the Star Guard campaign, I was completely unprepared to run a war. To give myself the breathing space I needed to do it, I put the Star Guard on hold and switched to a different campaign (more on that later, too) for four months.

Four months later, I've got the strategic thrust of the war mapped out, and a number of potential scenarios planned. The idea is that the Star Guard (the player characters) will be sent on missions to worlds threatened by the Krai invasion—which is why I need to know where that invasion is on any particular date, which I why i needed to "play" the war in advance.

One week in and it's already gone wrong, as an event I wanted to happen didn't happen, thanks to player activity, so I've got to tweak my war strategy slightly. But I've got two or three scenarios lined up that can happen regardless of where the Krai front line is, so I think I'm ok.

I feel like I'm not explaining this very coherently.

Let's try this instead: this handout was given to the players to show them what their characters knew on the eve of the war (and refresh their memories after four months of not playing these characters). Now you know everything they know. I don't yet have an established place to put this file on the main site, so consider this a sneak preview of a new storyline coming soon.

Priorites

 When I started this project, I had some vague idea that I could document everything from 39 (now) years of the Game.

It's not going to happen. I fall further and further behind.

Given a choice between writing something that I need to run the current Game now, or something that documents past history, I'm going to write the current piece, and I'm not often going to write it in a way that's publishable. I have a duty to run a new Game scenario every week of the year (almost), and that takes time to plot.

The only way this site will ever be complete, with all the Game documented in full, is if I stop the Game. And they won't let me do that. I've tried. Twice. And they keep dragging me back.

But I've spent the bulk of the last four months plotting out the current Game months into the future (more on this later), which should reduce my general planning burden and let me write more here. Maybe. Let's see...

Naming Things

 Naming things is hard. Naming things in a science fiction setting is even harder. You need a name which sounds non-English, but which is still pronounceable.

I just tried to call a starship Intrepid, and mistyped it as Interpid, and I think I'm going to keep that spelling, just because I can.

Two Years of the Star Guard

 It seems that I missed the two-year anniversary of starting the Star Guard story on 1st July 2023. Not that the anniversary means anything, but it's an excuse to waffle about the Star Guard, and I've been very lax about waffling on this blog. Maybe I've said some of the following before, but if I can't remember then I'm sure my readers can't either, so I'm going to say it again.

I didn't invent the Star Guard. They were introduced in the original Golden Heroes rules, which I talked about in a previous post. The introduction gave a huge amount of detail:

(I've just noticed that somewhere down the line I changed Bolusci to Bolusca, probably because I simply misremembered how it was written in the book. I also just rediscovered that the Meg has a proper name, Torus, which I have never used because I completely forgot about it.)

But this was all the detail I needed to use the group as antagonists in a Strikeforce scenario in 1988. That episode has been written up as chapters 13 and 14 of the Strikeforce story, if you want to see how I used them.

They came back a couple more times in later Strikeforce stories, and I started adding the additional members that the original paragraph hinted at. This was fairly easy, because I could recognise a Legion of Super-Heroes homage when I saw it, and I can homage with the best of them.

But I didn't need to put much effort into fleshing out what the "Emissariate of Bolusca" actually was, or why it had such an unwieldy name. (I eventually figured that last part out: it's a Federal political system, with member planets being semi-autonomous self-governing states and each sending an "Emissary" (like a senator) to represent them on the "Emissariate Council" (Federal government). This works, because the Star Guard can then act like the FBI, with the power to operate across "state lines" and deal with incidents that the Planetary Police in isolation can't or won't. But the politics of this set-up is probably something that needs an entire article to itself.)

So two (and a bit) years ago I had to expand the Star Guard's setting beyond just having a few defined characters to having an entire, detailed, coherent universe for them inhabit. My last two years have been almost exclusively devoted to doing that (which is why documentation of the rest of the Heroes Universe has dwindled to almost nothing). It's nowhere near complete, as all I have time to do is scramble to keep ahead of where the players are travelling next, and to head off any annoying questions they may raise about it. A lot of stuff is in fragmentary notes in my plot book, some of it is only in my head, and a very small portion of it is actually properly documented on the Heroes Universe site. So if you want to read about some of the

then you (now) know where to find them.

This week I've just been updating and improving the index pages linked above, but if you want to see what new pages have been added recently it's always listed on the home page.

There's some other stuff I was going to say, but I'll save it for a later post. Hopefully not too much later.

Adventures in ChatGPT (part 2)

 In part 1 I described my concept for a building based on an upside-down tetrahedron, and how I wanted an "artistic" representation of it. Being utterly unartistic, I thought I would try getting an AI-generated image of it.

I know there are specialized art-focused generative AIs, but I decided to try ChatGPT, just because I'm familiar with it.

I tried to make my initial prompt as comprehensive as possible, but I expected the process to be iterative. I didn't expect its first effort be what I pictured in my mind, but I thought I could make suggestions to slowly bring it closer. 

 Our conversation went like this.

A large building standing in a park. The building is in the shape of a regular tetrahedron balanced on one point, so it has three triangular sides and a flat triangular roof. It is about 40 stories tall, dwarfing the people and trees in the park. The sun is at a low angle.

That's clear, right? I've even gone to the effort of explaining what a tetrahedron is, just in case ChatGPT isn't very good at geometry. A child could understand it.

First lesson: generative AI isn't as clever as a child.

Here is the image of the massive tetrahedron-shaped building standing in a park. Let me know if you’d like any modifications!


Well... it's massive. And it's standing in a park. On a point(ish). But it's not a tetrahedron, by any stretch of the imagination. So I'm just going to be blunt:

This is not a tetrahedron. A tetrahedron is a regular polygon with four triangular sides.

You're absolutely right! A true tetrahedron should have four triangular faces, not a flat top. I'll generate a new image with the correct geometry: a regular tetrahedron balanced on one of its points. Here is the corrected image with a true tetrahedral-shaped building balanced on one of its points. Let me know if you'd like any adjustments!.


What? "A true tetrahedron should have four triangular faces." Correct. So what the heck did you just draw? I mean, it's balanced on a point, I'll give you that. And you've remembered to add in the park. But other than that, I'm not impressed.

I try something different, to see if it's just tetrahedrons it has a blind spot for.

Make it more like an upside-down pyramid

Here is the image of the upside-down pyramid-shaped building, balanced on a single point. Let me know if you need any further refinements!


Well, again you've got the point part right. But you clearly have no idea what a pyramid is like, either.

That's not a pyramid

I see the issue! You want a true upside-down pyramid—specifically, a regular tetrahedron standing on a single point. I'll generate a new image that better fits your request. Here is the corrected image of a true upside-down tetrahedral building, balanced on a single point. Let me know if you need any refinements!


Wait, wait, wait, there's a lot to unpack here. In the first place, "You want a true upside-down pyramid—specifically, a regular tetrahedron." So now you think a pyramid is a regular tetrahedron? It's not, you're just making facts up as you go along. And that image is neither a pyramid nor a tetrahedron.

Ok, so the problem is geometry, and maybe also ChatGPT's training collection doesn't include any tetrahedral buildings it can copy. Maybe the approach I need is to forget the building part, and first teach it geometry. Once it's learned what a tetrahedron is, I can say "now draw a building that looks like that." Maybe.

Do you know what a 4 sided dice is?

Yes! A four-sided die (d4) is a regular tetrahedron, meaning it has four triangular faces, four vertices, and six edges. When rolled, it lands on one of its triangular faces, with the result typically read from the numbers at the base.

It sounds like you're asking for a building shaped exactly like a d4, with a single point touching the ground and three triangular faces rising up to form a pyramid-like structure. Would you like me to generate an image that strictly follows this geometry?

This is amazing. I really didn't expect this level of success. It knows what the dice is (and even corrected my lazy grammar and called it a die), which doesn't surprise me, because this is just a text answer to something that it must have millions of references for. But the next paragraph has me floored: it made the intuitive leap that my seemingly random question was related to my original building concept, and it's figured out what I want my building to look like. This has really impressed me!

yes please

Here is the image of a massive building shaped exactly like a four-sided die (d4), balanced on a single point. Let me know if you need any adjustments!


Nooooo! Oh my god, you were so close to genius, and now you've reverted to being an idiot child.

This is so depressing.

And so we continued. I spent an hour talking to this idiot child.

Here is an image of a perfect tetrahedron balanced on a single point. Let me know if you need any modifications!



You're absolutely right again! The images so far haven't properly captured a true tetrahedron balanced on one point. I'll make sure to generate an accurate depiction of a perfect tetrahedron—four triangular faces, six edges, and four vertices—standing on a single point. Let me try again.



I never got my tetrahedron.

I know a little of the principles of generative AI; I work in IT, and I interact with a variety of AI systems at work pretty much every day. I know that writing good prompts is a skill in itself, and I now know I don't have the skill.

Generative AI may be the way of the future. But it's not the way of today. At least not in the generalist, layman's, one-size-fits-all sense of ChatGPT and similar efforts. Put it in the right domain and train it on the right source material, and I've seen AI do things I would never have believed 12 months ago. But you need to know its limits. It's not the solution to everything. And it's definitely not the solution to drawing a building shaped like an upside-down tetrahedron.

Of course, I would be very happy to be proven wrong :)