Browsed by
Category: Worldbuilding Tools

Architect of Worlds – Step Nineteen: Determine Blackbody Temperature

Architect of Worlds – Step Nineteen: Determine Blackbody Temperature

The blackbody temperature of a world is the average surface temperature it would have if it were an ideal blackbody, a perfect absorber and radiator of heat. Real planets are not ideal blackbodies, so their surface temperatures will vary from this ideal, but the blackbody temperature is a useful tool for determining a variety of other surface conditions.

In particular, the blackbody temperature is useful in determining what atmospheric gases the world can retain over billion-year timescales. Simple thermal escape (also called Jeans escape) isn’t the only mechanism by which a world can lose atmospheric gases, but it is a strong influence on the stable mass and composition of the atmosphere.

In this step, we will compute the blackbody temperature and the M-number for the world under development. The M-number is equal to a minimum molecular weight that can be retained over long timescales.

Procedure

To determine the blackbody temperature for a world, evaluate the following:

T=278\times\frac{\sqrt[4]{L}}{\sqrt R}

Here, L is the current luminosity of the primary star in solar units, R is the orbital radius of a planet (or the planet that a satellite orbits) in AU, and T is the blackbody temperature in kelvins. Note that the blackbody temperature will be the same for a planet and all of its satellites.

To estimate the M-number for a world, evaluate the following:

M=\ 676300\ \times\frac{T}{K\times R^2}

Here, T is the blackbody temperature, K is the world’s density compared to Earth, R is the world’s radius in kilometers, and M is the M-number. Round the result up to the nearest integer.

Example

Alice computes the blackbody temperature and the M-number for Arcadia IV and Arcadia V:

WorldOrbital RadiusMassDensityRadiusBlackbody TemperatureM-Number
Arcadia IV0.57 AU1.081.046450 km281 K5
Arcadia V0.88 AU0.650.925670 km226 K6

Comparing both planets to Earth (with a blackbody temperature of 278 K and an M-number of 5), Alice finds that both of these worlds are somewhat Earthlike. Arcadia IV is just a little warmer than Earth, while Arcadia V is significantly colder.

Both worlds seem likely to have atmospheres broadly similar to that of Earth. An M-number of 5 or 6 indicates that a planet can easily retain gases such as water vapor (molecular weight 18), nitrogen (molecular weight 28), oxygen (molecular weight 32), and carbon dioxide (molecular weight 44) against simple thermal escape. It’s possible that other factors will impact the atmospheres of these worlds, but for now, Alice is satisfied that she still has two somewhat hospitable environments to use in her stories.

Architect of Worlds – Step Eighteen: Local Calendar

Architect of Worlds – Step Eighteen: Local Calendar

In this step, we will determine elements of the local calendar on the world being developed: the length of the local day, the length of any “month” determined by a major satellite, and so on.

Length of Local Day for a Planet

To determine the length of a planet’s day – the planet’s rotation period with respect to its primary star rather than with respect to the distant stars – compute the following:

T=\frac{P\times R}{P-R}

Here, P is the planet’s orbital period as determined in Step Fifteen, while R is the planet’s rotational period as determined in Step Sixteen, both in hours. T is the apparent length of the planet’s day, also in hours.

Note that this equation is undefined in cases when the orbital period and rotational period are equal (that is, the planet is in a spin-orbital resonance of 1:1 and is “tide locked”). In this case, the length of the local day is effectively infinite – the sun never moves in the sky!

At the other extreme, if the orbital period is much longer than the rotational period, then the day length and the rotational period will be very close together.

To determine the length of the local year in local days, simply divide the planet’s orbital period by the length of the local day as computed above.

Length of Apparent Orbital Period for a Satellite

To determine the length of a satellite’s orbital period, from any position on the planet’s surface, use the same equation:

T=\frac{P\times R}{P-R}

Here, P is the satellite’s orbital period as determined in Step Fifteen, while R is the planet’s rotational period as determined in Step Sixteen, both in hours. T is the apparent length of the satellite’s orbital period, also in hours.

Again, this equation is undefined in cases when the satellite’s orbital period and the planet’s rotational period are equal (that is, the planet is tide-locked to its satellite, or the satellite happens to orbit at a geosynchronous distance). In this case, the length of the satellite’s apparent orbital period is effectively infinite – the satellite never moves in the sky.

