It’s been a fairly busy couple of weeks between family vacation and recovering from said vacation. I’ve been working on the map project but a lot of it has been behind the scenes and not anything that is easily displayable although some progress has been made. Additionally, I took the first steps toward getting the Murder at Rosegard adventure actually written up into a coherent document but again, nothing to display. So on to the map work.
Working on the Nebulae
This first bit definitely falls into the non-visible bit. I began implementing code that will allow me to draw the nebula. Over the past couple of weeks I figured out an good algorithm to use to trace the grid boxes containing the nebula and dived a bit into the code for SVG graphics to understand how to draw curvy lines.
There is nothing to see here yet but the next steps that I’ll be working on are:
- Write the code that draws the curvy boundaries for a predefined nebula region
- Write code to read in nebula regions from the data file
- Write code to randomly generated nebula regions from some to-be-specified parameters.
That will probably be the content of the next update.
Stellar colors
The other major bit I worked on was adding in code to interpolate the colors of the stars based on their actual spectral type. Originally, the code could just handle a few spectral types: B0, A0, F0, G0, K0, & M0 plus a few special types like brown & white dwarfs, black holes, and neutron stars. That is what you’ve been seeing in the maps to date.
The colors for those stars were picked partially to be visually accurate and partially to aesthetically pleasing. Basically I had to exaggerate the color variations between the stars as almost all of them would appear white to the human eye. The interpolated colors will smoothly shift between these predefined colors.
What I wanted was to be able to handle any spectral type, i.e. G2, F3, K7, M5, etc. To do this I needed to interpolate the colors down the spectral sequences. It took a bit of reworking the code to do the interpolation and that’s were I spent most of the time I had this week.
Once that was done, I went back through and put in the actual spectral types for all of the named Frontier sector stars. These were derived from a variety of places. In the original rules, the stars were just given colors which correspond roughly to spectral types. Then there were a few more details in the published modules. Zebulon’s Guide to Frontier Space provided actual spectral type designations for all the stars in the Frontier. However, some of those spectral types in Zeb’s Guide didn’t agree with the previously published material.
This isn’t the first time I’ve tried to do this and luckily, the last time I did it, I recorded all the information. That was done on my Star Frontiers Network Wiki in the Frontier Travel Guide section. So for most of the stars, all I had to do was go through the pages on the wiki and grab the spectral types I had already figured out for each star.
With those code updates, and the updated spectral type values, you get the following map of the Frontier.
There are a couple of things missing from this map. First, I didn’t put the nebula back on as this was a test of the spectral colors. Plus I didn’t do anything for Padda or the star systems labeled with the FSnn designations. Those are still at the “0” spectral types. I will get to those but there is another bit of the code I want to update first (more below).
Oh yea, @Fiddleback on Twitter mentioned he couldn’t see his house and I promised him a zoom box.
The Full Map
The other thing I worked on was getting everything set up for the big map of the full extended Frontier region. This mainly involved just translating the systems in this map to the larger canvas.
There’s no difference between this one and the one above, it is just situated on the canvas is the correct position to correspond to the big black and white map. Over the next little while I’ll be adding in all the other systems as I extract their coordinates from the big map into the data file that generates this map. Watch for updates in the future.
What’s Next?
I’ve already mentioned the work on the nebulae that I have on deck. On the spectral type front there are a few things I want to add there as far as functionality goes.
First, (this is the bit I hinted at above) I want to add code to the random system generation to properly generate the 0-9 subtypes. The relative ratios of major types (A, G, M, etc.) are accounted for but I need to get the relative numbers withing the major types correct. I have the data (or can get it) to do that, I just need to crunch the numbers and write the code. Once that’s done, I’ll add real spectral types to the systems labeled with the FSnn designation and really be ready to generate the full map.
With the spectral types the other things I need to do include:
- Add code for drawing non-main sequence stars. Right now it handles all the main sequence stars (luminosity class V) and some giants and super-giants (luminosity classes III and I) but it may need to handle more when I get the full random generator done.
- Add some interpolation of stellar sizes for main sequence K stars. Right now they are set to a fixed size but I’d like the later K stars to be a bit smaller than the G and early K stars and approach the size of the M stars. Again, the data is there in the program, I just need to code the interpolation.
- Fix the color interpolation for M stars. It’s not obvious in the map that there is a problem since I don’t have any M stars that aren’t M0 but as you progress down the spectral sequence I’m interpolating to the colors of the Brown Dwarfs which are a pinkish color (In real life they’d be a really dull red which doesn’t stand out on the map). I want to make the interpolation go to a deeper red instead of pink. This should be a really quick fix. I know what needs to be done, I just need to code it up and test it.
Since I can do the nebula by hand for the Extended Frontier map, this work on the spectral types is where I’ll be focusing my efforts for the next little while. Once those updates are done, I’ll have everything I need to make the full-color Extended Frontier map.
The Code
Again, If you want to play with the code as I’m working on it, you can grab the current version from my StarMapGen repository on GitHub. This is still not the most user-friendly program to run as it it requires coding in all the parameters by hand before running but that’s on my todo list as well.