Saturday, March 14, 2026

Traveller System Update 31 - Orbits Part 2

Got to adding the UX (User Experience) for entering the data from the various charts in Book 6, pages 44-45. I've essentially combined all those charts to single chart. 

Edit and creates have nice drop-downs and the index seems decent enough.

Dropdowns!

Charts!
I do realize when reading what other people do when creating Traveller software that I am doing this in an entirely different direction. I'm coming from the viewpoint that the user may have a different physics or using more up to date info than the Scouts Book 6. This application is very, very heavy on allowing the users to edit and maintain all those tables.

Is this a good approach? Not really - people just want to use the stuff without having to deal with all that under the hood stuff. However, there are plenty enough applications out there for most of this, and all with a much better interface. My personal interests have always been in what we call the backend for software: the databases and internal business logic. Which is great for some things, and not so great for others. 

Regardless, this is my approach for this. In theory, of course, someone could write another application using the very same database that this system maintains. Why I chose SQLite to externalize the DB versus hardcoding all these values was to allow other applications access. Again - that's how I've always worked in the past: the DB is entirely independent of the application. Had one job where I mostly wrote microservices, and they all interacted with the same database. I'll also note the repo is under the MIT open-source license, so people can do whatever they want with the software.

Anyway, I'll have to finish adding all the data, then I can actually calculate the planetary orbit! I think - I may have missed something else but Ill cross that bridge when I get there.

And my next post will probably be the expected Corsairs recap, along with notes about why we are switching to the Dolmenwood game as an experiment.


Friday, March 13, 2026

Wondrous Worlds - Quick Review and Run Through

I recently got the physical book Wondrous Worlds, another book in Nord's world building series. I do seem to collect these. The link above gives a free preview and other people's reviews. But here is mine anyway!

Overview

Physically, it is a nice hardcover, with artwork similar to their other books. Nice art, if, hmm, not bland per se, but nothing really outstanding. I'd go with typical fantasy art. Which I may be getting jaded on, as with the internet it is everywhere and easy to find. Not like when you had to go out and buy books. But it is nice art. The pages are sepia toned with a spot of blue around the page number. 

The contents have 8 chapters and 7 appendices. The chapters are relatively short, with the meat of the book in the appendices for the detailed tables and a few other things.

Chapter Overview

Chapter 1 is the introduction, with an overview of the process and the advice to start small and build up. It has the usual advice that sometimes the results look strange, but often you can find good stories in those contradictions. Which any Traveller player already knows from world generation! It gives succinct paragraphs about the various things that go into deigning the world.

Chapter 2 is a quick start guide and runs through creating a region. Roll for the environment on a d12 table, adding points of interest such as landmarks, settlements, and destinations. Of course, they also have the Wondrous Destinations: Forests and Wondrous Settlements books, so you can really expand upon those. I also have those books and have used them. If anyone wants, I can also do reviews of those if I've not already. Decades of blogs and well, I don't always remember! Then step 3 is the realm, where you throw in all your regions. Realms have governance and rules, as well as borders. 

Chapter 3 is regions, the entire purpose of the book. To quote from the book:

In this chapter, you’ll shape your world by first choosing or rolling for different environments—each with unique topographical features, weather patterns, resources, recent history, flora, fauna, and looming dangers. You’ll then populate your region with points of interest such as majestic waterfalls, ancient monoliths, bustling trading posts, hidden villages, and haunted ruins. Finally, you’ll delve into the region’s culture and society, exploring its governance, traditions, economy & trade, history & lore, and conflicts. By blending these elements, you’ll create a richly detailed setting brimming with intrigue, laying the perfect foundation for your worldbuilding journey.

The environments table now includes the appendix where that gets expanded out a good deal more than the quick start chapter. There are more landmarks with d4 options for each. You roll on the history table, 20 possibilities with another d4 set of options each. You can have magical effects such as "arcane amplification", another d20 table with d4 options per effect. Settlements are next, with an abbreviated version of the Wondrous Settlements process. Destinations give a d12 list of various destinations, such religious structure or outpost. Dangers exist in the worlds of course - but apparently only d6 types. It finishes off with 20 possible regional conflicts.

