When you think of voxel games, you probably think of the waves of crafting-oriented titles that arrived in the wake of Minecraft’s success. Stark and blocky in appearance, these games aren’t necessarily intended to bowl over players with their amazing graphics, but serve instead as colorful sandboxes to dismantle and reconstruct at their whim. In recent times, however, we’ve seen a number of interesting projects that have been exploiting the potential of voxels to create lush, richly-detailed worlds to dazzle and amaze.
These includes the expansive peaks, valleys, and oceans of TeamFugl’s Fugl, the exotic locales of Shin’en Multimedia’s adventure-puzzle game The Touryst, and the mist-sprayed ruins of Sebirit’s atmospheric Skies of the Past.
To achieve such distinctive looks, these developers have utilized a number of techniques and had to overcome a number of issues associated with working with voxels, such as how to model more impressive environments and the difficulty of rendering textures.
Why choose voxels?
But first they had to decide why they wanted to go with a voxel-like aesthetic. For Team Fugl, it was all about creating a sense of scale in their environments.
“Originally, I wanted to make this kind of base-jumping game, where you jump off tall mountains,” said Johan Gjestland, the lead developer on Fugl. “The reason for the voxels in the first case was because I discovered that to have a proper sense of speed, you need a proper sense of scale. And also, I wanted the kind of fully three-dimensional terrain that only voxels can offer, where you can have caves and overhangs and more interesting looking terrain than the heightmap.”
The idea of creating large, open environments to explore was also what influenced Sebastian Scholz, the developer of Skies of the Past, a minimalistic adventure game featuring a small wanderer travelling through ancient cliffside ruins. Some of the key inspirations for the project were the works of Studio Ghibli, Team ICO, and the paintings of artist Caspar David Friedrich.
Scholz explained, “I wanted 3D--so 2D pixel art or many drawn/graphic/patterned styles were not going to fit or would be hard to create myself. Voxels seemed simpler to create, and it seemed that it also had room for distinct styles to explore! Also, voxels can add to a diorama effect, and I like that [it makes] my character feel small.”
For Shin’en, the developers of The Touryst, the decision was much less about scale and more about committing to a retro-aesthetic. They wanted to speculate on what retro games might look like in the modern day if they never made the jump “from pixels to triangles”.
“We wanted to create an adventure game,” said Shin’en Multimedia’s Manfred Linzner. “We developed a few prototypes to find something special and one of them was located on a lush island. We made jokes how nice it would be to go on vacation on that island instead of sitting in the office. In that moment we realized that we wanted to make a game exactly about that - going on vacation!”
Getting the right look
Scholz created most of his assets inside MagicaVoxel. But to achieve his unique aesthetic, he set a number of rules for coloring, texturing, and shading when working on Skies of the Past. For instance, he uses rectangles in specific orders and sizes to pattern different grass hues, and colors the darker parts of ruins one shade darker to create the impression of shadows. This is in addition to avoiding diagonal lines when building out the environments and using the Unity post-processing stack extensively to add a “more film-like aesthetic.”
“The visuals of clouds [and] fog are also important for the feeling of distance, and the mood,” said Scholz. According to him, the fog is just a Unity particle system with animated billboards comprising 2D sprites that always face the player.
Skies of the Past
“They combine well with far away horizons, mountain, tower, and forest outlines," he said. "Then another style choice is that I combine my voxel models in a free 3D space. So I can mix and match islands or trees on slightly different axes. I thought, because it is quite a scattered world, that would be okay, and maybe another take on building voxel worlds.”
Shin’en Multimedia, on the other hand, took their assets and environments for The Touryst created in MagicaVoxel and then used Maya to refine them, before converting them to a file format that was compatible with their custom engine. In their own words, this was to find a look “that bridged the world of polygons and voxels” for their island environments.
“When using MagicaVoxel you get the basic voxel output,” Linzner explained. “This didn’t look interesting enough to us for many objects. So we used these voxel models just as a starting point, converted them to polygons, and cut, bended or twisted them to get more natural shapes. This had to be done quite carefully, otherwise the models [started to look] like generic 3D models. There were no real rules when doing this, it was more like finding a proper visual language for the game.”
The environments in The Touryst are crammed full of detail, from the water bubbles that appear from the player when submerging under water to footprints left in the sand and wildlife that scatters when approached by the player.
TeamFugl also opted for MagicaVoxel to model and animate many of the in-game objects for Fugl, such as the animals that you can encounter within the world. However, for the player character, they took a slightly different approach. As players fly around the world in the game, their character will shapeshift between a number of different creatures.
“It’s like a procedural mesh that I coded from scratch based on like paper notes, triangles that I made,” Gjestland said. “At the end, it was so much stuff that I ended up making this tool in the engine to manipulate all these variables and to start making different avatars. It’s essentially a low-poly mesh of maybe 200 polygons that I handmade and they’ve been voxelized on a grid. I just went to the simplest solution basically and I thought it kind of looked cool.”
Overcoming rendering issues
Some common issues that appear when creating voxel-based games are performance and rendering issues. But these developers were able to overcome some of these technical concerns through designing their environments with culling in mind and rendering no textures.
Gjestland said, “[Voxels are] very demanding to render. There’s lots of people who play games on very bad computers or very old computers and they expect things to run. Because they’ve played a 2D platformer, they expect 3D games to run just as well…What I found out was that if you don’t render any textures it’s much quicker to render and you can also store less data…which on [mobile] devices there’s always the problem with bandwidth, meaning transferring data from the CPU to the GPU for rendering.”
In Fugl, terrain is rendered using rasterization and the water reflections are achieved with raymarching. The world is also rendered in 32^3 voxel chunks, which helps to keep the performance steady even on less powerful devices.
As for Scholz, he opted to go for an approach of building his environments out of repeatable chunks. “In many cases I have the advantage of lower poly count,” Scholz said. “For really large structures it is better for me to build them out of smaller object parts. For example, a mountain island with a forest consists of individual ledges and foliage. So I don't have really massive voxel objects, and I can use culling better.”
Prior to starting development on The Touryst, the team at Shin’en Multimedia set themselves the ambitious task of never showing a loading screen or making the player wait. According to Linzner, this was possible due to the game’s use of procedural generation.
“The whole game was designed around that,” said Linzner. “It's important to make this type of decision early on as this usually can't be optimized when all artwork is done. I think we achieved our goal in the end. Loading takes around one second if you leave an island and go to another one. It also helps that many important aspects of our game-engine are multi-threaded to use the full potential of all CPU cores.”
The three developers also offered some advice they would give to developers hoping to create games in a similar style.
“For us it was also important not to crank up everything to '11,'” said Linzner. “Having high detail everywhere is like having no detail at all. Often it was the absence of things that let places look special.”
“I'm no expert, and not nearly finished yet,” said Scholz. “But I think the biggest thing I realized is that it's okay to redo parts over and over until you are satisfied with it. I don't know how many times I've iterated on the color scheme and camera for example. I think you can really see a difference to my very barebones earliest Twitter posts. But I think it's really motivational to see that other projects also start very basic!”
One thing Gjestland warned against is feature creep. He said, “I think it’s very important to keep the scope small. For Fugl, it was just to have this one kind of feeling of going through these very tight spaces. So we just focused on one very small aspect or flying general. So not adding a lot of other stuff…Try to keep as simple as possible. And then make it even simpler.”