Alaw! welcome to RichMakeGame development log, where Rich talk about progress of new game: Car-Tank

Car-Tank is game about car which is tank, on far away planet- a new home for humans (one of many!). Things go badly for humans on new planet, but very well for robot rebellion and thinking plant monsters. So humans call in only man who can save day: Sheriff-Cop, driver man of Car-Tank.

- create new enemy spawn logic- able to randomly spawn certain groups of enemies but keeping to a strict difficulty curve. Levels and areas will have certain enemy types available to spawn, and code decides how to use them to create fun varied experience- not quite the same each play.

- develop level progression structure. currently thinking of some outrun-ish idea of branching routes, some hard some easy.

Allo! Rich work on non-destructive editing of landscape now. Normally Rich in favour of anything called destructive but in this case he make exception. Non destructive mean he can make changes to structure of landscape and not start again from scratch. For this Rich start with unity example project: procedural generation ( http://u3d.as/content/unity-technologies/procedural-examples/3zu ) and use height map script. This mean one image control how high ground is by light and dark colour. Then he generate UV coordinates for mesh and end up with result:

Notice Rich just mention mesh resolution- if Rich made landscape in Modo or other 3D package, he stuck with mesh resolution unless he redo from scratch. Now Rich generate landscape from image, landscape features persist when mesh resolution change:

looks like Rich after ale

what is point? what if Rich finish game and realise all landscape too high detail for physics or graphic card? or he realise he can use *more* detail? each landscape can be re-made easy. And now image is used for landscape height, next step is creating image by random...

next task list:

- find method of randomly creating image for use with landscape generation. Main idea: pick several pre-made base images at random and combine in various ways ( flip, rotate, invert) to produce unpredictable result

- change aspect ratio and size of landscape without squashing features and keeping scale consistent - eg smaller landscape area does not produce smaller hills

Allo! Rich know what you wondering: 'smiley face landscape look amazing, but how you manage to make many levels to such high standard?'. Simple! Rich bend computer to his will, make it do the work..

Main method goes like this: fill folder full of random squiggly images; Rich figure about 20 is good. Now, choose at random several images and mash together using operations like add, subtract, multiply, lerp ( blend 50-50). Out come new images, with some general characteristics of originals, but also new.

Squiggly

When fed into existing terrain generator, it give results like this:

Pretty! Now, new feature added with help of fantastic cheap image tweaking package on Unity3d asset store: FilterMe . This allow for all sort of Texture2D operations like saturate, invert, edge detect etc, but one Rich interested in is Gaussian Blur. Now blur tool is added, Rich can smooth out random generation result at will- (this different to 'Mesh Relax' function btw, and much faster):

Image slides a bit the more it is blurred. Not sure why yet..

One last feature added to terrain generator: detail zoom. This mean that only portion of generated image creates terrain, and give effect of larger terrain features:

Detail gets bigger on mesh depending on setting.

That is all for update! next task is:

- change aspect ratio of landscape (eg, make into oblong) without squashing features

ah, yeah it's eventually going to be an in-cabin view of the driver with a bunch of stuff flying about his head still haven't got around to fleshing that out...

in order to add a little more non-vanilla gameplay I'm adding in a tractor beam which you can use to swing about objects behind the car, with the ultimate aim of taking out enemy buildings bowling-style