Star Control

Star Control: Origins Prelude 11 of 13: The Environments of Star Control

Published on Monday, September 10, 2018 By Frogboy In Star Control Journals

The best laid plans...


Let's talk about the environments of Star Control...

Explore to explore, in order to explore some more...

At one point, we expected players to spend a lot more time on planets than they actually do in the final game.  I don't mean just a little bit more time, I mean a lot more time.


Early on, we envisioned planet exploration to be the primary activity of the game. We were wrong.

I don't know if there was something in the drinking water back in 2015 - or if it was just influence from No Man's Sky and other games that featured immense planetary exploration - but there was, for a time, a lot of effort put into thinking about exploring planets. We had this amazing engine for procedurally generating planets, So why not make them massive and have trillions of them?


And then we started to play it...

Turns out, exploration for the sake of exploration gets pretty old pretty fast.  Star Control is about the story. You're Captain Kirk, not Jacques Cousteau. 


We then had to consider what purpose the planets in Star Control serve.  The answer is: acquire resources and access new quests. 

Now, at this stage, we still believed players would spend most of their time on planets.  We had given up on exploration for exploration's sake, but we still believed we had to make the planets some sort of mini-game unto themselves. 

Super Star Control Galaxy

For a time, there was consideration that the planets would play like Super Mario Galaxy.

image image

And this idea did gain some traction... for a while.  After all, planets in Star Control exist for you to travel down to, get resources, get quests, and then move on.  Your ship is almost like a honey bee going from flower (planet) to flower, gathering things and moving on. 


So why not embrace a Super Mario World style experience? The answer, as you may have already figured out, is that it would have been a disaster. 

One of our mantras has been: you must live by the rules your universe sets up. Star Control is a hard Sci-Fi game. We put in quite a bit of effort to make the universe reasonably accurate. All of that would quickly fall apart if the planet exploration experience was akin to Super Mario.  Having your lander jumping up on not-very-realistic terrain elements to get to stuff sounded like a really good on paper, but it would have alienated a lot of the players.

Important but brief

This is when we finally realized that the planet exploration part should be a co-equal part of the game. 



If the average play time to finish the primary game mission is 20 hours (1,200 minutes) and we expected players to visit, say, 120 planets during the course of the game, how long could a planetary visit last on average?  Well, if we want planet exploration to be say a third of the game time, that would be 400 minutes.   So, on average, planets would need to be something that you'd spend between 3 and 4 minutes on apiece. 


Now, keep in mind that as I write this, there's about 3,600 planets in Star Control: Origins.  So when I talk about 120 planets I am referring to 120 planets that a typical player would be inclined to spend some time on. 

In our solar system, I would rate only 6 planets as ones that fall into the "must visit" category.  Most players who have played the first chapter end up going to every single planet because they run out of content at the end of that test build.  But in practice, only 6 planets are, in my opinion, worthwhile in Sol, and Sol is atypical.


Ultimately, we focused on making sure the planet experience was fun, but also fairly brief.

One caveat: While we did move away from the more action-y planet exploration, we did ultimately decide that we would stretch the bounds of realism by having planets made of, say, diamond, or a planet made completely of copper.  Is that realistic? Probably not. But I can tell ya, it's pretty fun traveling over a planet made of gold.


The world that wasn't

The amazing procedural planet generator did have one really good outcome: we weren't stuck with a handful of planet types. 

We all know about "planet types". Forest Planet. Lava Planet. Grass Planet. Water Planet. Snow Planet.  Star Wars has, if unintentionally, popularized the concept of a uniform biome on a planet.

But the planets have many distinct classes in Star Control: Origins. No thanks to me.  For most of the game's development process, I was the studio suit guy (Executive Producer) worrying about scope creep.





















(and not pictured because it was too boring to bother concepting...)





Frustrated by the meddling cheapskate suit (me), the team invented a completely new way for us to generate planets on the fly that would allow us to have not 10 planets, not 20 planets, but over 64 planet types!

The Super Magical Instantmatico World Generator

When you visit a planet in Star Control, it's generating the planet on the fly.  There's no load screen. How did they do it?

The team came up with a pretty radical way of handling this that combines some of tricks the team was familiar with from their work on Civilization V (many of the people involved with this game came from Firaxis) with the capabilities of the Nitrous engine to instantly generate planets based on a handful of lines of XML.

To over-simplify, it involves combining 5 different pieces of data along with other factors to generate a unique world. These aren't random worlds. Every person who visits Epsi Capara IV will see exactly the same planet. The planets are generated by a very specific set of rules:

  1. The Planet Template file
  2. The Stamp list
  3. The Height Maps
  4. The Materials
  5. The Props

The Planet Template



This is what puts it all together and controls the parameters of the planet.  It is your starting point where you decide what you want your planet to be like. You see the planet's default material.  For example, an Actinide planet's base material is iron, while a Halide world has "chunky snow" as its base material.  It also sets up the resources, gravity, music, environment, etc.  It's the focus point.

The Stamp List

The next step is the stamp list.


Putting pieces together on a planetary scale

This is where height maps, materials, and props are combined together and given various priorities in order to control how much a given "trait" emerges. I have spent the majority of my days this past year playing with this particular engine feature.  It's like baking with a recipe but with a lot more instant gratification.

The Height Maps



The height maps make sure the world isn't flat.  Most of them are even less exciting than the various mountains and craters you see here.  These height maps were the foundation of a given stamp.

The Materials & their masks

We then have a palette of 60 materials, from ice to rock to silver to emerald to grass, and all kinds of other weird and exotic materials.  The stamp would define a height map plus a mask for the material along with up to 4 different materials to be shown based on the height of the map.  thus, the top of a mountain could have a different material than the bottom.


If you wanted a desert world, you'd make sure your stamp list included a bunch of stamps that listed height maps that looked like sand dunes combined with several different sand and rock materials.  I won't even get into the materials today, as those involve diffusion maps, normal maps, specular maps, and emissive maps.


Props are the most expensive part of this process.  What makes a game like No Man's Sky so impressive looking to devs like us is how excellently they pulled off their planet prop system.  Grass. Trees. Rocks. Anything that is a 3D model in some way.  We don't procedurally generate our 3D models.  A human being makes every tree, rock, bush, etc.  We can then modify it in game based on size, rotation, color, etc., but the actual FBX file is made by someone.




The End Result

Because of this system, we now have over 60 different planet classes with a great deal of variation from one to the next, thanks to having so many other factors to weigh in (size, distance from the star, galactic position, etc.)

image image

And landing on one planet type is most definitely very different from landing on another...


image image image

With 64 (and counting) planet types, there's a pretty decent chance players won't even encounter all of them during their first play through.

Let us know what you think!

Please tell us in the comments what you think.  What % of the game time should be spent on exploring planets? Did we make the right call making planets smaller in order to focus more on the main game? What is your idealized planet lander experience?




Prelude 1 of 13 - The Living Universe

Prelude 2 of 13 - So Many Planets

Prelude 3 of 13 - Creating Interactive Stories

Prelude 4 of 13 - The Mid Spur

Prelude 5 of 13 - The Aliens of Star Control

Prelude 6 of 13 - The Ships of Star Control

Prelude 7 of 13 - The Aliens of Star Control Part 2

Prelude 8 or 13 - The User Interface of Star Control 

Prelude 9 of 13 - The Lore of Star Control

Prelude 10 of 13 - The Art of Star Control

Prelude 12 of 13: The Critters of Star Control 

Prelude 13 of 13: The Modding of Star Control