Making a Multiplayer Voxel Island Game
Perma is a virtual reality game where players create islands and inhabit them with tiny characters. It supports online multiplayer gameplay and was written from scratch using the Unity game engine.
Developing a VR Game Before Hardware Is Available
Initially, I started working on Perma using the Oculus Rift DK2 and Razer Hydra controllers. I wanted to explore voxel drawing and world building in virtual reality. Perma started with a port of an older voxel engine I wrote for iOS. From that start, I then began developing the principle interactions.
At Oculus Connect, I demonstrated the game to Oculus and received an early Oculus Touch developer kit.
Perma’s gameplay involves creating islands from building blocks in a fashion similar to Minecraft. Instead of traversing huge worlds, the players develop a small island. This model better supports the limited playspace for most VR users.
The game supports a large number of simultaneous players using the SmartFox server architecture. Each island is limited to eight players, but the game can support a huge number of islands.
What good is building an island if you can’t share it? Perma supports a built-in camera system for snapping photos of your world. You can then share these to social media from the Perma website.
Perma was developed as a experiment in VR voxel technology. I wanted to explore creative tool-building inside of VR.
Feature development was largely experimental and iterative. I started with a really fast voxel engine using many of the same optimizations used by Minecraft. Then, I started building a menu system for 6-dof input. After that, I started working on network replication.
I’m proud of what this project became. My biggest lesson learned is that you need a defined scope and heavy pre-production to launch a game of any appreciable scale.
The game features volumetric lighting using a flood fill algorithm. Additionally, water simulation uses an algorithm based on cellular automata. Pathfinding was implemented using A-Star.
Keywords: Virtual Reality, Games, Voxels, Multiplayer, Design, Mixed Reality