Coding

There was no Traveller game this week, so this is a chance to catch up on some of the gaming related coding that I’ve been doing recently.

I’ve done a bit more work on WorldGen – not a great deal, but some minor bug fixes, world details and a minor feature or two.

Though WorldGen is built around generating everything automatically, it is possible to direct some of the output. The UWP data doesn’t include rogue planets, so I’ve added an option to allow me to insert them manually. This means if I want there to be a Jovian world floating in the middle of nowhere, to allow the Deepnight to refuel, then I can add one to the map.

Survey map, which shows detected planets around stars.

This also required me to fix a bug where rogue planets couldn’t be displayed on the survey map. Lack of stars caused null references to be passed back when they shouldn’t be.

I also found a bug with the handling of quadruple star systems (possible in UWP data) which has also been fixed.

The ‘insert a star system’ may become more important later, as some of the Deepnight set pieces have quite specific star system setups. Especially for neutron stars and black holes, it’s probably going to be best to have a specific generator I can call to insert one at the coordinates I want.

Output from /physics commands

In Foundry news, I’ve created my first module for FoundryVTT, by porting the physics scripts I originally wrote for Roll20. Once I’d figured out how to create chat hooks, it was pretty much a copy and paste of the old code over to Foundry. When most of the logic is maths, the backend system doesn’t matter too much.

This is now public on my GitLab page, and can be loaded into Foundry by pointing at the manifest URL. At some point I need to figure out how to create proper releases in GitLab, but for now this works. You can check it out on the project page.

Finally, also Foundry related, I’ve been working on a system module for Mongoose Traveller 2nd. There is a system for Cepheus, but its lack of core support for Mongoose skills put me off using it.

I think it’s important that a character sheet has all the core skills baked in, to make character generation easy. This is especially important for NPC’s. Even the Roll20 character sheet has this. The Cepheus implementation seems to require skills to be created, or dragged into the sheet, which put me off it immediately. So I decided it would be a fun project for the year. Whether it ever gets finished and released is another matter entirely.

A very unofficial set of character sheets for Foundry. Background Tatooine map by Episodic Maps

Learning the Foundry system has been fun, though there’s probably a lot of bad design in what I’ve done. I’m just in the process of redoing the UI for the character sheets, since the first draft as an ugly ‘get it working’ attempt. Currently, there’s three character sheet types, for Creatures, NPCs and Travellers.

Creatures are simplified to a single page, with a limited skill set. NPCs and Travellers have multiple tabs to cope with detailed equipment lists and background information, their main difference being that NPCs use the same simplified ‘hits’ system as creatures for damage.

Basic skill and attack rolls are done, and damage can be applied to tokens (target tokens and hit ‘apply’, or drag the damage to a character sheet) with armour being automatically applied. Though it’s probably still a bit buggy.

There’s a lot of work to do on tidying up the CSS (some fields aren’t aligning properly), and I need to start thinking about augments.

Finally, I’m also working on my fourth Wonders of a Solar System TAS supplements. This will cover Garden Worlds, with long lists of fauna, flora and reasons why nobody lives there.

Samuel Penn