At the other extreme, if the satellite’s orbital period is much longer than the planet’s rotational period, then the apparent orbital period and the rotational period will be very close together. Earth’s moon is a familiar example – its apparent motion in the sky is dominated by Earth’s rotation.

It’s possible for a satellite’s orbital period to be shorter than the planet’s rotational period. For example, a moonlet that orbits very close is likely to fall into this case. The apparent orbital period will therefore be negative, indicating that the satellite appears to move backward over time. The satellite will rise in the west and set in the east.

Length of Synodic Month for a Satellite

To determine the length of a satellite’s synodic month, use the same equation once more:

T=\frac{P\times R}{P-R}

Here, P is the planet’s orbital period as determined in Step Fifteen, while R is the satellite’s orbital period as determined in Step Fifteen, both in hours. T is the length of the satellite’s synodic month.

It’s very unlikely for a satellite to have the same orbital period around its planet as the planet does around its primary star, so the undefined or negative cases almost certainly will not occur. T will indicate the period between (e.g.) one “full moon” and the next, as observed from the planet’s surface.

Examples

Arcadia IV has no satellite, so the only item of interest will be the length of its local day. Alice computes:

T=\frac{4170\times22.5}{4170-22.5}\approx22.62

The local day on Arcadia IV is only slightly longer than its rotation period. Alice can also determine the length of the local year in local days, by dividing the orbital period by this day length. Arcadia IV has a local year of about 184.35 local days.

Arcadia V has a satellite, so that satellite’s apparent orbital period and synodic month might be of interest. For the apparent orbital period, Alice computes:

T=\frac{16.4\times34}{16.4-34}\approx-31.68

Arcadia V’s moonlet appears to move retrograde or “backwards” in the sky, rising in the west and setting in the east, with an apparent period of about 31.7 hours.

Meanwhile, for the synodic month, Alice computes:

T=\frac{7990\times16.4}{7990-16.4}\approx16.43

The satellite’s synodic month – the period between “full moon” phases – is much shorter than its apparent orbital period. From the surface of Arcadia V, the moonlet will appear to move slowly through the sky, its phase visibly changing as it moves, passing through almost a complete cycle of phases before setting once more in the east. Very strange, for human observers accustomed to the more sedate behavior of Earth’s moon!

Architect of Worlds – Step Seventeen: Determine Obliquity

Architect of Worlds – Step Seventeen: Determine Obliquity

The obliquity of an object is the angle between its rotational axis and its orbital axis, or equivalently the angle between its equatorial plane and its orbital plane. It’s often colloquially called the axial tilt of a moon or planet. Obliquity can have significant effects on the surface conditions of a world, affecting daily and seasonal variations in temperature.

Procedure

Begin by noting the situation the world being developed is in: is it a major satellite of a planet, a planet with its own major satellite, or a planet without any major satellite? Notice that these three cases exactly parallel those in Step Sixteen.

First Case: Major Satellites of Planets

Major satellites of planets, as placed in Step Fourteen, will tend to have little or no obliquity with respect to the planet’s orbital plane. To determine the obliquity of such a satellite at random, roll 3d6-8 (minimum 0) and take the result as the obliquity in degrees.

Note that the major satellites of gas giants, distant from their primary star, may be an exception to this general rule. For example, in our own planetary system, the planet Uranus is tilted at almost 90 degrees to its orbital plane. Its satellites all orbit close to the equatorial plane of Uranus, so their orbits are also at a large angle, and their obliquity is very high. Cases like this are very unlikely for the smaller planets close to a primary star – tidal interactions will tend to quickly “flatten” the orbital planes of any major satellites there.

Second Case: Planets with Major Satellites

A Leftover Oligarch, Terrestrial Planet, or Failed Core which has a major satellite is likely to have its obliquity stabilized by the presence of that satellite.

To select a value of the planet’s obliquity at random, roll 3d6. Add the same modifier that was computed during Step Sixteen for the Rotation Period Table, based on the degree of tidal deceleration applied by the major satellite. Refer to the Obliquity Table.

