I can bet the situation when you’ve been working hard for a good while, have done loads of things, and still feel like there is nothing special to show to the audience is very familiar to most developers.
This “nothing special” may differ. At times it means “nothing of the final quality”, very often it is “nothing notable at a first glance” – for example, some improvements in the developing tools, crucial for the game making, but hardly visible for a player. Thus, a simple correction of the lighting can take a week of work, but would be barely visible at a screenshot.
Just as soon as a developer manages to overcome the scepticism and feels ready to show the updates to the community, the white and the black angels appear behind his shoulders. The black immediately goes: “Don’t you even think of showing it to people! Is it a result? I’d rather say – a piece of crap!” “Hey, that doesn’t look that bad”, encourages the white angel, “Show it! You’ve learned so much doing it! People do want to know! Every little step is important!” Almost torn apart by the alternatives, the developer often ends up saying: “I’ll decide later what to do! Now I’d better get busy with this new feature, finish it and show the update”. However after the implementation of the new feature the situation often doesn’t change and doubts still remain.
That is exactly the situation we have just faced. However, this time the white angel won. This means we are ready to reveal the new feature being developed – the dynamic sky.
Exoplanet:FC is the open world game and one of the milestones in its developments is creating interactive environment.
Hardly can a game world seem alive with a static skybox with the clouds and the sun painted on it? There are, of course, a number of examples where this approach works well; however, it makes sense only if a player doesn’t spend much time on the location and if the quests aren’t connected with the shift of night and day. The static decorations in such games do not influence the gameplay and do not take so much attention of a player. Exoplanet, of course, is not the case.
Thus, inspired by the challenging task, we started creating the sky. As this often happens, having gained the right speed, we crashed into the wall consisting of the numerous tiny and tricky bricks we couldn’t have thought about before.
The sky required a special way of rendering. We had to brainstorm for the right decision for quite a while. Finally, we found the way to extend the rendering architecture so that it would be capable of rendering of the complex sky objects. Such moments often make us very proud of the decisions we had made when working on Sahara Engine as it steadily demonstrates the ability to tackle difficult tasks after some improvements.
Having it done with the technical part, we faced some creative challenges. How to make a player feel that the clouds are high above? You might think it’s easy – no way! And how to make the clouds transparent for the sun?
Many hours were spent for studying these effects in different games (in good old ones and in the brand new), and our modeler spent hours watching real clouds.
The result you can see at the screenshots and in the video.
This is not yet the final quality and there is much work ahead, still we feel like it’s already much better than the static skybox we had before.
If you like our game you also can support the development directly and get access to the playable alpha and all updates including final game when it will be released.
Thanks a lot for your interest and support!
I'm surprised what the indie community can do nowadays. This really looks amazing
Well, I'm not surprised, but I agree on the "This really looks amazing" part. :)
Many thanks guys!
We put our souls into this game working very hard, and it is very very inspiring to hear that you like what we do!
Hmm this looks nice indeed, I'm interested in a somewhat more technical explanation of how you guys did this.
I hope someday when we complete day/night cycle I will write something like postmortem with revealing more technical details.