OhBuoy

Carl Johan Freme freme@kth.se
Facundo Astiz facundoastiz@gmail.com
Filip Husnjak husnjak@kth.se
Thibault Bruyère tbruyere@kth.se

Project description

The game consists in an asymmetric gameplay with one player sailing a boat and trying to get into the finish line while the other player has the ability to set the direction of the wind. The objective of the players is to make the boat reach the finish line in the least time possible.

The first player is equipped with a VR headset, VR controller and a steering wheel. With the headset the player can see himself sitting on the sailing boat, while with the steering wheel the player can control the rudder of the boat and with the controller the player can set the angle of the sails.

The second player is behind a touch screen and has a panoramic view of the game level. With the help of his finger the player can move around the board an arrow that sets the direction of the wind.

First player view Second player view

Demo video

Goals and motivation

On one hand we wanted to experiment with as many different interaction devices as possible while exploring the concept of an asymmetrical multiplayer aspect, with a god player that interacts with players inside the world.

On the other hand we were also interested in making our virtual world somewhat realistic in physics and in appearance.

The overall goal was to experiment with different factors of immersion in a VR environment, which is both controls sensitive and visual. The objective was to find how controls, visual effects and cues, and the environment could deliver the experience of navigating your vessel through the environment, while being affected by the environment and other players.

About the technologies

The majority of development has been done in Unreal Engine, which since version 4.26 provides the built-in Water system plugin. This worked mostly favorably for the water implementations, although it entailed a certain learning curve in itself. Unreal Engine allowed for setting up buoyancy and water physics, as well as tools for designing the water bodies.

Individual contributions

Carl Johan

Environment Design, Level Design, Shaders, Water

Facundo Astiz

Gameplay, Particle effects, UI, Network, Webpage

Filip Husnjak

Physics, Multiplayer, Gameplay, 3D modeling, VR input, Particle effects

Thibault Bruyère

VR, Water physics, Gameplay

Challenges and obstacles

The main challenges and obstacles were:

  • Avoid making the VR player feel disoriented while playing the game
  • Making the game as immersive as possible while showing queues of the wind direction
  • Giving a purpose to each one of the devices we are using and make the controls easy to understand
  • Make the devices work in our environment
  • Designing the game level to be interesting to both players

Lessons learned

The VR development deserves a lot of focus during these kind of projects. While the threshold for getting started with VR development surely has been lowered, for use on a basic level, we have learned that it takes a lot of care to get VR feeling “just right”.

Don’t underestimate the usefulness of proper research on the “source material”, in this case, sailing. While a great deal of effort was put into understanding real-time water simulation, less focus has been put into the art of sailing, due to a group-wide Dunning-Kruger effect, and so missing certain details. Formulating an overview of the main features of proficient sailing early on would have given us an even greater chance at achieving the feeling of sailing.

Making of