Here we are, our first entry of our devlog in which we show our progress more in depth and explain what's lying behind of all our decisions.
THE CURRENT STATE
For now, we have left our old prototype and have built up a full new project and are working towards the alpha and the first playtest phase for all backers. We are still developing and implementing some new and exciting elements alongside with building all our planned levels to a rough state, on wich we will iterate to the final release. Besides, we are building up the digital store pages for ESSENCE, and setting up some basics for the distribution.
A STEP FORWARD INTO OPEN WORLD
Our levels from the prototype were very linear, but we have done it this way to ensure a better presentation for the Kickstarter campaign. But as you know we always wanted a more open world approach to our final levels. For the main worlds for ESSENCE, we want you to wander around your area without a limiting feeling. We are experimenting with some levels with techniques to slowly guide you to some interesting places, but nevertheless, you can always choose freely where you would like to go first.
With this in mind, we will create most of the areas, wich will be built with wide landscapes and much spacing between interesting locations. Also, we are currently creating full new temples and other structures on a modular basis, with some smaller and bigger temple structures we can blend them with new locations, puzzles, and what we have is looking promising with always fresh and surprising moments.
PUSHING THE VISUAL LIMIT WITH NEW TOOLS
We know that one big key, in ESSENCE, are the visuals, so we have to build and improve some tools to provide a better experience. At this point, we see that the standard unity systems are far too limited for our needs. But we are convinced that the effort will be worth it.
We have a complete overhauled terrain with a lot of features, currently we have just a part of the features working, but the others will follow. A new feature is a glitter effect we can use for sandy and snowy locations. We are still finding the right looks for this feature and we think it will boost the beauty of some locations, but this is limited so we don't think we can quite reach the level of the sand from the game journey, it's too magic!
Some other features we are currently working are terrain wetness through near water and raindrops, blending objects with terrain to avoid hard edges, underwater effects like caustics, precipitation like rain, snow and etc on the terrain and objects. We initially wanted to implement techniques like tesselation or POM for more detailed objects as well, but unfortunately most of these only work on windows with DirectX properly and since ESSENCE will become a multiplatform game, we want only use these if we see it will work on all platforms with the same quality.
NEW VEGETATION AND FOLIAGE
Now we have a better and more lively grass and finally a good foliage shader for bigger vegetation that can react like the grass to the wind and other objects.
The tree shader is built upon the foliage and the bark can even beautifully bend to the wind, but since we have some models based on different techniques and qualities. We are still figuring out a basic workflow for all our trees. But we are convinced that the final levels will provide with gorgeous and very lively vegetation since we thought the prototype ambient where very stiff.
And last we will try to make smaller vegetation interactable with the character and other moving things when we have enough time between more important tasks.
ADDITIONAL PARTICLE SYSTEM
The built-in system from unity is still making a very good job for us, but on the other hand it's demand on the CPU was too heavy for bigger fields with many particles. So we have implemented an additional particle system wich will be powered by the GPU.
From now we will work with the unity particles in small areas and effects, and ambient particles will be used with the new system. So we can now produce a lot more particles on the GPU without any big impact.
[Two scenes with almost identical performance, left 5000 particles, right over 20k]
NEW IMAGE EFFECT WORKFLOW
For additional visuals we always wanted to create something more individual and special, to make ESSENCE more different from other games in this genre. Some effects are still used, some are improved and there are even some new. Of course, nothing is final and we are still changing al little bit, partially because Unity is currently overhauling some effect scripts. While working we saw that the sum of all these effects are a little bit heavy on the CPU and can especially drop in FPS on older CPUs, so we will try to optimize these in hope to don't cut some of them.
[left without effects, right with all effects]
THE LOGIC BEHIND THE BEAUTY
Since the prototype we have seen that our scripts for doors, triggers and etc are scripted too special and were intended for only one purpose, it was possible to build variations on this but it would cost too much time
So we have built our own flexible script/event system which is working on a modular basis. The are very compatible to each other and are opening interesting possibilities while experimenting.
[building a rotation based puzzle with the new scripts]
Now we have a faster workflow and are creating easily events like a simple door and can always expand this with more script snippets like additional sounds, particles, and other movements. Also, other elements like interactives and puzzles will also benefit from it.
NEW CHARACTER CONTROLLER
On the basis of your feedback to our character controller, we have to build a new custom controller based on Unity's rigid body system. Our old controller was based on a very custom solution from the asset store but on the other hand had many useful features like procedural camera shake and animations. Nevertheless, we have seen more and more problems with it. For example, the cursor got out of the screen by some users, and through the free movement, it doesn't work precisely on the interactive objects. Also, the collider of the controller was not very accessible for more advanced physics interactions (for example: pushing floating objects or walking on gravitational platforms, but also relied on additional and time-consuming scripts for collision with relatively simple objects like elevators.
So we got back to our old character controller from unity and have built our needed features from the scratch. For now, we have a solid controller with camera shake options, a proper collision with moving objects, smooth movement, and a smooth camera. Also, we have used the opportunity to build at least better basic animations with Unity's animator system, besides it allows very nice blendings between the different animation clips. In the next weeks, we are aiming to complete the character controllers with more animations and implement a new footstep sound system.
As we progressed we also decided to change the cursor from the prototype completely to a very minimalistic form, which will have a fixed center and will maybe only appear when there is an interaction. We are looking forward to having it ready to the alpha test, based on your feedback we will work on it further.
Furthermore, we have to build a basic gamepad support for the windows version and from now on we are testing the game with a Xbox one controller too. In this way, it will ensure a good when not even better playability. The controls for moving and looking are already great, and maybe we can grab some other controllers somewhere to implement it too ;)
WHAT HAPPENED BESIDES
FIRST STEPS INTO VIRTUAL REALITY
As we have worked our first VR device, the HTC Vive has finally arrived, and we are able to work with it toward the VR versions of ESSENCE. Since no one of us have experienced VR before this was our very first contact with VR and it was very exciting for us because we wanted to see it in action for quite some time.
So after minutes of setting up but hours of troubleshooting we have finally tested the Vive with some games/demos and we can just say it blows our minds completely! We are very impressed how good everything works even for a first gen device. Besides we are actually able to run the Vive on a laptop with a Nvidia gtx960m GPU, but only on more simplistic games. Based on what we have tried we have acknowledged that games always have to provide at least 90fps, otherwise, the player will experience screen shuttering and from it resulting sickness. So here we can focus on while developing and optimizing. But the next weeks we will work more on this topic to give you more info alongside the next update.
Concluding the challenges for VR, we are still very satisfied our expectations were exceeded and even trying this has inspired our work on ESSENCE. We recommend you to see it with our own eyes if you have the chance, it will be worth it. On the other hand, we still think that most of you can have a great experience too in playing essence without VR, so you don't have to worry that this will displace our focus on how the game has to be played.
So here we are at the end want to give you a small preview of what we want to show you next:
- more open world designs
- advanced physics and movements
- interaction mechanics and puzzles
- structures interiors and designs
- basic VR implementation
- story mechanics
Questions? Thoughts? Suggestions? Please let us know what you think.
We would also like to know how you found the format and the content of the entry and what do you wish for the next time?
So stay tuned and thank you for your patience our brave Travelers,