Thursday, September 14, 2023

Developing Procedural Campaign Building Tools

 Let me tell you about a ridiculous idea I have.

After running the Starfarer solo game, and through it, generating a pretty detailed science fiction world, I have worked towards making it playable for other people.

Wanting something that would let me run the game at the drop of a hat - mostly of academic curiosity - and to help me refresh my long after feed computer programming skills, I designed a program that procedurally generates  outputs star system's complete with points of interest and  rumor tables. These will soon be detailed enough to give GM's everything that need to run a game at the drop of a hat with me.

Once the data is already generated,  it is pretty easy to extracted the data from my output file, and change it, and rewrite it.

It would be the easiest thing in the world for me to create a set of scripts that would weekly check rumors, prune old ones, replace them with new ones, cycle through cultural events, can't even manage and imaginary market futures site, sports league, and entertainment scene.

Given a few weeks of time hocus on nothing else, I could even have a unique role-playing game built specifically for it that played like something like a strange hybrid of Star Adventurer, Stars Without Number, Mythic, and a table top interpretation of No Man's Sky or Starfinder.... Mixed with a healthy dose of Star Trek and Mass Effect.

Procedurally Generated Star Systems

Canonically in my setting the Frontier contains a little over 15,000 settled star systems. While I wouldn't want to generate them all,  it would be quite easy to generate several a day using my software, have a human review them, and then post them to a website where they could be viewed by anyone.

These would include listings of cultural events, market prices on hot commodities, a market for you starships, and somewhere between 2 and 44 adventure hooks posted as ads on the site.

Any GM could glance at them and grab inspiration for an adventure., Or just present the sheet for the system of their choice to the players, and see where they want to go with it.

These star systems, with a little research, can be put on a map during generation, so that travel times  could calculated easily. That's a little outside my expertise yet, but it would only take me a week or so of dedicated study of the tools to be able to do that

Additional hidden GM information could be locked for only those currently running a campaign. This would include hitches and a few of the jobs randomly added, some secrets and conspiracies generated with the system, and a random encounter table for the system based on its contents.

Living World

Because it would be relatively easy to simply update the website once per week using a script, it would be easy to create a living world. Rumors can be pruned as they are either tackled by NPCs if the players don't seize on to them, and new rumors and opportunities can be generated over time.

Likewise, I could invent a series of sports teams for three or four professional sports leagues and export regular results. I could track the movement of factions.  I could keep track of simulated rock band tours. And I could run a simulated commodities market where supply and demand of a range of commodities rises and falls in various sectors, and cunning players can keep track of the value of goods if they want to turn it into something like a space trader game.

GM Tools

In theory, I could automate the process of taking play reports from GM's and putting them into a news feed. As well as letting GMs running the game in tag certain rumors as success or failure, and even seed their own material into the sheets before they give them to the players.

These GM tools could include a procedural adventure generator, as well, for low- or no-prep sessions.

Because of the nature of the setting, it would also be possible for players to set up their own star system, build a base, and run it as domain level play.


I could also create a "faction" tier of play. Players of faction teir play could trade resources, fund activities, recruit soldiers, and engage in clashes that would be reflected in the systems that they are present in. This one would take some doing, but there are a few early noughties Facebook games I could use as a model.

A Hitchhiker's Guide to the Galaxy

One of the biggest obstacles that faces science fiction games is that they don't call upon established lore. I went into detail on this phenomenon in my series on creating a lasting science fiction setting.

When you say "goblin," almost anyone from Europe, North Africa, or the Middle East has some idea of what you mean. Goblin is an ancient Greek word for a archetypal mythical creature that appears in almost every culture's myths and legends. This is an incredible strength of fantasy. You can include medusa's, gorgons, wizards, nights, and people will understand what you mean by them. You have a huge assortment of material already available to you. All you have to do is tell people what selection of it you're going to use. In fact sorting out what is in and what is out can be a task.

Science Fiction has the opposite problem. If I tell you that you have just met a Nuhenni asteroid shaman, you have no idea what that means. There is nothing to draw on there except getting a vague inkling of what it might mean from the term "shaman."

Many science fiction role playing games get around this problem by building on existing franchises such as Star Wars, Star Trek*, or The Expanse. Creating an original world, can be very challenging. Thankfully, I had several months of solo play, and now sometime playing with groups to help me establish the lore. I will be happy to put it in a format that is searchable and readily accessible with the power of hypertext behind it

