No game reason for this really – I just like the idea of messing around in a quasi 3D star system using the Traveller vector movement.

The aim is to have a 3D box with all the stars, planets centered on a plane so you move in 2D but the visuals are 3D with all the orbiters having their own size, radius and orbit time so they move around on their orbits over time.

The code part is pretty easy if you simplify the orbits to circles. All you need is a class that has planet size, distance (from star) and orbit length. The orbit length gives you the number of degrees the planet moves per day so all you need is a method that takes a time, adds on the degrees moved and moves the planet’s center point.

class orbiter:
def __init__(self, tup): = tup[0]
self.radius = tup[1]
self.distance = tup[2]
self.days = tup[3]
self.dpd = 360/self.days
self.angle = random.randint(1,360)
self.x = 0
self.y = 0

def dodays(self,numdays):
numdegrees = self.dpd * numdays
self.angle = (self.angle+numdegrees) % 360

def dodraw(self):
radangle = math.radians(self.angle)
self.x = self.distance * math.sin(radangle)
self.y = self.distance * math.cos(radangle)

which currently ends up as this


(unrealistic orbit distances to test)(the button adds ten days)

This seems like it should actually be pretty easy but will wait until I’ve found out about Python’s Pygame module.


Got side tracked from this by the urge to do some Travellerized Dark Heresy chargen so that’s next.

First one done.


not expert enough to give tips really but might be useful to someone (or me after a gap)

the way i did it was to take the tabular data and put it into a collection of what Python calls a tuple which you can then put into a collection and access as an array so for example adding all the terrain types and their various modifiers into terrain tuples and then bundling them into a tuple of tuples

d0 = ‘Desert’, 3, -3, ‘other’
d1 = ‘Badlands’, -3, -3, ‘other’
d2 = ‘Prairie’, 4, 0, ‘other’
d3 = ‘Hills’, 0, 0, ‘other’
d4 = ‘Mountains’, 0, 0, ‘other’
ds1 = ‘Crater’, 0, -1, ‘other’
ds2 = ‘Gorge’, -1, -3, ‘other’
ds3 = ‘Caves or Ruins’, -4, -1, ‘other’
dryterraintable = [d0,d1,d2,d3,d4,ds1,ds2,ds3]

so the animal size modifier of the ‘Badlands’ terrain type can be accessed as dryterraintable[1][2]

(indexs go 0,1,2 etc)

typing in all the table entries can take a while but once they are all set up going from step to step on the generator is simple enough.

Mine is slightly more complicated as the initial reason was related to my “Early Colonization ATU”. There, I was generating uncolonized planets with native primitive sentients and wanted to quickly generate candidate animals as the precursors of those sentients from the world stats rather than selecting a specific terrain type. That’s why there are two options.

In the early colonization ATU i’m taking atmosphere 2-9 as earth-like but earth at different stages: 2-3 is early earth with life only in the oceans, 4-5 is mid earth with life in the sea and beginning on land, 6-9 is the full deal. To that end i divided the Traveller terrain types into dry, wet and sea categories and atmosphere 2-3 only picks from the ‘sea’ category, atmos 4-5 picks from sea and dry, atmos 6-7 picks from all three. When sea and other categories are both available the hydro proportion weights which is picked.

The second option just picks a terrain from a list and randomly generates an animal based on that.

It’s rough but it does what I need.

As an example one of the colony sites, Irila, in my early colonization sub-sector is a new colony with a native friendly sentient as the most intelligent species (i.e. ant, dolphin, chimp type intelligence) and world stats of 568. These species can somehow become the hook for a particular world in some way.. The idea is to keep generating critters until something jumps out.

The first up is a sea surface dwelling man-sized triphibian social grazer. The social herbivore/grazer part fits with being friendly so maybe some kind of giant flying insectoid critter whose life cycle somehow involves both sea and land. Maybe caste based so it’s only the leaders who are sentient / near sapient.

RPG Styles


Type 1:

I’ve always been a scenario type GM i.e. where the GM creates a scenario with a plot, NPCS etc and the players play through the GM’s plot.

I think that’s perfectly fine: the DM gets the fun of creating worlds and plots and the players get the surprise of not knowing what is ahead.

Type 2:

Some people prefer RPGs where all the players generate the world, plot etc as a group. It’s not my thing but I can see why that might appeal.

However some aspects of it do appeal.

Type 3 – Middle Path:

I like creating worlds, scenarios etc so I don’t want to do it the second way but after listening to the various arguments I do like the more sandboxy style the second method generates.

So basically if you’re a GM type but you want to be surprised how can you do it?