Chapter 4 is Realms. Regions (and I suppose it could be a single region in a realm). There are 8 sections getting created: culture and society, inhabitants, governance and rules, history and mythology, economy and trade, magic and technology and conflict and tension. Multiple tables per each section expand out on this, along with the note that you are of course, allowed to add more. Heck - I could see possible even adding some of Traveller's government types here, though tis books has 20 types already. There are some interesting tables that can help spark the imagination. 

Chapter 5 covers continents. Just as realms are made up of one or more regions, continents are made up of one or more realms. It is like those Russian nesting dolls. In the case of mapping to Traveller, we probably have a balkanized world. The continents chapter incudes sections for geography, climate, global powers, lost civilizations, continental trade and cultural divisions. Multiple tables give all sorts of possible options, such as atmospheric rivers, glacial advances and retreats and so forth. 

Chapter 6 covers worlds. Which of course, are made up of one or more continents. Here we cover the solar system, celestial bodies, cosmic phenomena, divine and magical influence on the world level, and cultural influence that flavors the world. Interestingly for a fantasy world system, there are tables for the moons, the type of suns and how many, things that are more generic and fantasy based than our Traveller system generation. Of course, this book is for creating a fantasy world. But I can see a fair amount of overlap between the systems. 

Chapter 7 covers the planes. Our created world may live in one of a series of planes, such as the feywild with magic pretty much oozing out of everything. This is a short chapter of just a few pages and a short paragraph for each plane. Wondering if they are planning a Wondrous Planes books to expand on that :)

Chapter 8 covers pantheons. Creating your deities based on the planes, choosing forms, power source, abilities, motivations, methods, bonds, familiars, and relics. Then we have several pages going over existing pantheons: Greek, Norse and Slavic. A fairly short chapter with more general information than anything really specific. Of course, bringing in deities do not really need much more than what their attitude is and how they do things: they are gods so stats and things like that are useless and to me even counter productive.

Appendix Overview

Appendix A Environments. This is where each environments gets 10 or so pages with environment specific tables. Each of the 12 environments gets a few steps. Step one gives a type, an age, weather, characteristics, resources and local history. Some may have additional tables. Step 2 covers life: plants and animals, how many and what kinds of each, food chains, monsters, humanoid populations, traffic and dangers. This is the real meat of the book to be honest and is also the largest section. I'll give an example in the next few posts of creating a region as this post is already longer than I normally do. 

Appendix B is a brief overview of mapmaking. Those who read this blog know I love maps. This is a pretty short chapter covering some really basic map making, breaking it down to 4 steps: sketch, outline, detail and shading. Obviously, this is for the old-school (and still my favorite despite just how many map making programs do I have again?!) pencil on paper map drawing. It covers various ideas for drawing a variety of things, mostly using the 1-point perspective if I remember my high school art classes from almost 5 decades ago. 

Appendix C covers iconic regions. It is a set of pre-generated regions, one per environment. It is a good place to see what the end product could be, and is just over a single page per region. 

Appendix D gives iconic characters. There is a d12 table that could be useful for NPCs with archetypes, and gives their strengths, weaknesses and goals. Then we get a few characters with their role and archetype, along with a couple paragraphs to help define them. 

Appendix E gives some iconic landmark examples. This helps give you some ideas on how to use those tables to give a more nuanced and in-game perspective on the landmarks you have rolled up. 

Appendix F are iconic settlements. Which, if you have the Wondrous Settlements book is a short rehash of that albeit with different settlements. Basically 1 page or so summaries of a few settlements ranging from outposts to major cities.

Appendix G are iconic destinations. A dozen destination examples. I did a quick run-through 5 years ago (!) for that book here.

Summary

Yes, another book on world building. It is pretty detailed, has a lot of tables that, like Traveller, can be expanded on and at least give a spark to creativity. As with generating characters, random stuff I think helps me from creating the same old thing every time. 

