A game of exploration and discovery, with no greater aim than to simply understand the workings of an unfamiliar world and help it grow.

Dark Surrounds

Dark Surrounds

This was created for the Global Game Jam 2012 in less than 48 hours.

The aim is simply to explore; there is currently no definite end.

Since the Jam, the game has been completely rewritten and now bears only a few resemblances to those simple beginnings. At its core, the gameplay hasn't changed all that much, but many hours have gone into the game engine (being built within Unity). With significant progress made bringing the visuals to where they are now, the focus is now on gameplay.


Controls are left and right to move and space for jump.


PC (zip, 12.5 MB)

Updated over 8 years ago

OSX (zip, 17.4 MB)

Updated over 8 years ago

Android (apk, 12.9 MB)

Updated over 8 years ago

Linux (zip, 15.2 MB)

Updated over 8 years ago

New post

The trees

Posted over 4 years ago by Ed Bassett
Trees have been an important part of both the visuals and the gameplay of Dark Surrounds since its inception at the 2012 Global Game Jam. While the green trees looked reasonable enough – albeit in a cartoony sort of way – those without leaves looked like a poorly designed umbrella after a strong gust of wind. I'm not sure they were even recognisable as trees; clearly something needed to be done. So I sat down with blender and subdivided and extruded away until I had something more closely resembling a tree but still a very long way from something I'd be happy with.

By hand

Modelling that one tree had taken longer than it reasonably should have done – and no doubt I'd get much faster as I modelled more – but knowing that I didn't want all the trees looking the same, I reasoned my time might be better spent writing code to procedurally generate a limitless selection of trees. That would also have the advantage that I'd be able to very easily make changes to all the trees as the art style for the game developed.

procedural generation

Creating trees with code is hard. Creating meshes procedurally is relatively straightforward, a few vertices here and there, a couple of triangles between them and suddenly there's something floating around in 3D on screen that you haven't had to model by hand. Normals, UVs, tangents and such are a little bit more work, but still nothing too strenuous. Trees though... they branch... and branching complicates everything. And it's not just that they branch, but when they do, they might branch into two, three or really any number of branches, and each of those might come off the main branch at a different angle, be of a different thickness and extend for longer before branching again. Some branch quite evenly, essentially just dividing in two again and again until finally giving up and making a leaf instead. Others have a thick trunk, from which only small branches protrude. The more you look at actual real life trees, the more you realise just how many ways they can vary and the subtle details that compound upon one another to make one species completely different from the next.

Perhaps more important than merely creating trees, is giving them life. Trees move constantly; they sway with the wind sometimes groaning with the strain, their leaves rustle and twist back and forth, and they grow. Given their central role in the game, it seemed not unreasonable to try to recreate at least some of those details.

Really, really hard

The most challenging problem in developing all this has proved to be texturing, and it's one I haven't yet solved. Texturing is a bit like wrapping a Birthday present: you start with a flat piece of paper and fold it around whatever you're wrapping until you have a beautifully wrapped gift... and a horrible mess of tape and odd folds on the bottom. Which is really what you're aiming for when texturing; hide all the weirdness and joins somewhere it won't matter. Texturing things by hand affords the opportunity to tweak things along the way whenever something looks a bit odd. With these trees, however, I'd very much like not to have to intervene. And so texturing has become the next major challenge I'll need to overcome as I develop the trees further.

Have your say

Leave a comment --->

New comment

A solid first attempt at some trees
Modelling by hand
Procedurally generated... getting better