The colony as it looks at the moment was already cool enough to make a few jaws drop, but we're not happy. The game's world is supposed to be a rich diverse place, yet with a kind of homogeneous look but featuring a lot of distinct landmarks; as if that wasn't enough, each new play-through is supposed to throw the dices anew and generate a whole different look for the world. The colony will look a little different to each player.
In the first two weeks I worked on a base implementation for easily generating 2-manifold meshes based on Fabian Giesen's excellent implementation guide on the subject, adding support for splitting vertices and faces, subdivision and texture mapping. In the rest of the time I worked on a generator for hexagonal greeble patterns to skin meshes with interesting surfaces. It's very early stuff, and more is about to come in the following months.
I believe a few screenshots in chronological order will explain our progress best.
It all starts with a quad
Splitting faces is one of the two elemental operators to increase mesh complexity.
Testing extrusion, which is built from the split vertex/face operators.
Added code for various base primitives, here's a cone.
How awesome is that? Not much. Moving on.
It took a long time to get this right: meshes with holes.
A repeated sequence of face extrude & transform can yield pretty organic structures.
Catmull-Clark subdivision surfaces with support for creasing / semi-hard edges.
I think we're done here.
Just one of many failed attempts to somehow get a grip on a workable pattern technique.
This was one of the earliest hexagonal patterns we did, manually, a year ago.
Why not do this procedurally?
Eroded RLE noise with an axonometric projection,
with islands identified and colored by flood-fill algorithm. Piece of cake.
A bright spot kept whooshing by the window several times while I worked on this.
I'm not fully sure but I believe it was the sun.
Another generated pattern, this time with a more appropriate color scheme.
This is what a generated texture tile looks like.
Testing one of the generated textures on a fitting object using Blender/Cycles.
The procedural technique used here is based on repeatedly simulating
a round of Nibbles/Snake, by the way.
Time to put it in the game. A first generated mesh looks pretty good! And yet still so much to do...
Hope that was as interesting for you as it was for me. Expect a new alpha build appearing in your account soon! Watch the skies!