Being a casual gamer i came to appreciate the sandbox genre for the freedom in gameplay, the immersion and community involvement it can offer. Having an interest myself (as a hobby) in game engines and 3D modeling i have decided to experiment on a few feature ideas i had, in order to create something like an early tech demo and see how they would actually feel.
So i've been experimenting a few months back with Esenthel in order to get to know the engine and see if i could implement those features at least at some basic level.
Features i wanted to experiment on:
-Immersion (day and night).
-Weather Effects.
-Voxel terraforming system.
-Realtime Lens Flares.
-Improved bloom and Eye Adaptation (in order to enhance the dark to light area contrast during digging).
-Realistic textures and especially for metal armor.
Sadly due to the lack of free time i had to take a break during summer but now i'll be spending some time again in order to try to optimize and polish up those features and try to get them together.
Environment Test
The scene contains placeholder assets and the goal was to achieve a satisfying level of immersion for day and night time.
Voxel Test
Currently the voxel system is at a very basic level of implementation, it's unoptimized, it has some left over code from previews tries and it uses mostly engine built-in functionality in order to create the mesh, normals etc that should be replaced with a custom implementation.
The method that is used here is a version of dual contouring (also tried Marching Cubes) but the final part of the intersection point calculation isn't merged yet with the rest of the code shown in the video and that's the reason for the jugged edges at the current stage. A triplanar texture projection is used for the rock and snow materials for both the diffuse and normal maps.
Post Process Effects
For the post process i'm mainly using the backbuffer to draw (much faster) for the various steps (threshold, blurring, further processing), so i avoid rendering to textures as much as i can even though at some point in order to combine the effects it will be unavoidable.
All the effects except the color correction and the radial chromatic aberration are at a basic stage and should be worked on to improve their aesthetics.
Simple Weather and Dirty Metal Material Test
Among the first things i tried with the Esenthel engine are this very simple single layer Dynamic Cloud Coverage system (done in the cpu at the time) along with a Dirty Metal Material test.
I'm including some helpful links i've found while trying to figure out how to implement those features.
Simply speechless! Excellent work, has to be the most impressive rendered output I have seen in this engine. Nice touch with all the technical references too! Keep up the great work.
As Tottel already asked ... are you planning on using this functionality for a project?
Thanks guys, i followed lots of threads here in the forums for technical help and art inspiration and i posted those links i find in case they might be of good use to you too.
While "trying" to be realistic i was hoping to reach the stage where i would allow a number of players to log in a multiplayer medieval fantasy themed environment that would offer some basic functionality like terraforming, single attack and block moves basic AI and an upgraded visual experience with some dynamic image-based effects. The simultaneous goal was to achieve a satisfying level of immersion through the realistic look of the world in terms of size, texture, weather etc.
So the project's goal was/is to make that showcase demo that would include those basic features. Still too ambitious, especially if you consider that i'm just a hobbyist with no professional experience doing this on free time, so we see as we go.
(This post was last modified: 11-06-2014 10:57 AM by georgatos7.)
Hehe, well all the maps i used where 1024x1024. I actually never used a texture to texture the terrain, but a pale version of the texture to tint it.
That also allowed me to add some interesting variation on the terrain while watching from afar.
So the steps i followed to import and texture the chunks where:
1) On the "Select elements to import", select only the "Height" tab.
2) Add your heightmap and enable Set tab below the image, set Min Max Height and press import. This imports the heightmap alone and retains the material basis you had when you created the ground patches (snow in my case).
3) Then i tinted the terrain by applying a pale version of the texture map as a color. So i deselected the "Height" and selected "Color" tab, i've added the pale texture map as the image and selected "SET" below the color image and pressed Import.
4) I then used a Splat map to apply the second material (rock in my case). So i deselected the "Color" tab and selected the "Material" Tab, added the splatmap as the image, selected the required channel, selected BLEND<--(important) with 1.000 as a blend value, drag and dropped the rock material on the first slot of "Materials for image channels" and pressed Import and was done.
I'm sure you can actually do those steps as many times as you like or until you achieve the complexity you require with all your materials and color tint values in place for the chunk.
Hope this helps. Let me know if there is anything else you'd like to know.
(This post was last modified: 11-06-2014 11:56 AM by georgatos7.)
Tri-planer terrain shading is also something that has been asked about a lot. *hint* *hint* Greg
This showcase just helps to show how important these features are for EE.
One question I have (a bit off-topic); how are you writing custom shaders with the trial of EE? I thought you had to own the source version of EE in order to write custom shaders as you need the shader headers. I have only ever done custom shader work in the old EE version that I own the shader headers for. I haven't tried in the new EE version, so maybe I'm missing something?
(11-06-2014 02:43 AM)fatcoder Wrote: One question I have (a bit off-topic); how are you writing custom shaders with the trial of EE? I thought you had to own the source version of EE in order to write custom shaders as you need the shader headers. I have only ever done custom shader work in the old EE version that I own the shader headers for. I haven't tried in the new EE version, so maybe I'm missing something?
Well thanks a lot man and also thanks for the link with the useful presentation.
I owned the binary license for some time, and i purchased the headers from the store at that time, also i'm using various versions of Esenthel and i intend to upgrade to the latest version at the time i will be merging those features together.
That looks really great. I didn't know that such things could be achieved in EE. Also thanks for the links. Specially for lens flare, because I'm going to implement it in near future
Georgatos and Raddict both; you guys should be putting these shaders up on the EE store. I'm sure I'm not the only one that wouldn't mind picking a few up.
Yeah thanks a lot man but i don't think they are currently flexible enough to be used in an actual project. Maybe once some additional needed functionality is implemented i can release a demo for everyone to try.