Is it a useful book? I think that really depends on how often you create new worlds and regions. Most of my fantasy games, regardless of the actual game, are on the same world. It just happens to be a very large world with a lot of space. Cidri (the Fantasy Trip world) is several times larger than Earth, and my little fantasy world sits on it someplace. As does the Dolmenwood forest, which I'll be running next on our Saturday games (and yes, I owe the players the last game Corsair recap, and that will cover why we are switching games).

For players, it is not something they need unless they want to read up on things like that. Or write and would like some inspiration. For GMs, if you are running sandbox games, I think it is a good tool though to be honest, a bit more limited due to the tables. Yes, there are d20 tables with d4 options. That does give 40 possible things often. And used as the start of something I think it can be a good springboard. As much as I dislike the idea, you can also ask AI to generate a lot of this for you, and it may come up with really interesting things as well. I buy books like this as I prefer the human touch. There are also a LOT of on-line tables and generators created by people that are probably just as useful. 

There are also some appendices I don't think need to be there - the iconic characters, settlements and destinations are covered in their other books. I know this book is sort of the capstone of their other books, but those sorts of things are available all over the place. I've backed far too many Kickstarters for NPCs, settings and so on. Some of which I've actually used but mostly, not. But that fault lies with me honestly. 

In the end, I do recommend the book because it does give more options and may create a really unique setting to play in. It is a tool I think that can be useful. And of course, I do like books!

I'll have an example run through at some point using the book.

Wednesday, March 04, 2026

Traveller System Update 30 - Orbits Part 1

I decided to next calculate the year (orbital period) for the planets in our system. Asked AI and realized I may need to add a bit more to some of the tables. But that is easy, and adding the orbital period is not hard. As it is a calculated field, I may just generate it on the fly as needed vs saving it.

To get the math formulas to work, I added some scripts to my theme's HTML. And yes, AI gave me the answers to that after a couple false starts. MathJax-script is the javascript library behind that.

I've added a new table that incorporates the stellar data such as luminosity, mass and so on. Then realized there more tables on the next page. And we also need the orbits table that indicates the AU and distance. But I figured 8+ hours of work mostly in .NET (a good bit of Rails review to see what I screwed up in translating the code, and yes, *think* I found it) an hour or so getting the basic table up if not functional is a good step. The stellar type and size need to be drop downs to save off the correct foreign keys. Not sure when I'll get back to this - running the Corsairs game this weekend and while I spent almost an hour doing some brainstorming, I still need to work on some more details. But some progress at least! I should be able to add the other table and data fields possibly this weekend. And the generated code for the controller and views is technically not AI but a scaffolded process that a number of frameworks have to help with the basic grunt work for those things. All I do is select the model and it will create the controller and views for me. And as I (finally!) thought to use the DisplayName tag in the models, the labels are much nicer than the field names.


AI response to me asking how to calculate the period. Despite having the book sitting right next to me. I worry I am outsourcing my thinking now.

You picked a good rabbit hole here—Book 6 is quietly pretty crunchy under the hood.

1. Get the orbital radius from the orbit number

In Book 6: Scouts, look up the radius \(a\) in AU for the given orbit number.

2. Get the star’s mass

Look up \(M_\star\) for that star (in units of \(M_\odot\)).

3. Use the Kepler-style Traveller formula

Book 6 uses Kepler’s third law:

$$P_{\text{years}} = \sqrt{\dfrac{a^3}{M_\star}}$$

4. Convert to days

$$P_{\text{days}} = P_{\text{years}} \times 365$$


5. Worked example (Orbit 5)

If \(a = 2.8\text{ AU}\) and \(M_\star = 1.0\):

$$P_{\text{years}} = \sqrt{\dfrac{2.8^3}{1.0}} \approx 4.69\text{ years}$$

$$P_{\text{days}} \approx 1710\text{ days}$$

Wednesday, February 25, 2026

Eldritch Gits Character - Franklin Deleanor Smith

We're starting a new game, Eldritch Gits. I'm playing a 4-term soldier who went into the Infantry. As I've mentioned in the Space Gits & Fantasy Gits games, the Gits series takes after Traveller a lot in terms of prior history. You go through each term, gains some skills or abilities, and have an event. I managed to go all 4 terms, the max, without going to prison. As did 2 of the other players. One ended up in prison for initially a 3-year sentence but apparently misbehaved and had 4 years added. Though he ended up getting out a year early for good behavior. 

