Unity3D Multiplayer First Person Shooter Game
- Author: Paul Armstrong
- Date: August 2016 (but updated and uploaded more recently)
- Progress: 100%
This is a simple (relatively speaking) multiplayer first person shooter game I created with the Unity3D game engine. The game puts players into a small arena and lets them engage in a free for all scenario. There are three different weapons in the game. Players can aim down the sight of weapons, reload, walk around, and sprint. Players have limited health, but gain all of their health back when they respawn.
I use the UnityEngine.Networking library to facilitate network communication. I created the models for the weapons and the vehicle cover element.
To play this game simply download and unzip the latest release and execute Shooter_Build.exe. To host a session, click LAN Host or hit the H key. In order to do multiplayer across the internet you will need to do port forwarding. However, you can also create a multiplayer session by running two or more instances of the game on one machine.
If you want to take a look at the code, look in the repository’s source_code folder.
- W, A, S, D to move
- Left Shift to sprint
- Space to jump
- Left click to shoot
- Right click to aim down sights
- R to reload
I started this project as a test of the viability of using Unity’s raycast as a gun’s hit detection. I discovered that it worked well and ended up completing a functioning character controller. I kept adding features like sprinting, aiming down the sight, and animations.
Eventually I decided to take the project to a whole new level by using Unity3D networking to transform the project into a multiplayer game. I had to learn a lot about networking and make a lot of changes to the player script, but eventually got it done. This game is simple, but I think it is a neat demonstration of Unity networking.