Cube World, a procedurally generated voxel world ripe for exploration
The inspirations here are obvious, and Wolfram Von Funck, Cube World’s creator, is only too happy to acknowledge them. Setting out to make a game in his favourite genre, the 3D action-RPG, on his own, he realised the gargantuan task that faced him. Markus Persson’s work showed him the way. “I knew it would be hard for one person,” he tells us. “Designing models, dungeons, landscapes, buildings, animations, textures… but after playing Minecraft, I was so impressed with what you can achieve with a procedurally generated, block-based environment that I decided to try something similar: a procedurally generated world made of cubes.”
The results, untextured and voxel-based, are as beautiful as they are evocative of Mojang’s seminal game. Yet while Minecraft put crafting materials in the hands of its players and let them bend the world to their will, Cube World’s landscape is fixed but randomly generated – and infinite. There will always be cities, dungeons and castles, but their placement and the lay of the land itself will forever be unique, generated from a string of numbers input by the player at the start of a new game.
As such, there’s a true sense of adventure in taking your first steps in the world, once you’ve settled on a class and race for your character. The world map is a vast expanse of unmapped blue save for a tiny square in the centre that denotes your current surroundings. It fills in as you go along, marking out towns and lands in a blocky font whose colour-coded lettering denotes whether an area’s enemies are above, below or similar to your current level. Dotted lines, meanwhile, denote gateways to new areas – we found barren deserts, snowy tundras and dense jungles, though more lie in wait.
Yet while the world itself is designed to evoke 16bit games such as Secret Of Mana, mechanically Cube World owes a debt to PC MMOGs and action-RPGs. Your avatar’s standard attack is bound to the left mouse button, with a class-specific special on the right and a dodge in between. Defeated enemies drop XP and, if you’re lucky, loot; levelling up boosts stats and gives you a couple of skill points; and crafting materials can be turned into weapons and gear in the game’s towns. There are boss fights, too – marked with crossed swords on the map, generated in every one of the game’s playable worlds every 24 hours – though currently there is no questing.
“It’s easy to generate random MMOG-style quests such as ‘defeat 13 goblins’, but it’s obviously very generic and repetitive,” Von Funck explains. “[Alternatively,] you can combine pre-written sentences or story elements with random items, monsters and so on, [but] this can become too transparent to the player after some time too. Fully authored quests don’t have these problems, but they don’t work well with a procedurally generated game which is meant to be playable forever. You will simply run out of quests.”
In the meantime, then, the focus is on exploration and levelling, though the latter is rather arduous, especially at the start when you’re a match for few foes and aggroed enemies chase you down indefinitely. Level up a few times, though, and recruit a pet to help in battle, and there’s a pleasant flow to combat, especially in multiplayer when different classes can play to their strengths. Exploration is a delight, however, especially later on when some judiciously spent skill points give access to boats and hang-gliders. Even in your early, underpowered hours with the game, simply wandering these random worlds is a constant thrill – seeing what waits beyond the next blocky hill or body of voxel water – and it’s impossible not to marvel at the fact that this is the work of one person. Well, it was: Von Funck’s wife, Sarah, joined the project last year. Wolfram focuses mostly on programming, his wife on the art.
It’s two years since development began, and much has changed. Combat has been overhauled, with the ability to lock on to enemies removed because of Von Funck’s love of Monster Hunter. A hard-drive failure did for much of his codebase, meaning the entire engine had to be rewritten from scratch – no small task for a lone programmer, but there are no regrets. “I’m actually glad that I coded my own engine,” he tells us. “I love to have full control over everything.” Everything, that is, except the lie of this beautiful, blocky, randomly crafted land.