Early World Gen Tweets
Early experiments learning Voronoi and Delaunay algorithms with the excellent resources provided on https://www.redblobgames.com/.
I'm not sure I've got Voronoi and Delaunay straight in my head, but I'm able to follow @redblobgames' reasoning far enough to change my algo to produce "Delaunay Centroids" instead of "Voronoi Polygons" pic.twitter.com/ycbxk8X8Rn
— Jez 🌻 (@NinjaJez) December 15, 2017
Ooooh, first pass at super simple ocean/coast/land separation :D
— Jez 🌻 (@NinjaJez) December 22, 2017
Mostly copied from @redblobgames, but with terrible performance... :/ pic.twitter.com/IuDloKUhGn
Managed to take world generation time from 120 seconds down to 1.2 for an 8000 point graph, and all I lost was some border geometry. So much work was being done to close those triangles! pic.twitter.com/u7LlYOc7iw
— Jez 🌻 (@NinjaJez) December 24, 2017
A little bed time Perlin noise to mix things up :D
— Jez 🌻 (@NinjaJez) December 25, 2017
I kinda have a horrible feeling that my coast finding algo is incorrect, but until I start rendering polygon edges it's a bit tricky to tell... pic.twitter.com/o49VEDXnMm
Here we go! Found a quiet hour to add a little visual flare and clean up my algo.
— Jez 🌻 (@NinjaJez) December 25, 2017
Realised I was getting double thickness coasts because water and land both counted, so now we have shallows and beach.
Stretched polys around the edge are a problem... pic.twitter.com/brtt9qrL82
I've elevated my game!
— Jez 🌻 (@NinjaJez) December 28, 2017
Geddit?
Cos I've, like, added elevation values to my world gen, but also gotten better at things?
It's a pun, ok? Sheesh, tough crowd.
Who's up for some rivers? Or perhaps erosion patterns? Why not both?!
/sleep pic.twitter.com/Zpb4A00YRf
Implemented biomes! I came close to being able to distribute moisture with wind, but in the end got too annoyed by the performance impact and the trigonometry D:
— Jez 🌻 (@NinjaJez) January 2, 2018
Maybe I'll revisit that later! pic.twitter.com/UWQX9aMUU6
Ugh, colours are the worst.
— Jez 🌻 (@NinjaJez) January 4, 2018
Had an hour or so to kill, so played around with biome generation and colours and removed the distorted border cells.
I'm gonna want to get cell borders rendering next, then I can show rivers :D pic.twitter.com/9f4u4sDopT
"let's render to a texture" they said.
— Jez 🌻 (@NinjaJez) January 6, 2018
"it may be more efficient than every cell being a sprite" they said.
(By they I mean me)#accidental #pixelart pic.twitter.com/KcEuqL1SZN
Realising that I was approaching the point where I'd have to start building some form of engine, I pre-empted getting overwhelmed and started porting over to @unity3d - not sure yet if this new Voronoi lib will do everything I need but fingers crossed! pic.twitter.com/4iELgHA5s8
— Jez 🌻 (@NinjaJez) January 22, 2018
Attempting to apply the same relaxation algo that I'd done before, but it's... not quite right atm... pic.twitter.com/QG3vk6Atwb
— Jez 🌻 (@NinjaJez) January 22, 2018
So, struggling with mapping my vertex data to the mesh points, and also concerned that the libs I'm using for the voronoi diagram or the triangulation algo are brutalising my seeded points.
— Jez 🌻 (@NinjaJez) January 29, 2018
More debugging needed! pic.twitter.com/PSWY9gPdqs
Completely reworked my triangulation algo a few weeks back, and finally found time over the weekend to fix up a meshing bug :D pic.twitter.com/E3hUy9PTY7
— Jez 🌻 (@NinjaJez) February 19, 2018
Well, good news is the vertex shader works. Bad news is I've clearly not got my land and water being correctly assigned XD pic.twitter.com/xr40U8d2yh
— Jez 🌻 (@NinjaJez) February 19, 2018
Bother. The white lines here show the delunay graph - that is, the connections between Voronoi centers. For some reason half the graph is missing, which is... well, annoying and kinda a major problem haha! pic.twitter.com/fyyyz8dYsp
— Jez 🌻 (@NinjaJez) February 19, 2018
Success! Turned out the library I was using had what appears to be a bug, providing only half the edges when asked. Found another way though! :D pic.twitter.com/V8yujZBH7K
— Jez 🌻 (@NinjaJez) February 21, 2018
Implemented Lloyds Relaxation, combined it with a probability distribution to bias points towards the centre, and made sure to keep the corner points positioned whilst relaxing. Might tweak the corner handling, but this is looking promising! pic.twitter.com/aFzSre0DHI
— Jez 🌻 (@NinjaJez) February 21, 2018
And we're back in glorious colour! Next on my agenda is elevation; there's a chance that I might be able to just set elevation on the mesh vertices and have a 3D island, which would be exciting :D pic.twitter.com/ABsauami2h
— Jez 🌻 (@NinjaJez) February 21, 2018