SSG Application Users Guide

Copyright RMF Runyan © 2011

Edited by Aaron Smalley for The Guild Companion

TGC is hosting the author's Stellar System Generator application. It is a zip file with installers and a readme.

Author's Note: It has been over 26 years since I have tried to do any serious program building. While I was getting my Masters in GIS, I had to take a programming course. The instructor of that class showed where we could get a full version of Visual Studio 2010 Professional (VS10) for free since we were college students. If you are a college student at a participating university, then go to DreamSpark to find out if you can get free development software from Microsoft.

The last time I did any serious programming was way back in the days of DOS before Windows even existed. Hell, to be wholly honest, I didn't even know Microsoft existed until about 1990 (I was in the USNavy and all they had were IBMs or military computers). I did all my programming on IBM machines using PC-DOS and C, Fortran, and Assembly languages (none of which I can even read anymore). When I first downloaded and installed VS10, I was flabbergasted. I took the Visual Basic class in my curriculum to get me acquainted enough with VS10 to try and write the SSG-Calculator. As I said in a post at the ICE Forum Boards, "It is so far removed from the programming I did so long ago in a galaxy far, far away…" In fact, the class never taught about the tab control. I had to read up on that and experiment before I got the hang of the tab pages.

In fact, I am old enough, I can remember programming computers with punch cards.

Opening Screen

UseSSGCalc00 (37K)

The opening screen offers some notes on how to enter values to use for calculations.

As you go through this document, the values used in the tab pages were copied and pasted from other tab pages after appropriate calculations were performed. All images show the same calculations throughout. Remember, you can make calculations on one tab page and use those results in other tab pages. The calculated values will remain unless you change some values and recalculate. The calculated values will also remain until you close the program. I am currently reading up on how to save these values into a text file.

3-D Pythagorean & Apparent Magnitude (3-D Py & AppMag)

UseSSGCalc01 (35K)

On the left side of this tab page is the section that uses the three dimensional Pythagorean theorem to calculate the distance between two stars. It accepts two sets of Cartesian Coordinates. The coordinates may be positive or negative. The units for the coordinates may be any unit; light years, parsecs, kilometers, etc. As noted on the tab page, if you used light years for the coordinates, you can click the Parsecs button to get the distance in parsecs.

On the right side of this tab page, there are two methods for calculating a star's Apparent Magnitude. At the bottom, if you used light years for the coordinates, then the distance is automatically input and all you need to enter is the star's absolute magnitude to get its apparent magnitude at the calculated distance. At the top is a method to calculate a star's apparent magnitude from a distance of a chosen unit and absolute magnitude. You will have to know the distance of your chosen unit and must chose the appropriate unit in the radio buttons.

Drake Equation

UseSSGCalc02 (35K)

As noted on this tab page, this version of the Drake Equation uses the basis of total number of stars in the galaxy. The true Drake Equation is based on the number of new stars formed each year. Follow the link on the tab page for a Wikipedia article. Simply enter the total number of stars in the galaxy in the top textbox and the percentages for each of the following factors. When opened, the textboxes have the generally accepted defaults and the approximate number of stars in the Milky Way Galaxy.

Please note that if you enter large percentage values, you will get a ridiculously large number of advanced civilizations. Of course, if you want to base your galaxy on the fact that nothing can go faster than the speed of light using slow ramboats, or use some of form of trickery such as quantum fluxes, spatial warp fields, etc. to seem to move at FTL velocities, then perhaps a very large number of advanced civilizations would be acceptable. The image below shows an example of large percentage values. However, 544 billion advanced civilizations is still a bit ridiculous.

UseSSGCalc14 (36K)

Star Data

UseSSGCalc03 (35K)

This tab page is used to calculate several parameters of a star. There are two methods for doing this. One method is where you enter the four pieces of data at the top: Spectral Class, Working Radius, Spectral Level, and Temperature Rating. The other method is to use the lower section to generate three of these data randomly. When using the random method, the values will automatically be entered at the top for you. You will still need to provide a Working Radius as derived from the HRDiag.png included with this program. Or if you wish to view in your browser, click this link (image is 2195 pixels wide, 3047 pixels tall, and 428,137 bytes): HRDiag.png. As you can see by the above image, I used the random method and derived a Working Radius of 16 from the HRDiag as shown in the image below (crop of the full HRDiag image). The range of radii the curve covers is about 1.5 to 2.5 10e1 (10). That means the radii ranges from 15 to 25 times the radius of Sol (our star). I simply chose towards the lower end.

UseSSGCalc15 (52K)

Star Data (Sol Units)

UseSSGCalc04 (25K)