It wouldn't take long for people to absorb the lore and integrate it into their play in this manner. Giving players an established setting with enough details to work with, without being tied to a property. And in a setting that defies excessive metaplot

How Do I Make it Sustainable 

Of course, at this point we are talking about software that is going to require an outlay in order to keep it up on a website and running smoothly.

This is the spot where my creativity is a bit stymied. I'm very good at solving problems, except when those problems are marketing and funding problems.

Could I do this is a subscription service? Yes, but I don't like subscriptions myself.

Could I rely on patron? I'm not sure. Maybe?

Could I Kickstart it? Probably. At least for a few years. The actual cost of hosting it on a server with the computational power I would require is not excessive. I would need about $1,200 and order to put the project up for 4 years.

The real problem is time outlay. Right now, I am coding this thing as a form of job training. Expanding my skills, and creating something useful it the same time. I learn best one I have a big project have to learn to tackle in small bites.

To successfully kickstart this project would require sufficient funding for me to focus on it for a few months: developing it, while still covering my expenses. Say, $15,000. I would also love to be able to stretch that to include getting my hands on a really hefty Nvidia video GPU so that I could run stable diffusion locally on my own machine, and use it to generate graphics procedurally to go with the star systems.

The burning questions becomes is that feasible? Is there enough but demand for a new science fiction roll playing game if it comes with a toolkit like this?

Comparing it to what people often ask for to develop  boardgames, it seems pretty humble.

But it would be a long way to get there. I suspect that before I could go to Kickstarter for funds I would need to make this project buyable, I would have to generate a significant amount of buzz for it. That would probably involved sometime spent at conventions... Opportunities to run the role playing game portion of the project where people could see it played. Show off the technology. That becomes a fairly sizable outlay into itself.

As it is, I will continue to develop it in my spare time on my laptop to the extent the technology and no budget can afford. I can hardly help myself with a challenge like this.

But tell me: what do you think? Is this interesting?

The funny thing is, in this project I can kind of see my dream job. Building tools for building worlds. Creating tools that make running games easier for people. Building a community by letting people share their experience of the game more easily. Perhaps one day having a podcast for a YouTube channel dedicated to show off what people have created and discovered in a universe that would be far bigger than one I ever could possibly write alone.

Here are two examples of the output, you may need to download and open them to get the full effect.

Note: My examples are now fully functional.

Example 1 Example 2

*Star Trek has three canons: Roddenberry wrote a sophisticated encyclopedic "Setting Bible" for Star Trek and Star Trek: the Animated Series in the 60s. They then threw it out almost completely and created totally new background lore, history,  etc. in the late 80s as Star Trek: the Next Generation was in production.  By the end of season 1 of TNG, the 1st bible is totally contradicted. The second setting bible is very different,  but DS9, Voyager, Enterprise, Picard, and the OG Star Trek films after III all stick to it. I can't speak to newer series. And the recent Abrams films establish a 3rd Canon. If you are a Trekkie, sometimes it helps to establish which Canon you are playing in,


  1. Sounds really cool, but your examples do not load (infinite wait) in either Brave or Firefox running on a Linux Arch based (Garuda) system.

    1. Yeah, hosting on Google Drive does dHTML no favors. I will post images for now.

    2. I have now uploaded a slightly modded version of the examples on another blog.

    3. To clarify, they didn't work even after I downloaded them.

    4. Very strange. I might have spotted a flaw in my html that chrome just ignores.

    5. IAC, I copy/pasted all the relevant HTML and JavaScript into a blogger post, so the links are live now... but I must debug. I have an old PC with no power source or HD I might put some used parts into to make into a test box at some point.

  2. Whatever you did, worked. The links display properly now.

    1. Excellent! Onward to breaking to more as I create pop-out stat-blocks for people and ships, and add commercial advertisements, flavor advisories, and cultural events to the lists!

  3. I know what you mean by flavor advisories, but if you take it literally, it has a whole new meaning. Especially on a space station, where there may be synth-food.

    "Attention customers. The red soda is no longer cherry. It is now radish flavored. The mashed potatoes are currently enhanced with ginger and wasabi. These temporary upgrades come to you at no extra charge, for your convenience and enjoyment."