Supernova - VR Gesture Shooter

Role: General Programmer
Engine: Unreal Engine
Languages: C++, Blueprints, Batch
Tech: UI systems, Interfaces, Events, Jenkins

Supernova is a virtual reality gesture-based combat arena fighter set in
a distant galaxy, where your physical movements and gestures control
punches, swipes and weapon attacks.

Summary

I joined this project halfway through development when I started my internship. I started with small gameplay features like developing objectives and adding VFX using dynamic shaders and particle systems.

Later on in the project I worked on the onboarding for the gesture based shooting mechanics, and worked on the jenkins build server to automatically push builds to the Meta Quest Developer Center.

Results & Impact

  • Enabled CI/CD automated build deployment for easier playtest iteration and build showcase
  • Built responsive onboarding elements to teach player actions and combo's

  • Implemented gameplay objectives creating more variety in gameplay elements.

      Technical Highlights

      Jenkins Build Server (Build deployment)

      Worked in the existing build server and added new functionality to upload succesful builds to Meta Quest Developer Center and deploying them to all VR devices. This ensured there is always a working version of the latest build for playtesting.

      Key contributions:

      • Extended existing Jenkins pipeline to automatically upload successful builds to the Meta Quest Developer Center and deploy them to all connected VR device

          Gesture Onboarding UI System

          Implemented an onboarding sequence to teach the player how to do combo's. deriving from an already made base class and using events that listen to the players attacks.

          Key contributions:

          • Built a modular onboarding widget framework using Blueprint event dispatchers, including visual feedback on player actions.
          • Implemented listener functions that respond to attack input patterns with the optional feature of listening for combo attacks.

          Combo onboarding widget running with player input implemented via event listeners. Every correct input disables one of the icons and adds extra time to the timer.

          Responsive Objectives

          To add more variety to the gameplay I implemented 3 different objectives for the player to accomplish while they are fighting enemies.

          Key contributions:

          • Implemented objectives using interfaces and event systems to make them responsive to player actions

          • Added VFX using Niagara particle systems and shaders tied to game logic for clearer player feedback (example: hacking a screen makes it turn to the player, turns slowly green, and produces particles)

          Capture the zone objective: stand in the zone to slowly capture it.

          Hacking objective: grab and hold the computer to slowly hack it.

          Generator objective: turn the heavy handle all the way down to deactivate the generator. player ability instantly pushes down the handle..