MENU

menu arrow

HOME

ABOUT

PROJECTS

EXPERIENCE

RESUME

MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER

MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER MULTIPLAYER VR SHOOTER

Introduction

Over the past year and a half I have been learning how to create a Multiplayer VR FPS in unity named Project Impulse, which you can wishlist on steam right now! It allows you to climb, jump, slide and shoot with fully physics based movement and interaction. It's created with a robust game manager allowing for a plethora of different game modes and also has support for modded maps! The multiplayer is done in mirror and uses a relay server to connect players through nat punchthrough.

Features

Physics Based Climbing and Combat

The game features fully physics based hands and movement. The hands are controlled using a stable backwards PD controller to control the hands rigidbodies in order to reach the target positions. The climbing physics is done using hooke's law and dampening the force relative to its velocity. Climbing uses the vector between the target position and the rigidbody to apply a force to the player in order to return the tracked hands to the in-game hands creating a fun and dynamic climbing system.

Mod Support

Using unity's addressables and mod.io I created comprehensive mod support for Project Impulse. You can go to my github and download the custom editor, create a map and then publish it to mod.io for others to enjoy. It also has a comprehensive validation system that informs the modder of certain requirements. For example if you’re creating a capture the flag map the arena must have two flag spawn points in order for it to be a valid capture the flag map.

Physical Buttons for UI

Using laser points for menus in vr is kind of weird so I created physical buttons that can interact with unity's UI system. When the button rigidbody is pushed below a threshold it will invoke a UnityEvent specified in the editor in order to inject a keyboard input. When the left button is pushed it simply injects a left input as if you were pushing it on a joystick or keyboard.

Accurate Throwing

Since the hands are moved using a PD controller the physics of throwing an object are almost identical to real life. The velocity of the object is not calculated at the end of the motion, instead it is a combination of the full throwing motion.

Force Pulling Objects

This feature was based off of Half-Life: Alyx's force pull. It uses kinematic equations to set the object's initial velocity of the object. If the player moves their body or hand the object will completely miss. So as the object is in flight a PID controller is used to guide the object to the player's hand even if the player moves their hands, slides to a new position or jumps out of the way.

I'd love to chat!

contact me at daniel.ziorli@gmail.com

button
button
button

Resume

arrow