maandag 25 augustus 2014

New terrain system!

Hi folks!

Today we have some new info for you about our in-house terrain system.

This blog post will be about the blending of different textures between parts of each terrain tile and between each tile itself.



Our terrain is derived from a heightmap sculpt which then is converted into a mesh.
This mesh gets further sculpted inside Mudbox and then the final import is done to 3ds max.

From here on we create the roads and the rivers and other waterbodies.

Because the terrain consists of horse track trails and cliffsides it was impossible to use standard tiling textures.

We decided we would make the cliffs stand out and give them dedicated textures that wouldn't be distorted by uv-unwrapping like the standard heightmap terrain has.

This generates a problem.

Because the cliffsides polygons of certain terrain tiles are using non-tiling textures we need to correctly uv-map them on to it.

This creates a seam between the polygons from cliff and the polygons from the terrain.

To fix this problem we tried a few approaches:

1.
The use of "decal/duplicate polygons" , this means the terrain tile is one mesh and the trails and cliffs are created inside the terrain tile.
Where the 100% trail transitions into the terrain 100% polygons we create overlapping faces or decals.
In this way we can use vertex colors painted on these polygons whereas blue channel would be 100% trail tex and the red channel was then used for transparency to blend between the terrain.
This method "worked" but it came with certain flaws, the overlapping polygons would be darken out because of the destination colors of the terrain.



2.
The use of "MegaTextures"
This has a short answer , MegaTextures are nice but they are big memory eaters , not very handy to paint a mistake and certain tools are unavailable to us.
But it could also help in certain ways that we only have one mesh which means one object and the shader would only need to render the megatexture onto the tile which means only one draw call.

3.
The use of "Multi-uv's"

This is our final and currently working method.
Because of multiple uv's we could create it for the cliff/road and tiling terrain.
We still use vertex colors to specify texture channels but a little magic is done by our custom shaders for the game.
And the result is finally what we wanted it to be.
(The images still show non-smooth transitions because the mesh used for the test is not optimal nor does it display the game's world.







Stay tuned for the next blog post which will be our "in-depth terrain vegetation system".

Till then
The BeastGameWare Team

donderdag 3 juli 2014

World loader/constructor

For the past days we have been really busy creating and programming our custom world loader and constructor.

This system will load all the necessary game meshes, textures and placement data per tile per LOD level into the game engine.

Currently the whole system is made up that every gameobject is loaded through every currently loaded terrain sector.

What we can reveal to you how this looks like to the end user :


That's right all that hard work to show a "Loading..." message to the end user.
While this message may seem small the outcome is great perfection.
:)

Until next time,

The BeastGameWare Team

woensdag 28 mei 2014

Update

The game world has entered the stage of high detail levels and texturing.

This means it is slowly progressing through the final phase.

After that we will begin with the main storyline plotting and gameplay mechanics.

Enjoy!

vrijdag 11 april 2014

Shader time !

Got some time to make a shader for the various rivers that will cross the environment , enjoy !


The shader support:


  • Normal mapping
  • Flow of the river based on a 2D vector flowmap
  • Shore/shallow/slow flowing water parts have more transparency than the faster flowing parts
  • Vertex displacement to form 3D waves

Unexpected post

In this post i wanted to inform that the main job on the surrounding terrain has been finished !

This means that progress has been made on the game environment.

Next stop:

High poly terrain

Game on

donderdag 10 april 2014

Terrain frenzy and terrain system explained

Today i have finished most of the raw terrain sculpting and exported it as a terrain tile system.

And a little more information on how about the terrain system will work in the game.

Basically we have one large terrain splitted into smaller terrain tiles.
These terrain tiles are very important , not only for the terrain system itself but also in the sense of level of detail.

With these a sort of grid forms from those tiles , each tile has different lod levels:


  • LOD0 : is the highest lod level it contains the most details (polycount) , texture size and quality
  • LOD1 : this level contains the same polycount and details but the texture size and quality is reduced with 3 quarters instead of using 512x512 textures this lod level uses 128x128 this gives more memory bandwith but keeps the same quality of the model in the still rather nearby viewdistance.
  • LOD2 : the polycount on this level is radically reduced to a low detail level because this tile will be located at a rather far distance so it doesn't really matter what quality it has the player isn't there. Also the texture quality and size is more reduced to 32x32.
  • LOD3 : is basically only for surrounding tiles to hide away any views that might give away the size of the actual ingame terrain and give the player a sense of openess and greatness from the world he is in.

Example of a terrain tile:

So that's it for this post,
For more info about this game and interesting facts keep following this blog !