SURPRISE: Demo for VIP beta/alpha backers tomorrow, first let’s plays & a new behind-the-scenes look
Today I can finally share the reason why it has been a bit more quiet in the last days from my side:
From tomorrow on backers of the VIP beta tier (that’s the €60 one) and above will have exclusive access to a short Kickstarter pre-alpha demo of Omno!
PLEASE NOTE: this is NOT the beta and alpha version that you can get as a backer reward. Those are bigger in scope and will roll out closer to launch.
I’m super excited to hear what you think about the game when you can play it! Of course this is only a super short look into the game and the build is not final at all yet but it should give you a first idea how the mechanics work and the world could feel like in the game. Also, there are NO TECHNICAL OPTIMISATIONS yet. Please also note that the level in the pre-alpha demo is specially made for the Kickstarter and will not be a level in the final game (so no worries, it’s not a spoiler :) ).
The pre-alpha demo will also be released to all other backers and players early next week but I wanted to give VIP backers an early access to gather last feedback on the build so I can still fix smaller issues that might come up over the weekend.
How to get the pre-alpha demo? Simply join the Omno discord (where the Link will be posted in the Announcement channels of those tiers) and claim your title by contact the admin bot with your backer tier.
After you have gotten your beta or alpha VIP role simply join the special beta or alpha channel and I will post the demo link and further instructions there tomorrow.
In other news Omno was covered in a really great article in Eurogamer today (woah, big deal!) and over the last days selected YouTubers and streamers already got a first look into the pre-alpha demo and some cool videos are live from that already :)
Here are some great let’s plays I found but of course if you want to go into the pre-alpha-demo with fresh eyes, maybe wait a bit until you watch it.
In today’s behind the scenes section I wanted to share something that I actually shared in one of the very early Omno newsletters (long before the Kickstarter) that most of you probably have not seen, and will hopefully like. This one should be especially interesting if you are developing games yourself or are interested in it as it gets a bit more technical.
The topic for today: Cloudy with a chance of performance drops
When making Omno there was one part of development that turned out to be not as easy as I thought: Making nice clouds.
At first I thought I strictly want to avoid volumetric clouds and only use sprite particles. I've played a lot of games where regular sprite particles created super immersive atmospheres (like the old Call of Duty games, etc.). It felt good to me, but the world I had in mind needed much more artistic freedom than just placing some particles. You simply can't shape those the way I wanted due to their nature of just being sprites randomly spawned. So I modeled some simple clouds but could not decide which worked better and asked for some feedback on the social media. It turned out that the modeled (low poly) clouds were favored by 95% of the people. So that was the way to go. But those new clouds liked too solid and static to me.
So I couldn't leave it that way and created a shader to add more detail. It uses noise based tesselation to create all those small little bumps which looks AWESOME, but is suuuuper heavy on the performance side and very static as well unless you animate the actual cloud. The framerates were cut in half only because of the tesselation and had to use huge LOD (level of detail) cuts in the distance to save as much performance as possible. Although I was very happy with the visual result, I realized that it's not a perfect solution for the final game.
After talking to some people, I knew there was another solution. Vertex Animation via shaders. I've used that before on grass to simulate some wind effects and all, but that was still pretty new to me, since I have very limited experiences working with shaders. In the end it was a matter of a few hours to get everything working as I wanted and it was surprisingly simple after all.
The tech stuff: I used a Noise node and multiplied that by the VertexNormalWS. In order to make it move, you need to animate the Noise Position. Create a Vector3 (RGB=XYZ) and multiply that by Time, then add the AbsoluteWorldPosition and use that result as the Position for the Noise. You probably have to tweak the Noise parameters a lot to make it feel right, but this is the basic setup.
It looks nearly as good as tesselation in my opinion AND it is animated which makes it feel so much better. And the best thing about that? The performance drop is barely noticable compared to the tesselation method. Win!
Let me know how you like the final result.
That’s it for today :) THANK YOU for your help and very much looking forward to seeing what you think. We are also very close of reaching the next stretch goal and are getting close to the last week so, exciting times ahead!
Wishing you all a great day!