Obliquity Table
Modified RollObliquity
4 or lessExtreme (see Extreme Obliquity Table)
548 degrees
646 degrees
744 degrees
842 degrees
940 degrees
1038 degrees
1136 degrees
1234 degrees
1332 degrees
1430 degrees
1528 degrees
1626 degrees
1724 degrees
1822 degrees
1920 degrees
2018 degrees
2116 degrees
2214 degrees
2312 degrees
2410 degrees
25 or higherMinimal (3d6-8 degrees, minimum 0)

Feel free to adjust a result from this procedure to any value between the next lower and next higher rows on the table.

If the result is Extreme, the obliquity is likely to be anywhere from about 50 degrees up to almost 90 degrees. To select a value at random, roll 1d6 on the Extreme Obliquity Table.

Extreme Obliquity Table
Roll (1d6)Obliquity
1-250 degrees
360 degrees
470 degrees
580 degrees
698-3d6 degrees, maximum 90

Again, feel free to adjust a result from this procedure to any value between the next lower and next higher rows on the table.

Third Case: Planets Without Major Satellites

A Leftover Oligarch, Terrestrial Planet, or Failed Core which has no major satellite will be most affected by its primary star.

However, without the stabilizing presence of a major satellite, the planet’s obliquity is likely to change more drastically over time. Minor perturbations from other planets in the system may lead to chaotic “excursions” of a planet’s rotation axis. For example, although at present the obliquity of Mars is about 25 degrees (comparable to that of Earth), some models predict that Mars undergoes major excursions from about 0 degrees to as high as 60 degrees over millions of years.

To select a value for obliquity at random, begin by rolling 3d6 on the Unstable Obliquity Table.

Unstable Obliquity Table
Roll (3d6)Modifier
7 or lessRoll 1d6 – High Instability
8-13No modifier
14 or higherRoll 5d6 – High Instability

Make a note of any result indicating High Instability for later steps in the design sequence. The planet is likely to be undergoing drastic climate changes on a timescale of millions of years.

Now make a roll on the Obliquity Table, but if High Instability was indicated, roll 1d6 or 5d6 on this table, rather than the usual 3d6. Finally, add the same modifier that was computed during Step Sixteen for the Rotation Period Table, based on the degree of tidal deceleration applied by the primary star. Refer to the Obliquity Table, and possibly the Extreme Obliquity Table, as required.

Examples

Both Arcadia IV and Arcadia V are planets without major satellites, so they both fall under the third case in this section, as they did in Step Sixteen.

For Arcadia IV, Alice begins by rolling a 4 on the Unstable Obliquity Table, indicating that she will need to roll 1d6 rather than 3d6 on the Obliquity Table. That roll will therefore be 1d6+1, and Alice gets a final result of 3. Arcadia IV apparently has extreme obliquity in the current era. Rather than roll at random, Alice selects a value for the planet’s obliquity of about 58 degrees.

Alice makes a note of the “high instability” of the planet’s obliquity. Its steep axial tilt may be a relatively recent occurrence, taking place over the last few million years. Arcadia IV, the Earth-like candidate in her planetary system, will have very pronounced seasonal variations, and may be undergoing an era of severe climate change. Any native life has probably been significantly affected, and human colonists would need to adapt!

Meanwhile, for Arcadia V, Alice rolls a 12 on the Unstable Obliquity Table, indicating that the planet’s rotational axis is currently relatively stable. She rolls an unmodified 3d6 on the Obliquity Table, getting a result of 15. She selects a value for this planet’s obliquity of about 28.5 degrees.

Architect of Worlds – Step Sixteen: Determine Rotation Period

Architect of Worlds – Step Sixteen: Determine Rotation Period

A quick note before I drop the next section of the draft: I caught myself making several errors in the mathematics while developing this step. I think I’ve weeded all of those out, but if anyone is experimenting with this material as it appears, let me know if you come across any odd results.


Step Sixteen: Determine Rotation Period

The next three steps in the sequence all have to do with planetary rotation. Every object in the cosmos appears to rotate around at least one axis, and in fact some objects appear to “tumble” by rotating around more than one.

Planets and their major satellites usually have simple rotation, spinning in the same direction as their orbital motion, around a single axis that is more or less perpendicular to the plane of their orbital motion. There are, of course, a variety of exceptions to this general rule.

In this step, we will determine the rotation period of a given world. In this case, we will be dealing with what’s called the sidereal period of rotation – the time it takes for a world to rotate once with respect to the distant stars.