One way is to use random generation; that way you still kind of create the setting – because you decide what gets put into the random generation tables – but the specifics are a surprise.

For example in Traveller there are random patron tables, random animal generators etc – so in a sandboxy game you could set up an area of space with only a bare bones description for each system/world and then let the players go where they like. The GM generates content on the fly depending on where the players go and which the players decide whether or not to interact with – making the game more like a procedural video game.


Generating stuff on the fly out of your own head is fast but you’re rarely if ever surprised.

Generating stuff from tables can create surprises you would never have thought of yourself but can take too long.


After watching Mr Driscoll’s Python adventures for a while

I thought i’d take the plunge and see if using Python to create fast random generators could be a solution and i’d heartily recommend it to anyone who wants to try the compromise sandboxy method and you’re comfortable with programming. It’s a relatively easy language and is perfectly suited for this kind of linear sequence, generating a result from a set of tabular data with a simple GUI.

My first experiment was turning the classic Traveller animal generator into Python and that was pretty painless. (I’m an ex-programmer who hasn’t touched code for c. 10 years so your mileage may vary.)

The only problem I have now is it’s made me want to do a lot more:

– random conflict generation
– random plots
– random sub-sector/system/world generation
– trade
using either/both Classic and Mongoose tables

also Travellerized Dark Heresy / Rogue Trader
– systems, worlds
– Dark Heresy travellerized char gen

also a simplified random solar system generator with pseudo 3D
– everything happens on a 2D plane but with 3D models of planets, star etc
– 2D classic traveller style vector movement
– no real reason but i want to see visually how that kind of movement would feel with all the planets moving in their orbits

anyway – too many ideas, nothing gets done, so hopefully will be able to pick one at a time

(will post examples as I do them)

Imperial Reconquest

There are two types of re-expansion setting i could get into which I’ll call re-expansion and reconquest.


Imperial Re-expansion

One way to get the feel of the original Traveller novels – a collection of worlds that appear largely self-contained without a central authority – is an Imperial re-expansion.

In that kind of setting there has been an empire in the past and that empire settled numerous colonies but then some kind of collapse occurred before the individual colonies had developed to the level of star travel. In the collapse the colonies that survived reverted somewhat in technology and then either stayed there or clawed their way back.

The imperial world recovers and starts to re-expand and the players start on the far edge of that expansion – conquest and naval battles and invasions are happening but it’s happening a couple of sub-sectors away. So it’s a mixture of a frontier type setting and a Star Trek “boldly go, find new worlds” type setting.

The key point with this back story is to create a specific backdrop where most of the planets were settled by humans from the same culture but who developed in many different directions during the Dark Age allowing plenty of room for the imagination.


Imperial Reconquest

Another option is during the Dark Age many of the original colonies developed all the way up back up to jump travel and created their own pocket empires with their own fleets and the new Imperium are conquering them one by one Rome style with the players right at the cutting edge of the war zone.

This kind of setting wouldn’t inspire me much except as the background for a war game or if the players were into being Imperial agents involved in diplomacy, spying, sabotage etc – so basically they’d be given missions rather than random travelling. I’m not likely to ever do it as a i like frontier settings better however I was thinking about the possible backdrop to a setting like this so these are some notes for future reference maybe.



I haven’t looked at the 3rd Imperium timeline yet but I’d use the OTU as the basis for this. It doesn’t have to be 100% consistent with the canon data as this setting will be some time in the past.


Starting Assumptions


Treat “fleet” in an abstract way meaning one unit of military force


Alpha worlds – those with high pop and tech level – are the only ones that matter militarily as they are the only systems that can produce fleets


Exception – the systems needed as refueling stops in between the Alpha worlds


On average there is one Alpha world per sub-sector and they expanded out into their sub-sector claiming worlds in their hinterland for their mini empire


The 3I expanded out in all directions from Capital into Core sector and then beyond


At start the 3I roughly has the eight sectors around Core and a finger has expanded through Corridor into Deneb as well

so say the 3I has c. 120 sub-sectors or 120 fleets – with another 8 in a finger through Corridor and Deneb (which is still in the throes of being pacified) and c. 40 border sub-sectors with a home fleet each leaves around 80 fleets and around ten sector fronts – so say 8 to each front on average.


The Deneb command has 8 fleets available but they are actively engaged most of the time with unconquered systems, Vargr and rebellions. At any one time any number from 0 to 8 might be available but the larger the number the shorter the time available – plus they could be called away any time to deal with an emergency elsewhere. (If it was a board game the player might get 0-4 imperial fleets each year or something).


