Saturday, March 28, 2026

Traveller System Update 32 - Orbital Distances Part 3

And then I had to add the orbital distances table and UX as we need that to calculate the orbital period. Though to be "more" correct, the mass of the planet would also impact the orbit as heavier or larger planets will have to go faster in the same orbit. But not going to worry about that overly much: this is a game, not a reality simulation. Which often comes up in arguments over on COTI. Or at least very active discussions.

I did add the paging functions to the stellar data and still have a few of those rows to add in but getting closer to adding the orbital period to the planet information. Then we can also add in albedo, world average temperatures, and stuff like that. However, albedo will be interesting:

The albedo for a world can be computed by what portion of the world is covered by various terrain types, and noting the average cloudiness of the atmosphere. Combining these values provides an overall albedo for the world.
That is two more tables we'd have to add - albedo by terrain type, and cloudiness based on hydrographics. Which then means we'd have to figure out land masses, determine what is covering them and fun things like that. Do-able, but diving deeper than I thought this little project would go.

Regardless, I should have the orbital distance calculations done in the next update, probably another day or so as sadly, I still spend a lot of time behind the keyboard. But it is fun for me. Which is great as I've been doing this for a long time, and if it is still fun, then I've picked the right career. 

Anyway - more progress as I have a bit more time now obviously! But now off the start prepping for next week's game: I need to see if I have the terrain and minis and get all that ready to go as it is a face to face game. 

I'm going to have to rethink the menu as the horizontal is running out of space, and just because I have a wide screen monitor does not mean every else does!



Thursday, March 26, 2026

Traveller System Update 31.5 - Notes on data entry

Well, putting in the data is certainly a longer process than I would like. If this sort of thing happened a lot, I'd create an import function as those are pretty simple to implement. Working my way through entering the stellar data, just so I can calculate the orbits! Yeah, I could take the easy way out but oddly I like math and figuring out how to do this sort of thing (not saying I am good at math, but like physics and a few other things, I like it without necessarily being good at it. See any earlier posts on game organization!)

Anyway, got through adding a few more and realize I'll have to add paging functions to this page. I had a few choices when I started this project, which was first, yet another version of some form of Traveller software, but also a way for me to play with the latest version of .NET. Way back when I started and .NET came out, the boss would never let me use the latest and greatest. "Never use a .0 release" was the common refrain. And from a business viewpoint, pretty standard honestly and safer. I went to a local .NET user group for years and they got to play and show of the latest stuff, things I could not use. Anyway - now I can at least for personal projects like this one. And actually I was at my former job as it was not yet in production, as well as that entire software ecosystem is pretty mature and thoroughly tested even for .0 releases.

Anyway, back to paging: the repositories in this application are mostly pretty standard, and now I am wishing I used a generic repository as that would have covered probably 95% of the usage. What that means is: instead of having a repository class (where we can load and update data for a specific table), we create a generic repository where we pass in something like <StellarData> to indicate the stellar data type. It would have simplified things so that I would not have to write a service class per model. However - the downside of that is things that are unique to a class, or if you want to include related records, I think makes that approach a lot more complicated. Like a lot of things even outside the world of software, one solution rarely solves all the problems. And as an aside, don't get me started with Entity Framework being a repository pattern already! I go back and forth on that a lot as well. And yes, unless you are a developer or in the IT world, probably a WTF am I talking about?!

Regardless, I'll have to add a paging function as the list, even when half completed, is already quite long! Maybe a search function as well so we can find all the G0 class info, or all the subgiant type info. Not sure what would even be needed since I am the only one using this. You can see why a product owner can be important - let the developer know what is really needed versus what we think is important!

But why this is only half an update: it was mostly data entry and some musings. Though I may go ahead & add the paging functions as that is not complicated. For good or bad, I just get the AI to do most of it. Or I can copy/paste from other code where I did this before. But AI is a great tool if still overhyped in so many ways.

that is a lot of data!

I really need to also start looking at the next game. Getting laid off really throws me off a good bit. Still taking some time off though I did attempt to sharpen up my resume and randomly apply to some interesting places where it looks my skills could work. But as I told my group - the good news about this is that I have more time for game prep and reading! There is always a bright side to everything. Sometimes you really have to look hard though!

But I think the players are excited - they have some character ideas, and I've started going through the Backstory Generator and two of the characters are in the employ of Zoemina Ladle and sometimes take the crab apples to the castle, a journey of less than a day. They usually meet at the Roost (an inn built into the trees of the forest) but also have a secret location as sometimes she may have them do more clandestine operations and need to meet a bit more in secret. The two players are the wife & child of one of the players, so not sure how to get the location of the secret place to them. Though my group is pretty good about metagaming so if the players know that and the characters do not, they will stick in character. I'll have to check.

not sure who did this but found on Pinterest


