**plasma (midpoint displacement)**

v0.1; caminoix; 30.06.2006

v0.2; caminoix; 10.07.2006

v0.3; caminoix; 03.09.2006

download source | binary

the plasma algorithm is pretty simple and well-known. i'd like to credit the person who invented it but unfortunatelly it seems to have become common knowledge to such extent that people can't any longer remember the actual author.

plasma is a recursive algorithm. here's how you do it:

**1.**take the corners of the map, and fill them with random values.

**2.**here the recursive part begins:

**2a.**divide each side of your map in half.

fill the middle points with the average of the two ends: 1=(A+B)/2; 2=(B+C)/2; 3=(D+C)/2; 4=(A+D)/2;

fill the centre point with the average of the four corners: 5=(A+B+C+D)/4, and alter it slightly (midpoint displacement!)

**2b.**repeat 2a. with all the four rectangles you obtained: A154, 1B25, 52C3 and 453D.

and that's it! it's as easy as that! it's also fast, and as you can see, gives pretty neat results.

NOTE: with version 0.2, a new setting has been introduced: max. initial which lets you set the maximal height of the first 4 points (see 1.). unsurprisingly enough, it can change quite a bit so you're most welcome to experiment with it.