Worlds appear to form with wildly varying rotation periods, the legacy of the chaotic processes of planetary formation. However, many worlds will have been affected by tidal deceleration applied by the gravitational influence of nearby objects. Tidal deceleration may cause a world to be captured into a special status called a spin-orbital resonance, in which the world’s orbital period and its rotational period form a small-integer ratio.

Procedure

Begin by noting the situation the world being developed is in: is it a major satellite of a planet, a planet with its own major satellite, or a planet affected primarily by its primary star?

First Case: Major Satellites of Planets

Major satellites of planets, as placed in Step Fourteen, will almost invariably be in a spin-orbit resonance state. Most models of the formation of such satellites suggest that they are captured into such a state almost immediately after their formation.

Since a major satellite’s orbit normally has very small eccentricity, the spin-orbit resonance will be 1:1. The satellite’s rotation period will be exactly equal to its orbital period.

Second Case: Planets with Major Satellites

A Leftover Oligarch, Terrestrial Planet, or Failed Core which has a major satellite may be captured into a spin resonance with the satellite’s orbit. This is actually somewhat unlikely; for example, Earth is not likely to become tide-locked to its own moon within the lifetime of the sun. However, a satellite’s tidal effects on the primary planet will tend to slow its rotation rate.

To estimate the probability that a planet has become tide-locked to its satellite, and to estimate its rotation rate if this is not the case, begin by evaluating the following:

T={10}^{25}\times\frac{M_S^2\times R^3}{A\times M_P\times D^6}

Here, A is the age of the star system in billions of years. MS and MP are the mass of the satellite and the planet, respectively, in Earth-masses. R is the radius of the satellite, and D is the radius of the satellite’s orbit, both in kilometers.

If T is equal to or greater than 2, the planet is almost certainly tide-locked to its satellite. Its rotation period will be exactly equal to the orbital period of the satellite.

Otherwise, to generate a rotation period for the planet at random, multiply T by 12, round the result to the nearest integer, add the result to a roll of 3d6, and refer to the Rotation Period Table.

Rotation Period Table
Modified Roll (3d6)Rotation Rate
34 hours
45 hours
56 hours
68 hours
710 hours
812 hours
916 hours
1020 hours
1124 hours
1232 hours
1340 hours
1448 hours
1564 hours
1680 hours
1796 hours
18128 hours
19160 hours
20192 hours
21256 hours
22320 hours
23384 hours
24 or higherResonance Established

Feel free to adjust a result from this procedure to any value between the next lower and next higher rows on the table.

The planet will be tide-locked to its satellite on a result of 24 or higher, or in any case where the randomly generated rotation rate is actually longer than the satellite’s orbital period. In these cases, again, its rotation period will be exactly equal to the orbital period of the satellite.

Third Case: Planets Without Major Satellites

A Leftover Oligarch, Terrestrial Planet, or Failed Core which has no major satellite may be captured into a spin-orbit resonance with respect to its primary star. Even if this does not occur, solar tides will tend to slow the planet’s rotation rate.

To estimate the probability that such a planet has been captured into a spin-orbit resonance, and to estimate its rotation rate if this is not the case, begin by evaluating the following:

T={(9.6\ \times10}^{-14})\times\frac{M_S^2\times R^3}{{A\times M}_P\times D^6}

Here, A is the age of the star system in billions of years, MS is the mass of the primary star in solar masses, MP is the mass of the planet in Earth-masses, R is the radius of the planet in kilometers, and D is the planet’s orbital radius in AU.

Again, if T is equal to or greater than 2, the planet has almost certainly been captured in a spin-orbit resonance. Otherwise, to generate a rotation period for the planet at random, multiply T by 12, round the result to the nearest integer, add the result to a roll of 3d6, and refer to the Rotation Period Table. The planet will be in a spin-orbit resonance on a result of 24 or higher, or in any case where the randomly generated rotation rate is actually longer than the planet’s orbital period.

Planets captured into a spin-orbit resonance are not necessarily tide-locked to their primary star (or, in other words, the resonance is not necessarily 1:1). Tidal locking tends to match a planet’s rotation rate to its rate of revolution during its periastron passage. If the planet’s orbit is eccentric, this match may be approximated more closely by a different resonance. To determine the most likely resonance, refer to the Planetary Spin-Orbit Resonance Table:

