Antistasis

C++
Multiplayer VR Shooter, Unreal Engine 5

About

Antistasis is a multiplayer virtual reality shooter game being developed by me and a friend at RIT. The game uses zero-gravity physics, using the Floating Pawn Movement system in Unreal Engine 5.

As the main C++ programmer for the project, I develop the base classes that are critical for gameplay, including replicating properties and RPCs for multiplayer compatibility.

Recent Development

Steam Dedicated Servers

The project was recently configured for the use of dedicated game servers managed by Steam's master server network. A testing app ID is used, as the Steamworks app page for this game will not be set up until the project is closer to completion.
Building the game for dedicated servers required switching to a source build of Unreal Engine 5.3.2, which was a significant change.

We are now working on managing players within a "match," which involves a number of gameplay implementation like setting up the game mode, handling player spawn behavior, a server-side points system, and more.

Core Mechanics

Grab-Pull

Pull an object toward your hand from afar; holding the grab button until it reaches the hand snaps the object in that hand.

Grabbing a Weapon

Pull an object toward your hand from afar; holding the grab button until it reaches the hand snaps the object in that hand.

Grabbing from a Distance

Pull an object toward your hand from afar; holding the grab button until it reaches the hand snaps the object in that hand.

Grapple Behavior 1: Pull

Pull an object toward your hand from afar; holding the grab button until it reaches the hand snaps the object in that hand.

Grapple Behavior 2: Anchor

Pull an object toward your hand from afar; holding the grab button until it reaches the hand snaps the object in that hand.

Wall-Grab

Pull an object toward your hand from afar; holding the grab button until it reaches the hand snaps the object in that hand.

Code

Classes

The most interesting classes are VRPawn, Weapon and MultiplayerSubsystem. VRPawn is the player class which handles player inputs and actions (including a lot of replicated logic), Weapon handles the gameplay features covered in Core Mechanics, and MultiplayerSubsystem contains some boilerplate (and not-so-boilerplate) code for setting up multiplayer sessions and client-server communication.

Copyright © Kevin Mapstone 2025