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

- Tabletop RPGs, Programming

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.

MGT2WorldAndUniverseCreation.py

## Usage

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.

## Notes

• Subsectors coordinates within a sector are represented with 2 letters, the first being the column and the second the row. (If there is a standard way in this edition of Traveller to describe such coordinates, I am unaware of it as it is not described in the core rulebook.)
• Routes cross through subsector boundaries.
• The list of generated trade routes can be really messy, but they are accurate to the rules. (I haven't found a good way to manage that data unfortunately.)
• One-liner world profiles are not generated by design.
• Maps are not automatically generated, only the data to draw them.

## Scrum Is Not Agile

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…

## 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…

## Essential International Standards and Registries for Web Developers

- Programming, Quality Assurance, Security

The following is a collection of free international standards, registries and references that I collected throughout the years while developing websites and web services. These references, while very precise and technical by their nature, are extremely useful in order to ensure that a specific…

## Deep Learning in Python with PyTorch - Tutorial and Demo

- Programming, Mathematics

As I am continuing my personal journey into deep learning research and development, I wanted to try out PyTorch, a machine learning framework with GPU acceleration primarily designed for the Python programming language. However, I couldn't find any good introductory resource online for it. So I read…

## Creating a Paranoia 25th Anniversary Edition Character Sheet for Roll20

- Tabletop RPGs

I'm a big fan of the Paranoia 25th Anniversary Edition comedy tabletop RPG, and I regularly act as a game master for that game on Roll20 with my regular play group in-between other tabletop RPG campaigns. However, there wasn't any good character sheet for that game system on Roll20, so I decided to…

See all of my articles