Tuesday, March 24, 2026

Back to job hunting!

I was laid off this week. This makes the 4th time in my career. Of course, IT is often precarious field. After the initial gut punch and a few days off, I'll start job hunting again. And sadly, just 3 years out before I could retire if I want to. I feel like I may be wearing a red shirt in Star Fleet.

Why do I bring this up here? Because of my 1st layoff decades ago, I started this blog to play with some Traveller trading software. Though the blog has definitely changed a bit over the years, I have been getting back to the software side of things for this (30+ updates since I started the .NET Core version). Oddly enough that ancient 1st version, still on GitHub I think. (and a quick check later, apparently that does not seem to be there. It was Winforms which is still a great UI thing in many ways! It may be buried on a drive somewhere - I'll have to look. It even used the TravellerMap APIs for a number of things)

I knew this was coming anyway - the new CTO was a previous CTO and every time the IT department gets a new person, they fire someone. I was pretty sure I was on that chopping block!

Regardless, it means I'll spend a bit more time playing with the software, trying not to freak out, and pet my cats and dog a heck of a lot. I'll note that every time I have been laid off, I've gotten a job that usually ended up being better in one way or another. And technically I could early retire but it is the insurance costs that hold me back from that. Plus, I really like working and solving problems.

Anyway - I'll be okay. Eventually. You may even get more game blog posts as this does give me more time to read the stuff I have, do more game prep, and read! Though I did just finish that last book today. But I've bookcases full of books to go back through then!

some interesting clouds I saw the other day

always look up - things will get better! Or there is a bug on the ceiling.
Next post will be game or software related, but a mini not-quote-a-vent post just to get this out there. 

Friday, March 20, 2026

Corsairs Session 6: Batkin Siblings

Our intrepid heroes grabbed what they could from the mines: ledgers, furniture, normal things for a not-quite pirate crew to take. None of the slaves were wanting to go with the group, so after loading the supplies, and leaving enough food and rations, they head back to the trading post. There's a bit of a chase as they approach the nebulous border (sorry, no George Jetson floating road guides here!) but a few deft turns and watching the mainsails they leave the Alderil Navy ship behind. 

Smooth sailing to the port. The crew starts selling what they can of the purloined goods, and the pay the crew for a bit of shore leave. Wanting to return to Dulcet Spire, but not wanting to take the Wind Razor, they get passage aboard the Wind Whale, a cargo vessel heading that way in a few days. Meanwhile, they get the Razor restocked, start looking into getting a stern gun for protection when chased. 

Getting onboard the Wind Whale under assumed names, they meet Bosun Fairly Heathcote. It is a two day trip to the Spire but they arrive, unnoticed by the Navy, and get directions to the Batkin Embassy. Several long flights of stairs up, some open to the huge open-air market inside the giant Spire, and they get to the Embassy up in the administrative sections. 

Ambassador Batrok, an older Batkin with a greying muzzle, talks with them after they introduce themselves. One of the things we found during this session is that the Batkin really have no formal government: most things are communal, and roles are pretty fluid. We did a bit of world building so I could envision how the player sees the race she created for the game. And they squeak in their language, which humans cannot understand, or even hear half of.

The embassy has 6 Batkin aids (Bentock, Biota, Batkra, Bit, Batony and Baroti) and 6 human aids (Jeager Hardjen, Yavin Kenosky, Ulric Dituri, Daron Voight, Fleur Cantos and Tessa Ducot). Not that they really met any of them other than as they walked through, though Batony did find the letter left behind by Batrina's siblings:

Batrina, if you receive this letter, we have been rescued from slavery by the Leitford Family. They have safely left us at the embassy on Dulcet Spire. A strange place with no dirt under our feet, nor enough sky to glide in. After regaining our health, we decided to return home. Living among the humans as shown us their cruelty and their compassion. But we cannot live among them. Please come home and let us know you are safe. 

 ~ Batmaya and Batzion

They were mistrustful of things, and even though 6 months ago it all seemed okay, this group rightfully does not trust the Anderil Empire.

And this is sort of where we left things. I felt that I was not doing a good job in getting the world I envisioned across well, and the play seemed more forced, and I am not sure everyone was having fun. O we decided, or rather I decided, to switch things up. We're going to try the Dolmenwood OSE game. I'm going to start with the short Winter's Daughter adventure to see how that works out. The advantage is that fantasy like this is easier for everyone to have a more shared idea of what the world is. And one of the players, as well as myself, want to use more than just our 6-sided dice!

Session 0 will be in a couple weeks. Even though there are good character generators online for Dolmenwood, I think they want to roll up characters face to face. I also just got the PDF for the backstory generator, so we may use that as well assuming I actually look through that to get a feel for how to use it. And, we may start in the Giant's Nose as I did back that and I should use the things I get!

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}$$