Multipurpose Traveller5 (T5) workspace: Go code, extracted rules reference, and worldbuilding synthesis for fiction.
Go module: github.com/philoserf/t5.
internal/— the Go engine:dice,ehex,uwp, and the generatorscmd/— command-line front ends for the generatorsdocs/pdf/— source rulebooks (T5 Core Rules Books 1–3 + Read Me), git-ignoreddocs/reference/— text extracted from those PDFs, git-ignored (see below)
All generators share a single seedable dice engine (internal/dice), so any run
is reproducible with -seed. Each command takes -n (count) and -seed.
go run ./cmd/worldgen -n 5 -seed 42 # mainworld Universal World Profiles
go run ./cmd/systemgen -n 5 -seed 42 # star systems (stars, gas giants, belts, mainworld)
go run ./cmd/chargen -n 5 -seed 42 # character UPPs
go run ./cmd/chargen -career scout -n 5 -seed 42 # careered characters (qualify, terms, skills, muster-out)Example output:
$ go run ./cmd/worldgen -n 3 -seed 42
D665656-7 Ga Ni Ag Ri
C7A5958-A Fl Hi In
B160113-B De Lo
$ go run ./cmd/systemgen -n 1 -seed 7
Primary: K5 V
Primary Companion: M0 VI
Worlds: 6 PBG: 901
Mainworld: E643231-6 Lo Po {-3}(810-3)[1164] B - -
$ go run ./cmd/chargen -career scout -n 2 -seed 7
Scout — age 22, mustered out after 1 term
UPP 785399
Homeworld B6667B8-9 Ga Ag Ri
Education BA — Psychology (major), Robotics (minor)
Skills Actor-1, Animals-1, Athlete-1, Biologist-1, Comms-2, Fighter-1, Hostile Environ-1, JOT-1, Medic-1, Psychology-4, Robotics-2, Trader-1
Benefits Ship Share
Citizen — age 34, mustered out after 4 terms
UPP 5767A3
Homeworld B87A663-8 Wa Ni
Education BA — Psychology (major), Robotics (minor)
Skills Actor-1, Admin-5, Advocate-1, Artist-1, Athlete-1, Author-1, Biologics-1, Biologist-1, Broker-3, Bureaucrat-2, Chemist-1, Craftsman-1, Driver-2, Hostile Environ-1, Medic-2, Physicist-1, Psychology-4, Robotics-2, Seafarer-1
The second character failed to qualify for the Scout service (even on the Retry the first career allows), so — as T5 has no draft — they fall back to the Citizen life, whose Begin is automatic (Book 1 p. 63).
A character's homeworld (a generated world) grants one skill per Trade Classification (Book 1 p. 56), and college — when they qualify — grants a Major and Minor and raises Edu (Book 1 p. 60), so the worldgen and chargen engines feed each other before a career even begins.
The mainworld line is the full world record — UWP, trade classifications, the
{Ix}(Ex)[Cx] Extensions, nobility, bases, and travel zone.
The engine is faithful to the rules and validated against the books' own worked
examples — e.g. worldgen reproduces the Regina profile A788899-C and the
generated part of its record, A788899-C Ph Pa Ri {+4}(D7E+4)[9C6D] BcCeF NS -.
(The book prints Regina with two more trade codes, An and Cp — an Ancient Site
and a Subsector Capital. Both are referee-assigned rather than generated, so the
line is the generatable subset of the book's, not a copy of it.)
Chargen runs the character lifecycle (homeworld skills, college with a Major and
Minor, then career qualification, four-year terms with Risk & Reward and aging,
skill eligibility, and mustering out) for all thirteen careers, each selected
with its own -career value: the Scout, the fixed-characteristic Rogue, the
rankless Agent, the auto-enrolling Citizen (benign Citizen Life), the Fame-driven
Entertainer, the Masterpiece-making Craftsman, the single-ladder Scholar
(Research and Publications), the Office-Politics Functionary, the Noble (Return &
Intrigue, Elevation and Land Grants), the dual-track Merchant (Rating/Officer,
Ship Shares), and three ranked armed-forces careers — the Soldier, Marine, and
Spacer — whose enlisted/officer ladders, Commissions, and Medal-boosted
promotions exercise the rank engine (e.g. -career soldier). A character may
serve several careers in sequence — -career scout,merchant,noble — aging
and accumulating skills, benefits, and rank across each. The rest of the
education institutions and per-world orbital detail (systemgen) are the next
stages.
task # run the tests
task check # gofmt, vet, test — the pre-commit gate
task extract # regenerate docs/reference/ from the PDFsThe T5 PDFs are not committed (git-ignored) — they are Marc Miller / Far Future
Enterprises material and not ours to redistribute. To work with the reference and
extraction pipeline, obtain them yourself and drop them in docs/pdf/:
Traveller5 Core Rules Book 1 Characters and Combat.pdfTraveller5 Core Rules Book 2 Starships.pdfTraveller5 Core Rules Book 3 Worlds and Adventures.pdfTraveller5 Read Me.pdf
Then task extract runs pdftotext over them into docs/reference/*.txt for local
reading and reference. That extracted text is also git-ignored for the same copyright
reason — it is a local, regenerable derivation, not something we redistribute. The Go
generators encode only the rules' mechanics (formulas and small tables), hand-authored
from the reference and validated against the books' worked examples.