Planetary Spin-Orbit Resonance Table
Planetary Orbit EccentricityMost Probable ResonanceRotation Period
Less than 0.121:1Equal to orbital period
Between 0.12 and 0.253:2Exactly 2/3 of orbital period
Between 0.25 and 0.352:1Exactly 1/2 of orbital period
Between 0.35 and 0.455:2Exactly 2/5 of orbital period
Greater than 0.453:1Exactly 1/3 of orbital period

On this table, the “most probable resonance” is the status that the planet is most likely to be captured into over a long period of time. It’s possible for a planet to be captured into a higher resonance (that is, a resonance from a lower line on the table) but this situation is unlikely to be stable over billions of years.

Examples

Both Arcadia IV and Arcadia V are planets without major satellites, so they both fall under the third case in this section. The most significant force modifying their rotation period will be tidal deceleration caused by the primary star.

The age of the Arcadia star system is about 5.6 billion years. Arcadia IV has mass of 1.08 Earth-masses and a radius of 6450 kilometers. Alice computes T for the planet and ends up with a value of about 0.083. Arcadia IV is probably not in a spin-orbit resonance, but tidal deceleration has had a noticeable effect on the planet’s rotation. Alice rolls 3d6+1 for a result of 11 and selects a value slightly lower than the one from that line of the Rotation Period Table. She decides that Arcadia IV rotates in about 22.5 hours.

Meanwhile, Arcadia V has mass of 0.65 Earth-masses and a radius of 5670 kilometers. Alice computes T again and finds a value of about 0.007. (Notice that the amount of tidal deceleration is very strongly dependent on the distance from the primary.) Alice rolls an unmodified 3d6 for a value of 12, this time selecting a value slightly higher than the one from the table. She decides that Arcadia V rotates in about 34.0 hours.

Citations

Gladman, Brett et al. (1996). “Synchronous Locking of Tidally Evolving Satellites.” Icarus, volume 122, pp. 166–192.

Makarov, Valeri V. (2011). “Conditions of Passage and Entrapment of Terrestrial Planets in Spin-orbit Resonances.” The Astrophysical Journal, volume 752 (1), article no. 73.

Peale, S. J. (1977). “Rotation Histories of the Natural Satellites.” Published in Planetary Satellites (J. A. Burns, ed.), pp. 87–112, University of Arizona Press.

Architect of Worlds – Step Fifteen: Determine Orbital Period

Architect of Worlds – Step Fifteen: Determine Orbital Period

So, for the first time in over two years, here is some new draft material from the Architect of Worlds project. First, some of the introductory text from the new section of the draft, then the first step in the next piece of the world design sequence.

The plan, for now, is to post these draft sections here, and post links to these blog entries from my Patreon page. None of this material will be presented as a charged update for my patrons yet. In fact, there may be no charged release in September, since this project is probably going to be the bulk of my creative work for the next few weeks. At most, I may post a new piece of short fiction as a free update sometime this month.


Designing Planetary Surface Conditions

Now that a planetary system has been laid out – the number of planets, their arrangement, their overall type, their number and arrangement of moons, all the items covered in Steps Nine through Fourteen – it’s possible to design the surface conditions for at least some of those many worlds.

In this section, we will determine the surface conditions for small “terrestroid” worlds. In the terms we’ve been using so far, this can be a Leftover Oligarch, a Terrestrial Planet, a Failed Core, or one of the major satellites of any of these. A world is a place where characters in a story might live, or at least a place where they can land, get out of their spacecraft, and explore.

Some of the surface conditions that we can determine in this section include:

  • Orbital period and rotational period, and the lengths of the local day, month, and year.
  • Presence and strength of the local magnetic field.
  • Presence, density, surface pressure, and composition of an atmosphere.
  • Distribution of solid and liquid surface, and the composition of any oceans.
  • Average surface temperature, with estimated daily and seasonal variations.
  • Presence and complexity of native life.

In this section, we will no longer discuss how to “cook the books” to prepare for the appearance of an Earthlike world. If you’ve been following those recommendations in the earlier sections, at least one world in your designed star system should have a chance to resemble Earth. However, we will continue to work through the extended example for Arcadia, focusing on the fourth and fifth planets in that star system.


