Perma

PermaHero.jpg

Making a Multiplayer Voxel Island Game

Nov 2015

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.

PermaStacked.jpg

Builder Gameplay

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.

Multiplayer.jpg

Networked Players

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.

Website.jpg

Social Sharing

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.

The Process

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 a algorithm based on cellular automata. Pathfinding was implemented using A-Star.

Links

Open-Source Code

Keywords: Virtual Reality, Games, Voxels, Multiplayer, Design, Mixed Reality

Matt Sonic