Randomly rolling my background, Frankie is born to poverty. Born 1893 to an impoverished family, he decided the Army was his way out of the wrong side of the tracks. His first term he gained a bit of smarts due to a good Army education. He also improved his dexterity and gained the Athletics skill. His second term, he specialized and joined the Infantry, learning the machine gun skill as well as gaining even more dexterity and strength. His 3rd 5-year term he had a strange encounter with a gypsy: he learned he was going to die on a boat. And as a side note, the GM had already said we would eventually be on a ship later! I feel I need to play Frankie like Mr. T in the A-Team and refuse to go on boats instead of flying! Frankie also met another player's character in prison. We were doing 1 term per player rounds, and one had "you meet someone" and it ended up being me. As we both ended up being enforcers for our gang later, this was our initial bonding apparently. In the final term, I gained some more skills and also made a pact with something "dark" for a favor. I asked for the name of the boat I was going to die on. Which oddly gives me a sense of immortality: if I never get on that boat I won't die! So Frankie can be pretty aggressive about a few things as he feels he won't die until he is on that boat. 

And I also just realized he would have been in the Great War, World War 1. That was July 1914 through November 1918. He was 19 when it started. And actually, let me see when his birthday is: d12 = June, and a d30 = 17. June 17, 1893. Here are some events for the day little Frankie was born:

  • Gold is found in Kalgoorlie, Western Australia.
  • The overthrow of Queen Liliuokalani in Hawaii occurred, with American planters establishing a new government. 
  • The Wengernalpbahn railway in Switzerland was opened, connecting Wengen to the surrounding areas. 

Frankie has 4 siblings, 4 younger brothers: John, William and James (top 3 most popular names in the 1890s). Random rolls all ended up being younger brothers. Only 1 was also in the Army for the Great War, John, who is a year younger than Franklin. 

After we all went through our terms, we ended up with 2 enforcers and 2 brains of the party. The other players had some fun backgrounds, especially the one who went through prison. The brains of the party also have eldritch books - what could possibly go wrong?! We have a speakeasy behind the Hurricane Books and Curious. We've hired Joey, a kid, to keep watch for the cops, and added a poker table to the roulette table. Currently we get our liquor and load it through the loading dock at the back of the bookstore, which has a hidden door to the speakeasy. We added curious to the name to explain the potential sloshing of the boxes: snow globes, why yes, we do import snow globes. 

I want to play him as a brash person: he lived through the war and saw the atrocities that man can inflict on fellow man. One of the reasons he joined the gang to operate the speakeasy: man can be cruel, and you may as well fleece them for what you can as they deserve no better. His 20 years in the military taught him to be punctual, dress for the environment, and have a firm sense of hierarchy and command structure. Not sure which of the brains, Dr. Theodore "Ted" Knight or Dr. Winston Forrest Roberts, is the one at the top of that structure. But he views Tommy McCaffery as his equal and treats him like one of his younger brothers. The 2 doctors he will always respond with a "sir" in there somewhere as his army career never got him much higher than a sergeant or some NCO level. He also feels invulnerable and will take risks he should not. But refuses to get on boats. And perhaps also looks over his shoulder a bit, wary of that pact with something dark. He sleeps with the lights on, and a knife always strapped to him. 

Still poking around to find a good character image. 1930s soldiers are not hard to find, though I do want drawn art versus photos. For some reason I really don't like using real people for my games. One of my many quirks I suppose. 

most of the character sheet






Sunday, February 15, 2026

Traveller System Update 29 - finished data entry and refactored details

Yes, I had a bit more time today as both my regular gaming sessions got cancelled. Life and family happens. And I wanted to get the software to a better place than I left it yesterday. And I needed to get off the couch. I did finish putting in the world details, and then I refactored the planet controller. I was specifically calling the trade classification service which takes in a planet's UWP and spits out a list of trade classifications. We really only use the name, and, as I mentioned in the last post, we're going to be adding more planet details beyond the trade classifications. Such as the world details for gravity, surface area, etc. 