Step Fifteen: Determine Orbital Period

The orbital period of any object is strictly determined by the total mass of the system and the radius of the object’s orbit. This is one of the earliest results in modern astronomy, dating back to Kepler’s third law of planetary motion (1619).

Procedure

For both major satellites and planets, the orbital period can be determined by evaluating a simple equation.

First Case: Satellites of Planets

To determine the orbital period of a planet’s satellite, evaluate the following:

T\ =(2.77\ \times{10}^{-6})\ \times\sqrt{\frac{D^3}{M_P+M_S}}

Here, T is the orbital period in hours, D is the radius of the satellite’s orbit in kilometers, and MP and MS are the masses of the planet and the satellite, in Earth-masses. If the satellite is a moonlet, assume its mass is negligible compared to its planet and use a value of zero for MS.

Second Case: Planets

To determine the orbital period of a planet, evaluate the following:

T\ =8770\ \times\sqrt{\frac{D^3}{M}}

Here, T is the orbital period in hours, D is the radius of the planet’s orbit in AU, and M is the mass of the primary star in solar masses. Planets usually have negligible mass compared to their primary stars, at least at the degree of precision offered by this equation, and so don’t need to be included in the calculation.

Examples

The primary star in the Arcadia system has a mass of 0.82 solar masses, and the fourth and fifth planet orbit at 0.57 AU and 0.88 AU, respectively. The two planets’ orbital periods are about 4170 hours and 7990 hours. Converting to Earth-years by dividing by 8770, the two planets have orbital periods of 0.475 years and 0.911 years.

Alice has decided to generate more details for the one satellite of Arcadia V. This is a moonlet and so can be assumed to have negligible mass, while the planet itself has a mass of 0.65 Earth-masses. The moonlet’s orbital radius is about five times that of the planet, and Alice sets a value for this radius of 28400 kilometers. The moonlet’s orbital period is about 16.4 hours.

Star System Generation: A Neat Automated Tool

Star System Generation: A Neat Automated Tool

Today I came across a neat example of automated star-system generation, based on the design sequence I wrote for GURPS Space, Fourth Edition back in the day.

It looks like a robust code base, supporting a web-based interface. You can generate star systems at random, possibly forcing a few parameters (existence of a garden world, position in an open cluster, and so on). You can pick from several naming schemes for the resulting planets.

The output includes a neat animated map of the system, and hierarchically tabulated information for randomly generated stars, planets, and moons. All in all, it looks very slick, and it seems to reflect the original game rules pretty accurately.

The source code for the project can be found at Jan Sandberg’s GitHub repository. The redditor Myrion_Phoenix hosts an instance of the application on his website as well.

I’ve mentioned my own more recent work on Architect of Worlds – it would be neat to see a similar automated version of that once it’s ready for release. In any case, this application looks very useful for folks who are running hard-SF games, whether using GURPS Space or something similar.

Some Map-Making Techniques

Some Map-Making Techniques

Having produced the continent-scale overview map for Kráva’s world. my next step was to produce a narrow-focus map for the region in which (most of) the story of The Curse of Steel takes place. After a fair amount of tinkering – and a remarkably timely suggestion from my wife – I’ve developed a workflow to do that.

As a reminder, here’s the overview map:

It’s important to note the projection this map is in. It’s in an equirectangular projection, with the standard parallels both on the equator. That means the scale only works along lines of latitude and longitude, and it only consistently represents degrees of arc. What you cannot do with this map is to assume that it has any kind of consistent distance scale.

That’s a problem for any local map, where I might want to conveniently measure off distances to estimate travel times, or the size of occupied territories, or some such thing. What I want to do is “zoom in” on a much smaller region, then change the map projection so that a flat map with a constant distance scale can at least approximate the real situation.

I spent a few hours on Saturday messing with Photoshop, trying to approximate the coordinate transform that would take me from an equirectangular projection to (say) a gnomonic projection. Much frustration followed, with several pages of trigonometric scratchings and a great deal of button-punching on my calculator (hooray for my reliable old Texas Instruments TI-83 Plus, which has been a standby for twenty years now).

At which point my wife, bless her, looked over my shoulder, listened to my explanation of what I was trying to do, and said, “Why are you messing with all of that? Hasn’t someone developed a tool to do it?”