The Zhodani haven’t fully expanded into their sub-sectors yet – they have trade agreements and alliances etc but not fully integrated systems so those sub-sectors are mostly neutral at the beginning and the Zhodani aren’t very involved – at least at the beginning.


Trin (and its pocket empire) has signed an alliance with the Imperium and Trin is the center of 3I activity in the Spinward Marches. Trin’s fleet and one imperial fleet are on guard.


The pocket empires facing the 3I are listed below – subject to change if it doesn’t fit with timeline or other OTU stuff. The list doesn’t have to be entirely consistent with the canon data as I’m assuming a lot of these worlds will be severely damaged in the conquest era so their pop and TL stats could have been higher.

  • Jewell
  • Efate
  • Ruie (damaged)(subjugates Regina at start)
  • Algine (damaged)
  • Aramanx (damaged)
  • Vilis
  • Heroni / Natoko (damaged) (confederation)
  • Porozlo (subjugates Rhylanor at start)
  • Mora / Fornice (atmos damaged?)
  • Palique (atmos damaged?)
  • Lunion / Strouden
  • Gram / Sacnoth (sword worlds)
  • Mire (Darrian) (higher tech)
  • Iderati (five sisters)
  • Collace (District 268)
  • Glisten / Tirem
  • Robin? (damaged)(refugees to Dodds?)

so c. 20 fleets in all divided up into multiple small alliances


Caesar’s Conquest of Gaul

The idea here is to treat the setting a bit like Caesar’s Gallic Wars with the pocket empires as similar to the Gallic tribes, disunited and split  into various alliances who are hostile to each other or at least distrusting and competitive.

The 3I’s strategy is to insert itself into local politics, taking sides in disputes and using a combination of diplomacy, bribes, assassination, sabotage and occasionally outright war to take advantage of any opportunities that arise to add new Alpha systems and their retainer systems to the empire.


Dark Heresy Travellerized

I like the Warhammer 40K Dark Heresy setting but dislike the system so I thought I’d Travellerize it so I’d actually use the setting instead of just using it to mine ideas.

Not sure how copyright works for something like this so won’t write it all – just illustrate the general process.


Dark Heresy has a lot of attributes, skills and traits/talents – too many imo so

  • remove the attributes (mostly)
  • simplify the skill list
  • remove most of the talents/traits except those that add career and setting flavor



keep it ultra simple – play like CoC with rocket launchers – focus on investigation – combat lethal – shoot them in the back with rocket launchers or die

  • standard task with skill-0 roll 8+ on 2D6
  • hard task with skill-0 roll 12+
  • standard task with no skill roll 12+

failure by 1 or 2 generally isn’t complete failure depending on task – adds more time or a complication – fail by 3+ is more final

succeed by 3+ is a crit


Physical Traits

characters can have two

  • one fixed choice assigned with career choice
  • one chosen as an advance


  • acute senses
  • strong
  • agile
  • tough (resistance to physical attacks)
  • intelligent
  • strong-willed (resistance to mental attacks)
  • perceptive (social skills)
  • sanctioned psyker (only psyker career)
  • mechanical implants (only tech priest career)

physical traits give a DM+1 on relevant skill rolls



compact a lot of the skills

  • barter (inc evaluate)
  • charm (inc deceive)
  • command
  • drive (pick one specialty – others are one skill rank less)
  • pilot (pick one specialty – others are one skill rank less)
  • navigation

languages and lore – combine into one skill with different target scores

  • lore (common lore 8+, scholastic lore 10+, forbidden 12+)
  • languages (common, high, secret, ciphers)

stealth: urban (inc silent move, concealment, shadowing, security)
survival: rural (inc silent move, concealment, tracking, wrangling)
tech use

inquiry (inc scrutiny, search)
intimidate (success adds DM to inquiry or interrogate)


weapon skill categories

  • melee (inc primitive ranged)
  • pistols
  • ranged
  • heavy

weapon type categories

  • primitive
  • blackpowder
  • slugs
  • las
  • shock
  • chain
  • bolter
  • flame
  • melta
  • plasma
  • power
  • exotic


Traits & Talents

by career


  • chem geld (immune seduction, resist charm)
  • disturbing voice (acts as intimidate-0 skill)
  • electro graft (requires tech-use-0) (effect DM+1 lore, tech use)
  • binary chatter (requires electro graft) (effect boon command servitor)
  • flagellant (DM+1 sv vs corruption)
  • master chirurgeon (requires medicae-0) (boon medicae)
  • orthoproxy (DM+1 sv vs corruption)
  • resist psyker/walled mind/mental fortress (DM+1/2/4 sv vs psychic attack)
  • total recall (requires intelligence) (boon lore)

