What makes a good weapon in VR?

What makes a good weapon in VR?

Role: Sole Designer

Tools Used: Unreal Engine, Fusion360, Blender

Background

VR weapons have unique challenges. Normally games have a HUD (Heads Up Display) that gives the player info about their weapon like how much ammo it has. HUDs are usually omitted in VR because they can make people feel physically uncomfortable by having something locked in their view.

Additionally, players want to manipulate the weapon in greater detail than they can in non-VR games. For example, when reloading in traditional games, the player presses a button and effectively waits out a timer before they can shoot again. In VR, players can manually reload by grabbing a magazine and slotting it into the weapon. However, to perform such actions, necessary information is required about the weapon’s state (ammo count, chamber status, etc.) and this info is not communicated in a way that’s easy to understand, or at all, with many conventional weapons.

Using Color to Convey Points of Interaction

Color can be used to indicate interactable points on objects and even how those components can be used.

I’ve given grabbable components, like the primary grip, foregrip, and magazine, a plum color indicating they can be used to hold their respective objects.

In conventional video game design language, the color red is often used to convey an interactable item to players; in this case the charging handle is colored red to indicate it can be used to cycle the weapon.

Weapon State Feedback

When firing, the charging handle reciprocates with each shot giving feedback to the player that they are indeed firing until the handle locks back after firing the last shot.

An ammo counter, located near the rear sight, details how much ammo the weapon has left. When the weapon is empty it will turn red prompting the player to reload.

After inserting a new magazine, the player can press a button to drop the bolt which will chamber a new round as indicated by the ammo counter with a green bar.

In this example, both the magazine and bolt can be released by pressing unique buttons for each action. However, if the game designer wanted to map those buttons to other functions (e.g. jumping), the player could instead manually reload by grabbing the magazine to remove it and by pulling the charging handle back then releasing to chamber a new round.

Reloading - User Flow Mapping

In non-VR games players pick up items by pressing a button, then an animation might play showing they have picked the item up. In VR, it is not inherently obvious how the player can and cannot interact with objects

Flow mapping helps to understand what states the weapon moves between based on possible interactions. We can also manually eliminate the possibility to perform some interactions at certain states so that the user doesn’t end up in a confusing one. For example, if the player can eject a pistol's magazine while the slide is closed on an empty chamber (no bullet), then when they insert a new magazine they may intuit that they can fire because they gave the gun more bullets; but in reality they would have to pull the slide back and release to chamber a new round. With careful design this entire situation can be side-stepped to avoid confusion.

Flow map of user reloading a pistol

Virtual Stock Accessed Onboard Weapon

Two-handed weapons in VR can be jittery, making them difficult to aim. This is due to the difference between the user’s unrestricted hands in real space and the object’s grip points being rigidly related to each other in VR. Developers can smooth out the weapon’s motion by simulating a stock which fakes a third point in space near the user’s shoulder and interpolates the position of the weapon based on all three points.

This Virtual Stock functionality is usually accessed via the game’s main menu where it can be calibrated or toggled on/off. 

Having the ability to toggle the Virtual Stock on and off by sliding a collapsible stock in or out is a much more immersive experience than navigating through a menu. This functionality can also be accessed immediately during play without having to pause or back out to the game’s main menu.