I added a "Planet details service" that will return a dictionary, basically the title and a list of strings. For our trade classifications, dictionary is "Trade Classifications", list of trade classification names. But it will also return (eventually) things like "World details": "gravity 1.125", "escape velocity 12 m/s" and so on. I updated the view to basically take that list and the "title" is a <h5> header and then list the details. 

This means we can add whatever we want to the details and the view will just show it automatically. Pretty easy and generic. Later on thinking we could even add formatting info somehow.

The new service:

using TravSystem.Models;

namespace TravSystem.Services; public class PlanetDetailsService : IPlanetDetailsService { private readonly ITradeClassiificationService _tradeClassificationService; public PlanetDetailsService(ITradeClassiificationService tradeClassificationService) { _tradeClassificationService = tradeClassificationService; } public async Task<Dictionary<string, List<string>>> GetDetails(TPlanet planet) { Dictionary<string, List<string>> results = new Dictionary<string, List<string>>(); List<TradeClassification> trades = await loadTradeClassifications(planet); results.Add("Trade Classifications", trades.Select(x => x.Name).ToList()) ; return results; } private async Task<List<TradeClassification>> loadTradeClassifications(TPlanet planet) { List<TradeClassification> tradeClassifications = await _tradeClassificationService.FindTradeClassifications(planet.UWP); if (tradeClassifications.Count == 0) tradeClassifications = new List<TradeClassification>() { new TradeClassification() { Name = "none" } }; return tradeClassifications; } }
And then the controller just does:
// GET: TPlanets/Details/5 public async Task<IActionResult> Details(int? id) { if (id == null) { return NotFound(); } var tPlanet = await _repo.GetByID(id.Value); if (tPlanet == null) { return NotFound(); } ViewBag.Details = await _detailsService.GetDetails(tPlanet); return View(tPlanet); }
and then the view:
@{
    ViewData["Title"] = "Details";
    var details = ViewBag.Details as Dictionary<string, List<string>>;
}
....
@if (details != null)
{
    foreach (var kvp in details)
    {
        <div class="mb-3">
            <h5>@kvp.Key</h5>
            <div>@string.Join(" ", kvp.Value)</div>
        </div>
    }
}
and voila, details!

While working on this, somewhere along the line I wiped out my trade classifications data. I put it all back in using the T5 book. But I did not use commas, and that broke the service. I started putting in commas between each value, then the lightbulb went off - this is pseudohex code, so 1 character per value. I updated the service so that for each line if there are commas, it will split that way, else will split per character. I do need to verify it is working correctly but it does save on some data entry. But it is all or nothing.
ugly mix but allowed
The Wondrous Worlds is setting next to me at my desk. I'll probably do a overview/review of it in the next post or two. I'm also re-reading The Science of the Mind - I used it as a resource for my master's thesis way back and it has been sitting on my science shelf the last 30 years. So figured I should either re-read it or put it into the used bookstore pile to go. Not sure my brain is still up to that!
And yes, halfway through February already. Tempus fugit. And fugits faster as we get older.


And just in case anyone wants to look at the code: https://github.com/COliver988/TravSystem

Saturday, February 14, 2026

Traveller System Update 28 - World Data

I felt like getting back to this for a bit. Originally, I was going to start adding some stuff from the World Builder's Handbook but, after finally finding that (the Mongoose version, sadly I just have the PDF but the book is too $$ for me!), and looking at how it did something, I remembered that the Scuts book also had more details. Specifically, I was looking at calculating the gravity for the world. And there is a World Data table on page 48. 

It is now added to the software. I've not finished adding my data, nor added that to the planet details yet but probably will over the weekend later. Meaning I may add a new "planet data" service that this is just the start of. I want to add those quirks about society, the physical details like albedo maybe. And eventually create the animal encounter tables. With events. At least that is the current plan.


I also got the Wondrous Worlds book and will see about doing a preview. Yes, I do seem to do a bit of world building. And probably have far too many books for stuff like that. On the other hand...



Sunday, February 08, 2026

Corsairs Session 5: The Leiford Mines

