One of our programmers shares how he designed the levels in the Food Fight VR game experience.
The game-play in Food Fight is simple. An enemy throws food at the player, while the player throws unhealthy food back at the enemy to damage and make it go away. This is how you win the level you are on. Difficulty affects the foods’ flight speed when thrown by the enemy, and the amount of enemies that the player will potentially see in a level. No matter what, core game-play is a combination of returning fire towards the enemy and dodging obstacles. Each level’s design needs to reflect these core concepts.
When I first moved over to the Food Fight project, the levels for each difficulty had already been laid out. Although they would be tweaked over time, they all featured the enemy (a goblin) standing on a table or on the floor as it threw objects toward the player. Each level in Food Fight is modeled with assets that you would find in a cafe/kitchen, and has a custom layout.
There are two main layout types. The first is the island, in which the player has a 360° open view of the level and the enemy could spawn at any angle. The second is a non-island, in which the player is against the wall and has a 180° view of the level, with the enemy always spawning in front of or in the peripherals of the player. These two types worked just fine for game-play purposes, except when virtual reality was taken into consideration.
Food Fight is being designed as a game for consumer VR, specifically the Oculus Rift and HTC Vive. Rift players will be required to have Oculus Touch to play. With the HTC Vive setup you have two sensors on opposite sides of the room, covering all angles of the user. With Oculus Touch, you can have two sensors with an optional third sensor. The two touch sensors do a decent job of tracking the player in the play-space, but there are dead zones that appear when the player is turned around, since they are blocking the sensor tracking. These dead zones can stop hand and head tracking, potentially causing motion sickness and breaking game-play. Users can purchase a third Touch sensor to be able to track all angles, but we can’t assume that in this game’s design.
How did we combat this? We dropped island levels entirely. Now all levels are 180°. Core game-play still remained, but that left us with another issue – what do with the empty wall behind the player? Since we are moving towards diet-focused game-play, meaning there will be different sets of food per level, we needed a method to display relevant food information. So we made a menu prototype of what food will be displayed on that particular level. Even if a player looks behind them to see the menu and the sensors are blocked, they don’t need to use their hands to determine food information.
Now, even if levels are edited, as long as they stick to the non-island design there is no more worry about the dead zone behind the player, and both Vive and Rift players are covered!