I came up with a new terrain shading technique that combines some clever texture packing tricks with normal approximations in the pixel shader to produce some awesome results. The lighting on the terrain is now extremely highly detailed, and zooming down onto the terrain looks perfectly smooth. I can also feasibly add more lights for particular buildings or the cursor to make some awesome effects. Below are a few screenshots of the current work in progress:
Planet with new lighting:
I’ve gone back to the idea of having night and day on the planets, so sometimes your colony will be in night time. To help with this, I’ve added semi-ambient lighting for night time. When a colony is in night time, it will have its own light coming from it and you’ll see the city street lights sprawling out from it, once I get around to implementing those features. The water still needs some work and I need to develop an atmosphere layer with clouds.
More pictures after the break!
New lighting: Zoomed in closer
This is about the zoom level at which you’ll be searching for stuff. I’m thinking this area will be divided up into a grid and you’ll send scout ships to each sector on scout and survey missions to locate resources and random lucky finds.
Building placement level: Closest zoom
This is the level at which you’ll manage your colony, place extractors and so on. I’ve been experimenting here with a new camera angle — when you get down this far, the camera pans up to give a 45 degree RTS style viewpoint. This should show off the buildings a bit more, but it’s tricky to get right due to the way my terrain is implemented.
Zooming down from the planet to the surface is all done in realtime and the transition is perfectly smooth. My new shading technique makes zooming super smooth comes at the cost of some performance as it places a lot of load on the GPU. It still runs at 30-60 FPS on my five year old PC, however, and I’ve managed to claw back some performance through optimisations.