I’ve got an extremely short episode written that contains what I think is most of the elements to the game. Right now I’ve got a sort of playable thing happening except for variable text. There are variable options and blurts said by your bridge crew as well as random ones, but the text displayed to the player isn’t variable yet.
Considering the amount of pain I had trying to work out how to do this; I thought I’d write up something lengthy to explain how it works. It also helps me find if there’s anything in it that I don’t fully understand, else I wouldn’t be able to explain it.
I’ve spent a few weeks working on engine enhancements to what I’m calling “spaceengine”. In addition, I’ve cleaned up a lot of the code and made some corrections here and there.
You can faintly see the planet, but what’s great is the successive levels of bloom.
And here you can see my very simplistic atmosphere being rendered. I had attempted to implement proper atmospheric scattering but the topic is very complex and I was having a lot of difficulty with it.
All of the samples for atmospheric scattering I’ve seen rely on earth-like parameters and coefficients, which is fine, but I know in advanced I’m going to need very non-earth like planets.
So for now I’ve opted for a simpler approach that essentially let’s the planet define the colour and density of it’s atmosphere, and the shader simply checks for eye ray length through the atmosphere and adjusts the colour accordingly. It works well enough for now.
Finally, I’ve implemented shadows for nearby objects.
Next, I’m working on object picking and then I’ll be revamping my noisemachine to work sort of like libnoise by using modules. This will help me get my planet and moon textures looking good.