boon = roll 3d6 and keep two highest



career focus

  • adept : knowledge
  • arbitrator : inquiry & combat
  • assassin : stealth & combat
  • cleric : command
  • guardsman : combat
  • psyker : psyker
  • scum: inquiry & stealth
  • tech-priest : tech-priest


Career Start


  • physical trait: intelligent
  • lore-1
  • language-1
  • choose melee-0 or pistols-0


  • robes, chrono, data slate, writing kit, staff or revolver+6


Available Advances

  • common advances
  • career advances
  • drive
  • pilot
  • navigation
  • 1 archivist: lore, language, melee, pistol, flagellant
  • 2 scrivener: inquiry, tech-use
  • 3 scribe: interrogation, electro graft, shock
  • 4 chirurgeon: medic, master chirurgeon, chem geld, chain
  • 5 scholar: command, binary chatter, disturbing voice, bolt
  • 6 comptroller: barter, resist psyker, flame, melta
  • 7 logister: walled mind, orthoproxy, plasma
  • 8 sage: total recall, mental fortress, exotic, power

nb the character doesn’t get these advances automatically – the advances listed are the ones available to choose




Option 1: Traveller Style

1) pick career – base skills and gear

2) roll above next career rank for promotion on 2d6

  • add 4 years to character age
  • add 3 skill advances or 2 skill advance and 1 trait/talent per rank

example Adept

  • need > 2 roll 4
  • need > 3 roll 7
  • need > 4 roll 10
  • need > 5 roll 7
  • need > 6 roll 6

so four promotions, now Scholar, rank 5, 34 years old, 12 skill/trait advances

  • drive-0
  • lore-2
  • language-2
  • inquiry-0
  • tech-use-0
  • interrogation-0
  • melee-1
  • pistols-1
  • flagellant
  • disturbing voice
  • shock weapons
  • bolt weapons

weapons: bolt pistol and shock mace


Option2: DH Style
  • 1) pick career – rank 1, base skills and gear
  • 2) take free advance
  • 3) one advance per successful mission
  • 4) roll for promotion to next rank after successful mission
  • promotion requires total start skill ranks >= new rank
  • promotion DM+1 per total start skill ranks > new rank

example Adept – Rank 1, c. 20 years old, 1 free advance

  • Archivist
  • lore-1
  • language-1
  • pistols-1


Campaign Start – Void Ship

players are part of the inquisition team on a ship the size of a small town




  • old ships used more fuel, most fuel space reclaimed but base level left for bilges
  • sewage reclamation
  • here be monsters
Engine Room
  • lower deck – aft
  • tech priests and minions
  • large central block – lower, middle and top decks
  • elevators no longer work
  • stevedores lift cargo with chain pulleys
Cargo Deck
  • lower deck fore
  • stevedore town (rough)
  • middle deck aft (imperial: adepts, arbites, players)
Crew Deck
  • middle deck fore (other non officer crew)
Priory Deck
  • upper deck aft (clerics)
Bridge Deck
  • upper deck fore (ship’s officers)



create a bunch of end nodes that contain

  • red herrings
  • criminals
  • heretics
  • mutants
  • cults
  • bilge monsters
  • a chaos thing
  • a xeno thing


  • create set of clues which point to various locations – multiple clues per location
  • eventually players hit one of the end nodes
  • each end node successfully investigated gives an advance
  • first clue leads towards a weak criminal end node but side clues may lead away

extremely useful links for node based design (follow all links)

Three Clue Rule




Traveller Bestiary: Group Conflict

Creating a hook in any context where there are sentient groups – including humans.


Antagonist and Protagonist

Either decide one side of a conflict depending on world stats e.g. planetary government, and then roll for an opposing force or roll for two opposing forces.

Group Conflict Table

D12 (or 2D6 first 1-3 = +0, 4-6 +6)

  • 1 individual
  • 2 small group / family / gang
  • 3 corporation
  • 4 free company
  • 5 sectional group (i.e. members of a particular interest group like ranchers, miners, fruit sellers etc)
  • 6 political party
  • 7 territorial group e.g. two sub-colonies
  • 8 bureaucracy
  • 9 charismatic leader
  • 10 non charismatic leader e.g. challenge to ex leader’s son
  • 11 charismatic group
  • 12 religious / ideological group



  • roll for conflict group
  • compare with known govt type
  • roll for which is the bad guy 1-2: govt, 3-4 both (diplomatic option), 5-6 rolled group


  • roll twice for two conflict groups
  • roll for which is the bad guy 1-2: first rolled group, 3-4 both (diplomatic option), 5-6 second rolled group