At which point I (figuratively) facepalmed hard enough to give myself a concussion. Because, indeed, someone has developed a tool to do that.

Witness G.Projector, a Java-based application developed by NASA at the Goddard Institute for Space Studies (GISS), available for free to the public, which is all about making quick seamless transformations from one map projection to another.

Turns out that it’s trivial to load any map or image that’s in equirectangular projection into G.Projector, after which it will begin by showing you, by default, an orthographic projection of the same image – as if you were off at a distance and looking at the image spread across a globe:

Now, that much I already knew how to do – G.Projector has been in my toolkit for quite a while. What my wife’s suggestion drove me to do was to see whether the tool could do the rest of the job – move in on a specific region, and then change the projection to one more suited for making a flat map of a small region.

Turned out, that wasn’t all that difficult. A very few minutes of directed tinkering, and I was first able to zoom in on the region I wanted, and then change to a gnomonic projection instead:

From there, it was just a matter of saving that result as a JPEG image, then importing the JPEG into Wonderdraft as an overlay. A few hours of work later, and I had a very fine map to track Kráva’s progress on:

I took a few liberties in the translation, of course – added a few rivers and a terrain feature or two that weren’t on the continent-scale map. Hey, this is my world, I can fiddle with it if I want to. I suppose I might go back to the large-scale map and add in a few details, but that’s not going to become necessary unless – by some miracle – the novel actually finds a substantial audience.

More importantly, I now have a workflow I can use to produce useful, consistent maps for the expanding story, with just a few hours of work and no painstaking mathematics. Thanks, sweetheart!

An Interesting Result

An Interesting Result

Just a short note, to call your attention to an interesting result in recent astrophysics that’s quite relevant to the Architect of Worlds project.

It’s well known that we’ve discovered thousands of exoplanets in the last couple of decades. Now the state of the art is approaching the point where we can get clues about the environment on those planets. For example, one recent result (here’s an article in Scientific American) is the first indication we have of the kind of atmosphere that exists around an Earth-sized rocky exoplanet. In this case, the planet is in its primary star’s habitable zone, and it’s more than large enough to retain a significant atmosphere against thermal or Jeans escape. Yet there doesn’t seem to be much if any atmosphere there.

I’ve long since worked out a model for Jeans escape; that much was in the world-design system I wrote for GURPS Space back in the day. (If you’ve used that system, you may recall a “minimum molecular weight retained” or MMWR calculation. That’s specifically relevant to Jeans escape.)

The problem is that thermal loss isn’t the only way a planet’s atmosphere can get stripped off. If the primary star is prone to flares and has an energetic stellar wind, that will do the trick too. This is specifically relevant to red dwarfs, like the star LHS 3844 which has the planet mentioned above. Red dwarf stars punch well over their weight in the stellar-wind and flare department, especially early in their lives. Thus, any rocky planet close enough to be in the liquid-water zone will probably get a serious sandblasting early on.

This is kind of a new area in astrophysics, and there are a lot of competing models out there. Some scientists are predicting that Earth-sized planets should be able to retain their atmospheres in at least some cases, others are much less sanguine. The LHS 3844 result certainly seems to support the pessimistic case.

For Architect of Worlds, I’ve been thinking in terms of assigning each planet a “volatiles budget” from its formation and early years, modified by things like the planet’s MMWR, whether it formed inside the snow line, whether there’s a dominant gas giant to fling comets in-system, and so on. A big random factor as well, since it looks as if this feature is strongly subject to chance. Then we would reduce that volatiles budget to reflect non-thermal processes of atmospheric escape, photodissasociation of water molecules, and so on. (Hmm. Maybe have a separate budget just for water, since that goes through some significantly different processes and might not be correlated with atmospheric volatiles.)

The devil’s in the details, of course, and for all my tinkering I have yet to come up with a model that satisfies me (or even fits all the cases we know about). This might actually be the biggest obstacle to getting the third section of the design sequence hammered out.

A Bit of Conlanging

A Bit of Conlanging

