With all the talk whirling around voxel games like Cube World , a self-described Zelda-Minecraft hybrid, and Castle Story , a voxel RTS, we've been asked numerous times to explain what voxels are and what their implication is on future games. To do that, let's start by better understanding the commonplace approach to game graphics: polygons.

Polygon technology

Imagine three points in space. Join them up with lines to form a triangle, then fill that triangle in red. Congratulations, you've just rendered a polygon in the same way a graphics card does!

Essentially, this is how polygon graphics work: joining lots of points in space (vertexes) together, and filling the space between them (polygons) with colors (textures).

If we were to make a cube, we'd need 8 vertexes (the corners), and fill the space between them with six four-sided polygons. We never "see" vertexes – they're just the points in space, we only see the polygons between them.

Here's a video of how texture painting on vertexes/polygons works:

Voxel technology

Voxel technology basically says: we want points in space that we can see. Voxels can be thought of as being visible points in 3d space, and are somewhat analgous to a 2-dimensional pixel.

Additionally, voxels can contain properties in much the way vertexes do and (depending on the engine and environment) can serve to decrease graphics acceleration requirements. These advantages aren't free, though.

A decent visual representation of the differences, albeit a bit unfair to voxels.

Well that seems easy, why don't we use voxels for everything?

The voxel approach introduces a number of problems. Firstly, to fill our screen, our voxels must either be very large or numerous (we need LOTS of voxels to fill the screen).

The former is the easiest solution, and you can see this in action in games like 3D Dot Game Heroes, where the voxels themselves are large cubes with a single colour. The limitation here is the aesthetic must naturally be heavily stylized, since our world is not made out of big cubes!

Because of the style and aesthetic approach 3D Dot Heroes takes, large voxels fit the atmosphere nicely.

The latter - having loads of voxels - allows for superb accuracy and realism, but the sheer number of voxels required to make something NOT look like a big cubey mess introduces even more problems. Sure, computers are good at "the maths," but asking a computer to calculate the position of literally billions of points in space, thirty times per second, is asking quite a lot.

Note: Not all voxels are cubes! That's just the current style.

Voxels also fall short in animation and memory usage in realistic models, making them tough to use without any backing from polygons and vertexes, which are presently preferential for animations. Characters and mobs, for instance, are better candidates for the vertex approach than the voxel approach, while terrain makes a nice match for voxels. These aren't hard rules - they can be mixed and matched quite effectively (discussed below).

While companies like Unlimited Detail claim to have found a solution to the problem of displaying lots of voxels at once, other issues remain: Realistic voxel models typically require hundreds of times the number of voxels than a polygonal model would need in vertexes, putting a huge strain on the memory and CPU to crunch all those numbers, and can only practically be done by limiting the number of different models so that the same ones can be used again and again, which becomes apparent after the first few grains of dirt or instanced vegetation patches.

There is another approach to modeling called "voxel sculpting" or "digital sculpting" (perhaps a future article), which allows the artist more freedom of design when creating a model. Using the right tools, a voxel-sculpted model can later be retopologized. Simply for purposes of demonstrating that voxels are not, in fact, only used in cubey games, here's a Mindflayer:

This voxel-sculpted Mindflayer would hugely impact system resource consumption. It is pretty, though.

Wait - that might be the mindflayer talking.



So what does it mean for games today?

Well, it means that game developers have diverse approaches to art and programming that allow them to tailor games to their features. The best games blend multiple methodologies and technologies (where possible) to yield unique content and innovative mechanical or artistic design. Is one better than the other? Presently, not really - it's not a matter of choosing voxels over vertexes. Both have their advantages and disadvantages, and good developers mix as much as possible.

Voxels are "in" with the indie crowd right now - hence the number of games mentioned above - and although many of these games utilize voxels in cube-like form, it's important to note that they can take on virtually any shape (spheres included). There is a certain style to the cube look, though.

Besides, can you imagine a spherical Minecraft? That'd be as much of a sin as a spherical lego.

-Mike "mikemike37" Pickton with Steve "Lelldorianx" Burke