Returning to the Dulcet Spire, Captain Penny gets 2nd mate Smitty to sell the sky whale meat they managed to harvest before the predators started in. Plans were being made: Smitty, John and Leslie, crew members, were to explore and check out the slave market on the Spire. During discussions, they did find that he Leifords did free some Batkin children, and that they found something strange deep in the mines. While discussing plans with the officers, a bosun alerted the captain that Mathew Roberts was requesting to come aboard. After brief greetings and an apology about not being able to get to the trade station at the appropriate time, Mr. Roberts said that the Navy seemed to be concerned about the Wind Razor. The crew did not all wear the appropriate uniforms, and apparently the Apderil Empire has a fairly strict uniform culture. He also had a map of the mines. Which apparently, we all forgot about. I had a couple mine maps ready to go and they never made it to the table. Not really necessary the way we played that scenario.

Deciding that perhaps their stay was over, they sent a runner to the slave market to retrieve their crew and took off post-haste. They did send Smitty to the Harbor Master's office to see if they could get a prorated amount of their docking fees back. Smitty is not a good bargainer: they almost had to pay early termination fees (snake eyes on the attempt. The players should not have let me roll!)

Leo, the pilot, despite several weeks of learning his craft, is still not particularly good with directions. They do manage to get to the mine, only 6 miles away. The fly closer and the officers debark behind the mountain where the guard tower cannot see them. Partway there, there are attacked by a carapaced creature of the Corsair world. Batrina was made aware and not wanting to alert the guard in the tower, drew steel. The battle was fairly swift with Tibbs, the dragonet, putting in the killing blow. And taking a bite to eat. 

Guard tower and mine entrance

Behind the tower, Tibbs provides a distraction from the guard as Batrina climbs up. A brief struggle and she knocks out Frank. The others climb into the crowded tower to decide on plans. There is a hatch in the middle of the floor that leads to the lower section. It is mostly a small storeroom: a barrel of water, some emergency food, and some swords, cross bows and bolts of arrows. 

Henry, the sneakiest of them, goes to the mine, and seeing no one there, sneaks into the passage. The player had a fantastic roll - all successes so he got as far as the barracks before hearing voices. Peaking around one door, he sees the kitchen with a couple guards and several slaves preparing a meal. Across from that is another door, leading to the slave barracks. Hearing that one of the guards, George, is about to head back with food for Frank, Henry darts back out of the mines and up to the tower to alert the others. And just barely in time: George yells from the storeroom that food is ready. Batrina opens the door and lands on top of him. Chili and crackers are everywhere.

A new plan is hatched, and Penny and Leo take the guards' coats, and they all head down the mine shaft. The other guard there, Hedley, looks up to see who is at first assumes it is George as Penny has a chili-stained rag up across his face. There is a quick scuffle, and the guards are trussed up. 

We went through this part pretty quickly: they promised to either take on the slaves as crew (and 5 accepted) or be taking out of the Alderil Empire (the remaining 3). Even though the Lieford slaves live a relatively decent life, it is still being a slave. They find that there were Batkin children in the mines about 6 months back from one of the laves who only had 7 more years (and I'll be frank: the older I get the fast the years go by! Well, actually, Frank is one of the guards and I am Craig <insert canned laughter>). 

They go to the office and find ledgers, including the one indicating:

2 Batkin children, ages appear to be early teens. Remanded to the Batkin Embassy 56 Day Year 1409

And this is where we left things off (with the slight update as above, so now we know that there is a Batkin Embassy somewhere). 

While I think I was a bit better organized this time around, I also feel that we're just sort of wandering in the desert with no real end game in sight. I think I need to give a bit more direction: the characters are privateers for the Repencarras Domain. While they have taken out on Alderial Empire ship in this game, it has been more personal as I am also trying to tie in the characters' background. We've rescued 1 father, that lead to clues to the 2 missing siblings, the Batkin above. So we *may* be able to see about rescueing them or finding out what happened to them. But I think I may have to slip them a note from the Repencarras Domain to remind them of their primary duties: harass the Alderil Empire. Which, now that I think of it, they are doing it if they are messing with mine operations. As those do get tithed to help pay for the government. So, yes, they are doing their jobs!