Developer Blog #2: Creating New Worlds
A big part of Lord of Rigel is exploring and expanding, and the galaxy is a large place populated by a variety of worlds. In designing planets two major things were in mind: 1) they had to clearly reflect what type of planet they were which reflects gameplay 2) they had to have a consistent art style that fit with how planets looked in late 80s and early 90s scifi.
Although a number of games have used procedural planets, at the moment for Lord of Rigel we're using regular textures for each planet climate type. This means that it is easy to determine which planet is what type for gameplay purposes since there's a limited set of visual styles with set color palettes.
When first starting on a planet type, such as a Mars like desert planet, a color palette is selected. This palette is based on real planets or colors from expected chemistry. So a toxic Venus type planet has coloration reflecting sulfuric clouds, while the desert planets have a rust palette that reflects being a dried up planet with left over iron.
Although actual exoplanets likely have quite a bit more diversity than what we can imagine out of our solar system, picking colors similar to known planets gives an intuitive touchstone for the players. A Mars like planet is going to be less bad to put settlers on than a Venus type, or one like Mercury.
Textures were created from a combination of publicly available high resolution space photography (courtesy NASA and USGS) and painting. Each planet consists of several high resolution (2048x2048) textures. These include diffuse (color), specular (shine), normal (a height or bump map), and cloud maps. The two images below show off a raw diffuse and height map for the Mars like desert planets which lack water and thick atmospheres but are still much less hostile than some of the other planetary environments you'll encounter in a game of Lord of Rigel. The height map is a modified LIDAR (laser radar) map of portions of the Moon and Mars combined to get highlands, lowlands, and craters with additional painted sections. Your tax payer dollars at work!
Getting it in game:
The next step is putting in the planet in to Unity where it can be used as a prefab and called by galaxy and star system generator scripts. The textures are applied to a low triangle (2000) "spherical" mesh. One of the more sophisticated effects is an atmosphere pixel shader effect applied to a second sphere surrounding the planet surface. Pixel shaders are special sets of instructions for your video card and this one provides a realistic atmospheric scattering effect for a planet which can be given specific densities and colors.
Importing Desert texture in Unity:
Finally, when a planet prefab is finished it is called on in game. You can see a desert type planet in game in the image below. The bright blue orbit lines are a recent work in progress. This should give a sense of the process behind creating planets. You'll be able to see the full range of planets with the pre-alpha demo coming out in a few months.