This ambitious Unity-based virtual reality space adventure game was developed as part of a team during the final months of my game development degree, meant as a summation of all the skills we have gathered. Contingency Plan is a collaborative survival game in space aboard a vessel that requires constant maintenance and attention to defeat enemies and accomplish tasks. Unlike other games similar to this, we wanted to emphasize collaboration and communication among crewmates, making it important to have good teamwork and coordination to excel. There will be various roles to fill around the ship that will come with unique challenges and some require collaboration to solve.
This project is currently published to Steam. You can find the store page here.
This project features both "2d" nav-mesh-based enemies as well as 3d flying enemies, advanced VR interactions and controls, environments the players can dock to and explore, upgradable systems, resource management, and complex systems for the players to master.
Players must fight their way through various missions, upgrading and repairing their ship while exploring abandoned or hostile space stations for loot or to complete objectives.
During this project, I performed the following development tasks:
Utilized Unity Netcode for GameObjects (NGO), Relay, Lobby, and XRI Toolkit
Assisted in the development of the multiplayer lobby system using Unity Lobby to connect players to each other
Implemented and modified existing systems and assets to fit the needs of the team
Minor use of Unity Shader Graph to add required functions to existing shaders
Created "simulation-space" ship which exists in an area separate from players and provides core gameplay elements
Developed all systems related to simulation ship such as flight controls and warp jumping to provide core gameplay functionality using Unity XRI Toolkit, NGO RPCs, and NGO NetworkVariables
Created "walkable/playable" player ship set environment to provide a core user experience with NGO integration
Developed framework and core system for ship set repair points using NGO RPC calls via an interface, to allow developers to easily create and implement new repair points, as well as created and networked the wire repair point using Unity XRI Toolkit
Created internal “ship set” and external “simulation ship” particle systems and logic to improve immersion
Developed ship set feedback systems such as lighting and sound events using NGO RPCs to provide gameplay cues
Developed a framework for physically controlled ship turrets in VR using NGO and XRI toolkits and an interface, allowing designers to easily create various turrets with any functionality and have them be controlled by players
Developed environment docking system to manage custom environments created by designers with players, enemies, and other objects inside of them and provide seamless transitions for players when they enter or exit the environment, as well as the system to visually align the simulation ship to the space station using both local and networked logic for a more immersive experience
Developed the upgrade/shop system and environment using Scriptable Objects and polymorphism to allow developers to easily create purchasable objects and for players to purchase them, providing a core gameplay element
Developed an editor tool using Unity editor scripting to allow for props to be placed on the ground using physics in-editor for better, more immersive setbuilding without objects floating or clipping into geometry