The only thing this tab page does is pull data from the Star Data tab page, convert it into Sol Units (number times Sol's parameters), then displays the values. It only does this for three parameters: Radius, Luminosity, and Mass; and converts the distances of the Inner and Outer Biosphere Radii into Astronomical Units (AUs). If you have already calculated data on the Star Data tab page, simply click the Get Data button.

Celestial Body

UseSSGCalc05 (36K)

This tab page is used to calculate several parameters for a celestial body. As noted on the tab page, this truly only works for celestial bodies with a radius ≥ 800km. Smaller bodies are referred to as planetesimals or asteroids. Bodies that small, or smaller, never obtain a spheroidal shape. You will need to provide a Working Volumetric Mean Radius, Working Density, Rotational Period, and Land Percentage. If you do not want this tab page to calculate the Land Area, then leave the zero in the Land Percentage textbox.

I will work on a method that will generate the four pieces of data randomly. Just be patient with me. As said above, it has been 26+ years since I have done any serious programming.

Orbital Parameters

UseSSGCalc06 (27K)

In the section where you enter data, the Star Mass and Planet Mass can be copied and pasted from the tab pages Star Data and Celestial Body, respectively. You will need to know or calculate the Mean Orbital Radius and Orbital Eccentricity. Eventually, I will implement methods to calculate and display the values for Orbital Inclination and Orbital Obliquity. Another part to be patient with me.

Atmospheric Composition

UseSSGCalc07 (44K)

The major point to remember about this calculator is to enter the atmospheric gases in "parts per million" (ppm). The method for converting a percentage into ppm is to multiply the percentage by 10,000. Example, if the percentage is 28.392%, then multiply by 10,000 will give 283,920 in ppm. Another example, Ozone which comprises only 0.000004% of our atmosphere multiplied by 10,000 will give 0.04 ppm (which is actually 40 ppb (parts per billion)). For your convenience, the Remaining Gases textbox will update how many ppm are remaining each time you tab out of a textbox. Using this box, you can fine tune the atmospheric composition until you get the remaining gases down to ≤ 1ppm (as I did above). Although the listed amounts for Earth add to more than one million, this is due to round off and uncertainty. Starting at Methane and on down, all these gases total only about 5ppm in our atmosphere.

Atmospheric Parameters

UseSSGCalc08 (32K)

This tab page calculates the Global Average Surface Temperature (GAST), Surface Pressure, Surface Density, and Scale Height. For some of the needed parameters (all except Albedo), you can simply copy and paste those values as calculated on other tab pages. Values for Earth are listed at the bottom of each column. And as you can see, the planet I was using as an example is a scorcher. In fact the planet's GAST is so high (732K (459C, 858F), that the atmospheric composition I made up would be highly unlikely. With a GAST that high, this planet would become a greenhouse inferno like Venus. The atmosphere would become 95% carbon dioxide and 5% all others. This would also mean that the planet's astronomical albedo would be higher, lowering the GAST, but even at .7 (which is higher than Venus's), the GAST is still 595K (322C, 611F). And with clouds that thick, it would hold in more heat, thus raising the GAST.

Coordinate Conversion

UseSSGCalc09 (35K)

UseSSGCalc10 (36K)

This tab page will take either Astronomical coordinates or Celestial coordinates for a star and convert it into Cartesian coordinates. Unfortunately, I did not code this to do the reverse. Reason is because most often (95%+) a star will be listed in Astronomical and/or Celestial coordinates. However, since the advent of the Hipparcos star catalogue, they have also been listing stars with Cartesian coordinates (X, Y, Z). Just remember that those Cartesian coordinates may be listed in parsecs (the most common distance unit used). The first image above shows the conversion of Astronomical coordinates, while the second shows the conversion of Celestial.


UseSSGCalc11 (29K)

As noted on the tab page, please note that about 80% of the time, you will get zero eccentrics. If you truly want an eccentric, then simply insert one into your system.

Stellar Age

UseSSGCalc12 (26K)

Simpy put, this will give you a random stellar age category. If you also copy and paste the star's lifetime from the Star Data page, it will also give you a random age in years.

Object Flux Hydrography

UseSSGCalc13 (89K)

This will calculate the Object Flux (energy received) for a celestial body. You can copy and paste the values for the Star Luminosity and Planet's Mean Orbital Radius from the Star Data and Orbital Parameters tab pages. As you can see, my example planet receives over 69 times the energy that Earth receives. Definitely making my example planet an inferno world. I chose a Pelagic world in the Hydrography section to show how it will randomly generate a planet's hydrography. More than likely, my example planet would be an exsiccated Terran or Furian world with little or no water, incapable of supporting life.


Although SSG-Calculator is still in the alpha stage, I am planning on creating tab pages that will generate all the planets and major moons in the system. However, like the written document Stellar System Generator, it will only generate the major objects in the system. Minor objects such as each individual asteroid and comet will be up to the user to generate and place. If you look at just our system, there is an estimated 8+ million total objects when including the main asteroid belt and Kuiper belt objects. If you truly wish to catalogue that many objects for your system, then you may still be cataloging objects 50 years from now. And I would say, "More power to ya, dude/dudette."

I am also hoping to be able to figure out how to save the data to a text file. Then you could open that file in Word or OpenOffice and format it as pleased. However, please remember as noted above, it has been quite some time since I have done any programming. Saving data back in the Age of Dinosaurs was much simpler than it seems today with VS10.