nb “bad” != 100% evil (although it might be)

roll until a result sparks imagination



Example 1: assign one side of conflict e.g. local authority from world stats and roll on table

  • research colony leadership vs sectional interests
  • roll: neither bad guy
  • some conflict over priority or resources

Example 2: assign one side of conflict e.g. local authority from world stats and roll on table

  • colonial admin vs territorial group
  • roll: colonial admin bad guys
  • conflict over boundaries caused by colonial admin

Example 3: roll twice

  • religious group vs free company
  • roll: religious group are the bad guys



Use the random person encounter table or the patron table to do the same thing.

Example1: assign the govt type, say it’s the local colonial admin and

  • roll on personal encounter table -> colonial admin vs religious group
  • roll on personal encounter table -> colonial admin vs naval security troops
  • roll on patron table -> colonial admin vs ship’s crew or crewman
  • roll on patron table -> colonial admin vs mercenary

Example2: roll twice on the personal encounter table

  • conflict between religious group and naval security troops

Example 3: roll twice on the patron table

  • conflict between ship’s crew or crewman and mercenary

Example 4: or one roll on each table

  • conflict between religious group and ship’s crew or crewman
  • conflict between religious group and mercenary
  • conflict between naval security troops and ship’s crew or crewman
  • conflict between naval security troops and mercenaries



Traveller Bestiary: Ancients

I’m using Ancients as the link to Cthulhu Mythos but the form of the Mythos varies with the theme of the setting.


3rd Imperium

In my 3I the Ancients are like Illithids / Mind Flayers from D&D i.e. a more or less humanoid star faring species with high tech, psionic powers and star ships etc see “My 3I: Ancients.”


Pulpy Setting

In a setting with a more pulpy theme I am treating them as closer to the CoC game but merged into my handwavium for how Jump drive works (see “My 3I: Handwavium.”)



  • Yog-Sothoth, Shub-Niggurath, Tsathoqqua, Ithaqua, Azathoth, Hastur, Chaugna Faughn etc

These are very powerful entities which exist wholly or partially in 5D jump space (or may only be aspects of 5D space that psykers, sorcerors, cultists etc in the past perceived as Gods). They effectively have extreme psionic talents and whatever they actually are they “work” as Gods i.e. sorcerors can use ancient rituals to get Yog-Sothoth to teleport them, even across space

  • servitors

associated with the above gods



These are (or were) the actual Ancients

  • Cthulhu like species of varying size and strength
  • Teleport/Jump across space in psionic controlled pyramid ships
  • Pyramid ships need gravity to be right to operate
  • Often go to sleep when stars aren’t right
  • Wake up, eat everyone, travel
  • Engage in terra forming for some unknown reason (evolve species for food?)
  • Engage in uplift for some unknown reason (increase population density for food?)

Commonly use Chtonians, Deep Ones and Tcho-Tcho as terra formers

Possible Handwavium: Pyramid ships require sacrifice. Death causes the 5D aspect of a creature (soul) to be pulled back so mass death can create a temporary rift which makes it easier to jump – hence terra forming, uplifting etc – seeding planets with life because death is their jump fuel.


Animal Intelligence

  • Shantaks – have a home world somewhere, transported to others occasionally


Ape/Dolphin/Ant Intelligence

  • Cthonian – transported to many worlds as terra formers (up to one per subsector)
  • Shoggoths – used as guard dogs so transported to many worlds and often one or more are left behind


Hunter Gatherer Level

  • Deep Ones – transported to numerous worlds as terra formers (one per subsector possible)
  • Tcho-Tcho  – transported to numerous worlds as terra formers (one per subsector possible)
  • Nightgaunts – home world, transported in breeding quantities occasionally


Special Level (farmers upwards)

  • elder things, mi-go, great race, flying polyp, serpent men



Weird Science

Creatures that are somehow connected to 5D so don’t behave in a “natural” way in 4D

  • formless spawn, dimensional shambler, star vampire, hound of tindalos
  • color out of space, flame vampire, hunting horror etc

creatures don’t necessarily look how they are depicted – the form is how they are perceived to be in 4D


Natural Space Travel

Byakhee – their “Hune” is like a natural anti-grav / m-drive / j-drive device

Shantak and Nightgaunts have a partial anti-grav “Hune” that reduces their weight making it possible for them to fly.



Don’t want to overdo the Mythos aspect – max 3-4 sites per sub-sector


Knowledge of Mythos

Many worlds will have no knowledge of the Mythos so if the players are from such a world there won’t be any ancient books like the Necronomicon – that world would only learn about it through exploring.