oVRseer

About

oVRseer is an asymmetrical multiplayer prop hunt game. One player plays as the Overseer in Virtual Reality (VR) with the goal of finding and eliminating as many of the other players as possible by throwing them into the deadly lava pit. The other players play as Tiny golems on either desktop or phone. Their goal is to hide from the Overseer while collecting keys that are hidden across the map. When enough keys are collected doors are opened that the Tiny golems can escape through. The Tiny golems can morph into several different props that are scattered across the map in order to try and blend into the environment and hide from the Overseer. The game ends when for each of the Tiny golems, they have either managed to escape or been eliminated by the Overseer. The game was developed as a part of the course DH2413 Advanced Graphics and Interaction at KTH in the autumn of 2021.

Demo Video
Technology
Unity

The game was developed in Unity, which is a cross-platform game engine. Furthermore, we used Unity’s XR plugin framework to develop the interaction in Virtual Reality. We chose to work with Unity to develop the game because all group members had previous knowledge working with the engine.

Blender

Blender is an open source software that can be used to create 3D graphics and animations. Blender was used to create the 3D models for the game. It was also used for rigging and animating the characters, as well as creating textures for some of the models. We chose to use Blender because it is a powerful open source software that is great for creating 3D models and animations. Furthermore, some group members had previous experience in working with Blender.

Mirror

Mirror is a high level network API for Unity. We chose to use Mirror for networking in our game because it has a rich documentation which made it fairly easy to get into. Furthermore, with Mirror the server and clients are in one project - sharing the same codebase, which makes it more manageable.

Adobe Substance

We used Substance Painter and Substance Designer to create textures for the characters and environment models. We used it because it is a powerful tool for creating textures for 3D models which gave us the flexibility to create textures suitable for the style we envisioned for the game.

Vivox

Vivox is a service that provides and manages communication of integrated in-game voice chat. We used Vivox to create an in-game proximity voice chat since we thought it would be fun for the player to interact in game, if they for example are playing from different physical locations. We chose to use Vivox since it can be integrated into Unity.

GitHub

GitHub is a service which provides hosting for software development as well as version control. We chose to use GitHub for our projects as it makes it much easier for different people to work simultaneously with different parts of the project. We could also use GitHub to plan and divide work between group members using issues and a GitHub project board.

Motivation

Our main motivation for creating this project was that we wanted to create a more interactive prop hunt game that could be played in Virtual Reality. We also wanted to learn more about VR interaction and how to make games in VR as none of us had any experience with this from before. Furthermore, we wanted to practice and improve our skills in computer graphics programming such as programming shaders and working with particle systems.

Goals
Learning the basics of building a game in VR

Since none of us had worked with VR before, one goal was to learn more about this interaction method through creating a VR game.

Creating a good asymmetrical experience

Making an asymmetrical multiplayer game that is balanced in a way that it can be enjoyed by both the player in VR and the players playing on desktop and mobile.

Learn more advanced methods of graphics programming

Through creating the project, we wanted to learn more about graphics programming like for example writing shaders in HLSL and Shaderlab.

The Making of oVRseer
Challenges and Learnings

The biggest challenge during the whole process was to make sure that everything worked correctly over the network. One especially big problem we had was making the network work together with Unitys XR framework, which included problems with handing over authority between players when the VR player was grabbing and releasing other players. However, by facing this challenge we learned a lot about network programming and using Mirror together with the Unity XR framework.

Another challenge some of us faced was learning to program shaders since we felt it was a quite steep learning curve to get into shader programming. In the end we managed to create some shaders for example the lava, the eye of the Overseer and the door light effect. With this newly learned knowledge we want to learn even more about writing shaders in the future.

Furthermore, we have learned about VR development in Unity and how to make a VR player interact with different objects in the virtual game environment as well as move around in that environment. We have also learned how to work with Unity’s input system to make the game playable on desktop with keyboard and mouse or by using an Xbox controller as well as making it possible to play it on android mobile phones.

CatEscape

CatEscape is an asymmetrical multiplayer game that connects VR, AR, tablet and the physical world. The game mechanics are different for each player using the different interaction techniques.

The main inspiration that we got from this project was the idea of creating an asymmetrical game involving VR. In our project we did however restrict ourselves to only working with VR, desktop and mobile because of the limited scope of the project as well as our limited previous experience of working with VR.

Panoptic

We got inspiration from the game Panoptic which also is an asymmetrical multiplayer VR game. In the game there is one VR player and one PC player. The PC player should destroy energy sources and at the same time try to blend into the environment and avoid getting shot by the VR player's laser eye.

We thought it would be fun to build on the same basic concept but adding the possibility for more than 2 people to play the game at the same time. We also thought that the concept would be fun as a prop hunt like game so we built on that idea, making it possible for the Tiny golem players to transform into prop as a part of trying to blend into the environment.

Team

Max Truedsson

I have had three main areas I worked on: Vr, Graphics and Player movement. I implemented almost all of the VR and all of the player movement logic. Beyond these I also worked on the implementations of the networking for Vr and player movement and other networking related to gameplay. I was also one of the main modelers of the project especially for map structures, I made most textures in the project in Substance painter. I also worked on particle and light systems to create the dark ambiance in the project(light sources, fire particle effect and ambient light mixing)

Robin Bertin

I have mostly worked on the networking: connection, lobby and loading things. I then implemented the morphing system and the ending screen/spectator system. I chose music, sound and recorded the step sound. I implemented the different states of the step sound for the tiny golems. I did a lot of UI: cooldown morphing indicator, progression bar for keys, button for phone UI. I, finally, implemented with Vivox the ingame voice system.

Erik Westergren

I have worked on the tiny golems, I created both the model and the animations. In addition, I also implemented the NPCs walking around. I have also modeled some of our props. Furthermore, I have also created the lava as well as the particle effects that trigger when things fall in it. I have also been a part of creating the final map.

Malin Liedholm

I have worked with implementing the key collection and escaping system for the Tiny golem players. I have also worked with creating the 3D models for some of the props. Furthermore, I have created the door light effect that shows up when the doors are opened, and the portal that the Tiny golem players can escape through. I have also worked on prototyping and creating the game map for the different stages of the project as well as parts of the final game map.

Andreas Wingqvist

I have mainly worked on the network aspect and with some lighting implementation for this project. Other than creating a basic version for the networking and the spotlight for the VR player I have been active with testing the VR so the experience is good. I have been looking into the particle system with creating volumetric light and creating outlines for the VR/golems on which objects it could interact with, but these weren’t completed in time. I’ve also been part of documenting photos and videos during the project and created the “making of oVRseer”.

The gallery contains images of people interacting with our project when we publicly presented the finished project for the first time

×