Friday, 7 August 2015

Procedural Prefabs

after nearly a month of living a breathing procedural generation, I am ready to provide some design specifications for the team.
First I'd like to start by outlining the three options we had.

  • Designed Nodular Rooms - design entire rooms and connect them together we corridors
  • Modular Segments - we make a variety of segments that are made to fit together (however each segment is only designed to fit specific other parts). Each segment can be of any size as long as it fits the pieces it goes with.
  • Fully Modular System - the wall, ceiling, floor are all added as separate prefabs however crucially. They are all in the same regular 1 x 1 (unity) unit. Although the 1x1 prefabs can be specifically designed to fit with other pieces they don't have to.
Here is a picture example of each

Now I do not have any models for the fully modular prefabs, so please overlook the basic geometry I used. This final option: 'fully modular design' is what we are going to go with.

I'd start with saying this only rules out very rare cases for design so generally anything you had in mind before will still work, please talk to me about this if you are not sure how it should work.
I can think of one or two cases that would be complex, that being a long corridor with a curved wall, for now I'd ask you not to try something so complex. However here is a ruff image showing the concept of how you might approach a curved wall.
you can see in the top down view the curved piece of wall being made fits in a 1x1 grid (notice the top down view shown in top right). When the curved wall is combined with a second piece we get a short curved wall. If you want to make a long curved corridor you would take a much longer cylinder.
Please note that the same curved wall can be repeated, you should not not not generate dozens of pieces but make sure you can repeat the same chunk as much as possible. Notice the floor in the above image is a completely separate floor tile that won't need to be included with the wall. Allowing us to choose whatever floor we want in the generation algorithm.

Cheers Markus Fisher

Sunday, 21 December 2014

Terrain

As promised blog post on terrain!

The first part of terrain creation is heightmap creation, you use a program to paint the terrain features and it doesn't do anything more than define a hill here and a hill there.

For this there are three obvious options to me as an indie developer,

Option 1 is L3DT certainly the most affordable and used more commonly than you'd think, I'm sure 90% of modders use this and a fair few indie developers.

Perhaps not the most attractive terrain by default but you can certainly make interesting places to play.

I have used L3DT to make the basic design of the map, I know that there will be barbarian camps to attack on the map and I felt it was important the terrain was interesting to look at around the camps to make them feel natural and a part of the terrain. One camp is on a set of cliffs over a river, another is deep in the forest part way up a hill.

Option 2 is World Machine
World Machine is certainly the more commercially used of the first two options and gives me some really cool ideas. However the $249 price tag is hefty and it wouldn't add anything to the small 'simple' map's of Castle Commander. However for larger games it allows you to create the whole world in awesome detail and beauty in WM and then send it over one small bit at a time to unity, definitely useful if you're trying to make 350,000^2 km.

World Machine can get awesome looking terrain and allows you to create it in huge quantities, here are some examples:

The above images give a really nice idea on how good terrain can look but remember than they are using shaders, textures on the terrain and some visual effects like bloom. Alone what world machine offers is the realistic slopes and detail. Below is an example of raw simply textured terrain as world machine exports it.  As you can see it is interesting, huge and looks good even with simple textures.

The second and perhaps more interesting part of terrain is the visual texturing and shading.
For this there is really only one answer
RTP Terrain for Unity3d

RTP offers some of the best terrain shading seen in games to date, it achieves good looking terrain up close and from high up in aircraft by making sure the textures blend together well.

if we compare that to the terrain textures at mid - long and close range of a shot from BI's arma 3 terrain shader we can see that the ground maintains it's quality much better over distance and has more detail up close


terrain composer working with RTP can place the textures and trees/grass beautifully. Below are some of the results which are impressive.

The below images are NOT using RTP v3, all the looks are simply accomplished with good placement of tree's and textures

I hope you can get a really good idea for the style and quality of the terrain I am building in projects using RTP v3 and terrain composer. 
Pictures of my own terrain will be posted to facebook.

that isn't even going into emission and water shading for the terrains