Content in ZPOC is based off of a voxel – a cube of single color much like a pixel. 32 of these in each direction make up a Vlock. Thousands of these Vlocks will eventually make up every game object – from the character you move to the brick wall against which you smashed the skull of yet another zombie. Bridging that gap, however, has proven to be quite tricky.
Building a single Vlock is easy – we’re using a program called Qubicle. It’s nice when designing a single piece of a wall or a roof tile… but not so nice if trying to build, say, an entire wall with windows, curtains and the occasional door. So a new tool was created for the designers (see picture), allowing them to click-place Vlocks onto a three-dimensional map-type layout. It worked, though it didn’t really save any output. Why, you ask? Because we never really discussed how to get from Vlock to map…
…so we had another discussion. I think it caused the coordinate system to change (again), but it also gave us a moment of clarity: if we create a type that contains Vlocks, a coordinate system and the ability to inheret from itself, the map simply becomes the top-level game object that stores a list of game objects, positioned on a defined coordinate system. Each game object then contains a list of smaller game objects, positioned on its own coordinate system, and the process eventually boils down to the root of placing Vlocks into an initial game object. Simple, and awesome.
While talking about this, we had another “A HA” moment. Since the Vlock tool had to be refactored anyway, we decided to add the ability to rotate individual Vlocks – saving the artists time by not having to create up to four times the amount of content. This v2.0 editor is being re-written from scratch, as the old v1.0 editor quickly outgrew its original design capabilities. When the new version gets up and running, I’ll give you a sneak peek. And possibly, if the interest is there, it’ll be released with the game to allow you to create your own content!