Creating a retro science fiction adventure game - Part 2 - Random world generation
Design Diary - Generating worlds & cultures based on the science fiction works of Jack Vance.
🌲 Pine Shallows Flip Through
🪐 Design Diary - Creating a retro science fiction adventure game - part 2
Hi all,
Before we continue our scheduled part 2 of my design diary, I wanted to highlight a flip through Jes the Human did of my game Pine Shallows:
Pine Shallows is currently part of the RPGs for Accessible Gaming bundle! Get the game and 200+ other for just $10, and help a great charity in the process! The bundle will be available until March 23rd.
Creating a retro science fiction adventure game - Part 2
This is the second installment in design diary, where I desifgn a roleplaying game inspired by the science fiction works of Jack Vance.
In the previous installment of designing a retro science fiction game I looked at what defines the setting, the type of characters and the the type of adventures they go on.
In this article I want to start designing the elements needed to get to a minimal working version of the game. As the focus of the game is to emulate the numerous weird worlds and their cultures, I want to start with some random tables to generate them.
I identified the following three things I want to be able to start playtesting:
Generators for planets & their cultures
Generator for characters:
Characters names
Character goals/quests/jobs
The main game mechanics:
Succes/failure mechanic
Tracking progress
As traveling from planet to planet and meeting all kinds of weird cultures is one of the main focus points of the game, that's where I'll start.
Generating worlds
One thing to keep in mind for this game is: verisimilitude is not a goal. These are not generators to generate every possible planet, they are focussed on planets that are inhabited by humans, and that have properties like the worlds in Jack Vance.
As a start we can just have two simple tables to get a nice spread of possible (but inhabitable) planets by combining climate & number of continents.
Climate
2-3 - Cold
4-5 - Cold with temperate zones
6-8 - Temperate, Earth-like ranges
9-10 - Warm with temperate zones
11-12 - Hot
Continents
2-3 - No major water bodies
4-5 - More the 50% land, 1d4 big seas
6-8 - 25-50% land, 1d4+1 continents
9-10 - Less than 25% land. 1d4-1 continents
11-12 - Only a few small islands
Planet features
Apart from the basics (climate & continents) we want to add some weirdness to each planet to make the unique. I don't know how many entries this table will be when I’m done with it. I might start with 36 entries for a d66 table, but if I have enough ideas it could even be a d100 table. For now even with just these 14 entries, we have enough to do some playtesting.
System has another 1d4 inhabited planets
Multiple moons
The inhabited world is not planet, but a moon
Alien ruins
Old planet: rolling hills, no steep mountains
Young planet: steep mountain peaks and rough weather
Megafauna
Megaflora
Highly volcanic
Large tides
No (big) local flora
Semi-intelligent animals
Rich in resources
Poor in resources
For the complete game I might add some more tables to round up generating complete solar systems, including uninhabitable planets, but only if during playtesting it feels that those tables are needed.
Number of cultures
In the books of Vance there are usually just a few distinct cultures per world. A lot of them have just one, or maybe two or three. Another number of worlds in the books are on the other end of the spectrum: they feature very balkanized worlds, having been settled by countless distinct groups that all have kept to their own small piece of the world.
This is the one option where I want to try out different methods to see how they wind up in play. It could be a simple 1d4, with the results for 1-3 being exactly the number of cultures, and 4 being a balkanized world.
Another more weighted option could be this 2d6 roll:
2-3 - 1 Culture
4-10 - 1d2+1 Cultures
11-12 - Balkanized
I’ll try both of them out when playtesting!
Culture tags
If there are a small number of cultures, you can roll for all of them before encountering them. Roll 2 tags per culture. Use the tags to determine their relationships, and which group might be the bigger or more dominant. Feel free to re-roll any tags that don't inspire you, or that feel contradictory, but if possible try to make it work.
For a planet with a large number of cultures, you can always generate a few, or generate some overarching tags that they all share.
This table is now very close to the needed 36 entries for a d66 table, but it should be easy to expand it a bit more. One other option is to split it into a list of simple adjective tags & a separate list of tags with a bit more weirder options. This will depend on how much entries I can expand the table with.
Egalitarian
Cosmopolitan
Insular
Urbanized
Erudite
Pious
Abundant
Colourful
Industrious
Cosmopolitan
Anarchic
Corrupt
Decaying
Tranquil
Homogenized
Mercantile
Balkanized (Could also be part of the number of cultures...)
Descended from a religious group
Descended from a naturalist organization
Descended from criminals
Descended from exiles
Living tree houses
Grown fungal houses
Nomadic
Strict gender roles
Obsessed with poisons
Extravagant costumes
Extravagant hairstyles
Ever-changing fashion
Wearing masks in public
Feudal
Cities connected by waterways instead of streets
Floating cities
Everyone talks in poetry
Names
This will be a big one. All the generated planets need names. During research (read: rereading the novels of Vance) I started collecting all names I encountered. I don't want to blindly copy names from the planets of Jack Vance, but I do want to have names that evoke the same style and themes.
When looking at the planet names I discovered a few historical sources Vance uses. Names of Saints (Boniface), actual star & constellation names (Rigel, Achernar, Aspidiske), next to made up names (Arbonetta, Dar Sai).
I used two methods: a Markov Chain Generator to generate names, and adding names from similar sources. The sources I used where:
Markov Chain word generator on a long list of Jack Vance's planet names
List of Saints, Wikipedia
List of Arabic Star Names, Wikipedia
Greek Mythological Names, Wikipedia
The Markov Chain results were all over the place, so I generated way more names then needed, and curated and changed them heavily. After collecting about 70-80 names I added to the list from the listed Wikipedia sources.
Markov Chain Generator
A Markov Chain generator is a simple probability based method to generate predictions, which can also be used to generate sentences or in this case words.
You feed your generator a list of names, and it just counts which letters follow combinations of other letters. So if your list is:
alpha
alpaca
it will see an 'a' is followed by an 'l' or 'c', but a 'p' might be followed 50/50 by an 'h' or an 'a'.
For generating words that make sense it usually helps to look what letters follows combinations of 2 or even 3 letters.
I used a Python library called markovify to write a script that can generate words based on a csv list of words.
If people are interested I can do a more in depth post about using Markov Chain generators to generate names for your games. Let me know in the comments!
In the end this gave me this table of planet names:
Algol
Alphanetta
Alphede
Ambrose
Aspe IV
Aspidion
Azulia's End
Bacturgal
Barlaam
Benedict
Bethere
Blenkinole
Blent
Bonille
Canor
Caphede
Charlemagne IV
Cicella
Clarenes
Cunibert
Dasq
Delius III
Denesselrig
Derve
Deullion
Dion
Diosophecca Six
Edessa
Eiselbarren
Ellesse
Eltanin
Ergard Thirteen
Fade's Third
Falderal
Falla IX
Formalhaut
Gallion
Gaude
Gorle
Hardusk
Ignatz
Izar IV
Jezebella IX
Josaphat
Kande
Karsille
Liliasq
Lilo
Mare
Methere
Mirt
Mirstenbar
Morld
Mouder's Vale
Murgarest
Muspelheim
New Gornishon
Nimrud
Nilvosk
Nova Bactricella
Opora
Oran
Padwall
Pheme
Quand
Quillic
Reim
Rhalen IV
Rhamnotis Major
Rhet
Rigobert
Saffilo-May
Sambal
Sanda
Saspis Edge
Smatz
Soudero
Spica Nine
Tanselrig
Tassader's Third
Tathea
Thamar
Tranquil
Trullingale
Trum
Uruk
Ushanq
Vales
Valhallorn
Vascaratz
Vasq
Verle
Virda
Wale
Xandervelt
Xotique
Yap-Yap
Yggdrasil
Zacarencely
FIRST NAME's World
Generating a planet
Let's try out what we have so far!
Name: Cicella
Climate: 3, Cold
Continents: 10, 1d4-1 continents: 3 continents, Borgen, Pombalie & Doral
Planet feature: 3, The inhabited world is not planet, but a moon
Nr of cultures: 8, 1d2+1: 3 cultures
Culture #1- The Doralion
24 - Nomadic
14 - Tranquil
The Doralion of Doral, the largest continent, are a nomadic people of mystics on an endless pilgrimage following a complicated every-changing route from shrine to shrine. Endless debates over the correct routes and ways to worship are held in calm but intense sessions.
Culture #2 - The Virune
11 - Anarchic
2 - Cosmopolitan
Aglique Vir, the main space port, and the cities around it are inhabited by the Virune. Their culture is young, the different groups is was comprised of can still be found in their carnival societies, of each is a member of one or more. The yearly festival schedule is the only thing that seems to hold this exuberant people together. Their cities are domed, keeping them warm. The domes are badly maintained and there are occasional leaks.
Culture #3 - The Djar
15 - Homogenized
18 - Descended from a religious group
In the frozen hinterlands of Cicella on both Borgen & Pombalie, the Djar eke out a meager existence. They are a simple, conservative people. Vestiges of the rituals of their religious ancestors are still upheld, but more as habits than out of conviction.
To be honest, I’m already quite pleased with the results. I’d love to what planets other people will create.
What's next?
While collecting names from the source material, I also started making lists of names of suns, moons, continents, cities & landmarks. Using similar steps as used for the planet list I want to turn all the collected names into d100 tables so players can generate planets completely with their sun & moons, continents and cities.
Again I might start with using shorter lists so we can start using the tables, and slowly add on them.
Would you be interested in seeing how I create these tables as well, or should I skip it until I publish the first version of the game and move on to character creation?
Let me know in the comments!
Next to that are the steps I mentioned in the introduction. Unless I’ll go more in depth for creating the random tables for city, landmark & other name tables, the next installment will probably be character focussed:
Generator for characters names
Random tables character goals/quests/jobs
See you next one!
Peter




Super interested in learning how to generate names from markov chains! It would be an amazing project for me to mesh my loves of coding and rpgs
Character goals/quests/jobs sounds fun to me, :)