Dive into CIU planets and how they were made

Hi,

Today’s topic is different, we’re going to see a small part of the game that took me too long to figure out: Planets

Planets in the game

Before starting, I want to tell you that these are not 3D. iA himself said:

And no, they aren’t 2D tiled texture but only visible of it is circle. look at the edges of the planets, you see them like if they were 3D.

Also, these planets have shadows and the light direction always head to the star (we’ll need this later on)

Another info we need is that the atmosphere (glow around the planet) can be thicker on different planets:

Last thing is rings, how we’ll gonna make that? We’ll know soon.



Fun fact: Planets rings change appearance locally whenever you disconnect from the game and then reconnect.

No longer real, it got fixed:

Now we got our basic info, let’s make the planets!

Making the Planets

We’re going to start with simple objects:

  • Glow
  • Shadow

Glow

We’ll do glow as it’s easy. It’s blurred transparent gradient to solid color to transparent again and then gets rotated to make a circle shape, this should be easy (Make a perfect circle then blur inside and outside of it).

And yes, we’ve made it!

Shadow

Now with the shadow, here where it gets tricky…

Looking at its texture and it’s just a hole in the middle gradinating into white:


If you wonder why shadow is white is because shadows get colored (in the game white parts are easily colorable like using Multiply Blending in image apps) will look later how they are colored.

Later I made a video showcasing my attempt at making them animated however there are so many mistakes yet we’ll cover later on…

Remember the trick I said above about 2D tiled textures? I made it in that video. Obviously, OBS Studio can’t make 3D models to make it look accurate…

Wrapping

There’s another way tho, I used this plugin to make the same 3D effect, we’ve wrapped both shadow and texture, and… It’s almost similar to the game planets.


(The texture is Earth heightmap)
We still need more stuff:

  • Clouds
  • Colors
  • Rings

Clouds & Colors

Clouds are simple. They are like the surface but only use single color and its “Planet Color” (It’s uses it but makes it slight brighter, Earth-Likes are exceptions) however they move slightly slower and fun fact, 2 of these clouds are found online!
One is Earth clouds and the other is an edited version of Venus atmosphere.

Another thing that Clouds also have shadows, they are just copies of the og cloud but:

  • Slightly Darker
  • A bit farther from the original cloud location depending on light direction

Wanna comment on something, the game uses hmap files has 2 images, one is simple black and white image and the other is noisy texture.
image

Surface Colors

We’ll focus on the first one. How do the game makes the multiple colors of the surface?

Let’s get a quick example yet from the game, see this shield?


It’s a gradient of 2 colors, one inner and the other outer. That’s similar to how planet surfaces work. But this time they’re multiple ones (from 2 colors up to 6)!


But how did you know they’re gradients?

This changelog explains it:

And yay! We made the surface and the clouds!


Now we add it to the glow and then the shadow and glow “they use planet color too.”

Finally, it looks like it came straight from the game!

Here’s something… The plugin I used allows me to see the poles and when I remove the clouds along the way… The pole looks… strange.


It’s possible to solve this issue but neither we the game actually fixes it nor we have time for it.

Now one thing to figure out.

Rings

It’s possible to make copies of the glow and then scale and shrink to make further or nearer:


Later add them in front, back of the planet with “Additive Blending”.

NOTE: I currently don’t know how the game actually makes the rings have parts in front and parts back, I have a guess they’re 3D rotated.

After all these info we can make a planet, let’s see how much it takes us to make another one!

BUT remember the hmap files? There’s another thing that I stopped at from these hmap files, unable to see the reason behind it…

Unsolved Mystery

Alongside the first image that’s in hmap, there’s another one, it looks noisy…


And even replacing it, doesn’t change anything within the game. I guess they’re unused or have unseen funcion…

Conclusion

And that’s it! I know it isn’t a topic idea but this took me long time to know and I wonder how actually I’m accurate to in game behind the scenes and…

Thanks for Reading!

21 Likes

Part 2: Animations

Remember this?

As I said the direction that planets head to a middle star is bright and clear but if you noticed some planets have different shadows.

And this is because these planets are further away from the star. Now how do we replicate that?

Let’s see another shield example:
temp
If you noticed (probably in game as gif is slow ): ) What actually happens is that the texture is wrapped BUT the texture goes up and down and there are no pole weirds.

Which leaves us that the image itself moves but the wrapping still happens.

The same thing happens for the shadows, they go up and down but the wrapping still happens.

Now finally, planets rotation..

This time the also move but to the left, the same happens for the clouds but the shadow is placed downwards. And with that we’re done!
Here’s a remake animation of CIU Earth rotating.
small earth animation

It’s not that accurate of course (clouds in game move slow so double frames was needed)
And the last thing.

Did you notice that in both Gas Giants and Inferno have wiggly effect on their surfaces? I don’t exactly know how they were made but what I found that they’re reused from some stuff of the game (sun’s core animation as example). And yes, that’s it!

Thanks for Reading!

16 Likes

holy hell this is like the best post i’ve read in 7 years

5 Likes

I have noticed the surface of planets move faster then clouds or its the other way around

1 Like

It’s already mentioned in the clouds section:

oh

2 Likes

Hah, excellent investigative and reverse-engineering work, recruit! You have made the UHF proud! :+1:

Oops. Fixed in v.159 :medal_sports: Bug

Mystery spoiler: Heightmap data is 16-bit, which you’ve inadvertently split into 2x 8-bit.

18 Likes

Thanks, but I used VerMishelb’s modding tools so I didn’t make everything from scratch.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.