I’ve set aside plot-work for The Curse of Steel for the moment, so I can once and for all get the constructed-language work for that story knocked out. The idea is that my protagonist is going to encounter not only her own culture but several others as well, most of them somewhat related to her own in linguistic terms. Kind of like an Iron-Age Celt visiting Latin-speaking or Greek-speaking areas; the languages wouldn’t be intelligible to her, but names and some bits of vocabulary would sound hauntingly familiar. I’m also aiming for the reader to feel comfortable with the names they find in the story, which suggests not wandering too far from the Indo-European tree.

The procedure I’m working is to develop a partial constructed language that’s somewhat reminiscent of Proto-Indo-European (PIE), and then to apply a consistent set of sound-change laws and grammatical changes to generate words in two or three daughter languages.

Not at all difficult, especially once I’ve developed some computer tools to automate the process, but it is kind of detail-driven and time-consuming. The biggest potential pitfall is trying to imitate PIE too closely. One thing we do know about the reconstructed PIE language is that it made Classical Greek or Sanskrit look simple in comparison. My constructed languages for this project are going to be a lot less fiddly and complex. They’re just going to be naming languages, for the most part, so I don’t need to have a bunch of linguistic complication, I just need to be able to hint at it in a plausible manner.

So far I’ve developed a tool (a Perl script of about 120 lines) to generate all the “legal” word roots in the ur-language (about 150,000 of them, more than I’ll ever use). I’ve dumped all of those into an Excel spreadsheet which now serves as my master list for future lexicon-building.

I’m currently working on a partial description of the ur-language, with special attention to morphology: just how do you form verbs or nouns from word roots, how do the verbs conjugate, how do the nouns decline, and so on. As soon as that’s more or less finished, I’ll be building another Perl script (or maybe two) to automatically generate verb conjugations or noun declensions as needed.

The last step will involve developing two or three sets of sound-change laws, so I can take completed words in the ur-language and create daughter-language words from them. Another Perl script for that, I think.

Once all this work is done, my constructed-language workflow will get a lot simpler, and hopefully more consistent. Do I need a name or a bit of exotic vocabulary? Build a word in the ur-language, by selecting a legal root from the list and applying the defined morphology rules. Then run that through the sound-change script to generate final lexicon entries. Everything goes into a set of Excel spreadsheets, so I can sort and massage the results as needed. If I ever feel like tweaking the structure a bit, it becomes easy to modify the scripts and re-run everything.

I find when working on world-building, having the technical knowledge necessary to produce plausible detail isn’t the most important thing. That part is relatively easy. The hard part is scoping the task so that you can plan it out from start to finish, and then having the discipline to finish the task and move on. World-building is a neat hobby. If your goal is to actually write stories, you can’t permit yourself to get buried in the world-building. As I’ve learned to my cost.

Architect of Worlds: Reality Ensues

Architect of Worlds: Reality Ensues

One element of work on the Architect of Worlds project is that real-world science in this area has been advancing by leaps and bounds for years. Not once but several times, I’ve settled on a method for modeling some feature of planetary formation, only to see some new result published that seems to demand a different model. On one occasion, while I was testing the current model by generating planetary systems for nearby stars, I literally saw the first publication of new exoplanets in a star system I had just done randomly a few days before. This can be frustrating, although I have to admit it’s also rather exciting!

Now it seems to have happened again. The current model I use for planetary system formation implements a combination of the Nice model and the Grand Tack hypothesis, which together describe how Jupiter may have formed and migrated through the early solar system before settling down in its current location. The assumption is that a planetary system’s primary gas giant will normally form near the “snow line” and then migrate inward (and possibly outward) to its final position. This is all implemented in Step 10 of the current sequence.

Now there seems to be evidence that these models aren’t telling the whole story. In a new paper, “The consequences of planetary migration on the minor bodies of the early Solar System,” computer simulation seems to suggest that the core of Jupiter must have formed much further out than the Nice model suggests. It may have formed as far out as four or five times the snow-line radius, and then migrated inward very quickly.

I need to read the Pirani paper in more detail, and see if there’s been any discussion as to how to reconcile those results with the Nice model. To be honest, the Nice model isn’t entirely consensus in the community, so a new model that fills in some of its problematic details might work.

Still, if the Pirani paper seems supportable, it may be necessary to do a significant rewrite of the second chunk of the design sequence. It’s possible that the result may actually be simpler than what I’ve got now. I’ve thought of a way to cut out some of the current sub-steps and computation, making the process a little smoother, that might work. We’ll see what develops.