A Universe and World Creation Script for Mongoose Traveller 2nd Edition

- Tabletop RPGs, Programming

Spaceship flying over active volcanoes

The following is a Python script developed by yours truly to generate a sector according to the core rulebook of the Mongoose Traveller 2nd Edition tabletop RPG, exactly as described in the Universe and World Creation chapter. It is designed to describe worlds in human-readable format as much as possible, without any confusing abbreviations.

The script assumes that you are already familiar with the Universe and World Creation rules, and requires reference to them to configure the script to your liking and complete the creation process.

Special thanks to Matthew Sprange of Mongoose Publishing for giving me written permission to publish portions of his work in my script for non-commercial purposes! Note that due to this limited permission, I am releasing my code under a custom non-commercial license, which you can read in the header of the Python script.




First, install Python 3 if it is not already installed on your system.

Next, open MGT2WorldAndUniverseCreation.py in a text editor, and change the constants at the top of the file to the desired values. Each element in each array correspond to a specific subsector. Note that by default, each subsector has a normal density of systems, a 5% probability for systems to be located at a hot edge, a 5% probability for systems to be located at a cold edge, and a 10% probability for systems with an unusual atmosphere to be panthalassic.

Then, run:

python MGT2WorldAndUniverseCreation.py > Sector.txt

Finally, follow the instructions at the bottom of the generated text file to manually complete the process.


Related content I wrote

Open treasure chest with a question mark in it

The Future of the Video Game Randomizer List

- Video Games, Programming, Anecdotes

It's hard to believe that it's been almost 8 years since I first posted on the ROMhacking.net forums a list of video game randomizers that I found online, and that it would evolve into the massive project it has become today, with almost 900 entries currently being listed. It's always a strange…

Stream of zeros and ones in space

Minifying JSON Text Beyond Whitespace

- Programming, Mathematics

JSON is a common data serialization format to transmit information over the Internet. However, as I mentioned in a previous article, it's far from optimal. Nevertheless, due to business requirements, producing data in this format may be necessary. I won't go into the details as to how one could…

Stream of concatenated JSON objects

Current Data Serialization Formats May Be a Waste of Money

- Programming, Business

Storing data. Transmitting data. Processing data. These fundamental topics of computer science are often overlooked nowadays thanks to the historical exponential growth of processing power, storage availability and bandwidth capabilities, along with a myriad of existing solutions to tackle them. So…

Slippery road signs scattered everywhere

Scrum Is Not Agile

- Programming, Business, Psychology

While there is no denying that Scrum revolutionized the software industry for the better, it may seem a little strange to read about someone that dislikes it despite strongly agreeing with the Agile Manifesto, considering the creator of Scrum was one of its signers. However, after having experienced…

Assembled cog wheels

Validating and Viewing OpenAPI Definitions with Docker

- Quality Assurance, Programming

Here are a few commands I crafted to validate and easily read API definitions in the OpenAPI format, using Docker and open source tools provided by Swagger. I have yet to convert them into proper shell scripts, but I hope these will be helpful nonetheless. The commands are designed to be run in a…

See all of my articles