FPS Game

Concept

*FPSGame* is a first person game
made from a FPS controller prototype
made by me!

Project Details

Plattform:
Genre:
Engine:
Development time:
Team size:
PC
Unreal
First Person Shooter
3 months
3



Roles and Responsibilities


Everything tech

Rapid Prototyping,
Script optimizing,
Bug fixing,
AI Scripting,
Implementing features

Game Design

3Cs Design,
Balancing,
Systems,
AI Design,
Gameplay loops



First Person Controller Setup

The first task was to setup my own controller that I can work with

Camera controller

I first had to script my own camera component in c++
so that I easily could handle it through code later.

Movement System

The movement system was made fully in blueprints
because I would not need to change it with code.



The Gun

The gun is the biggest subject in a FPS game. It had to feel good!

Weapon Sway

The first task was hooking up weapon sway.
It was difficult finding a way to convert player movement
to weapon relative position.

Gun Bob

Gun bob was all about hooking up movement to a
sine wave that was hooked up to the guns relative Z (up) location.

Leaning

Due to the tactical nature of the game I decided to try out leaning.
The level designer felt it was neccecary for the level he was invisioning
so I made it work.

Recoil

The recoil simple worked by constantly lerping the rotation to 0
and adding a rotation when shooting.

Rotation Difficulties

All three features where all handling rotations on the gun.
I noticed quickly that Unreal could not handle three different rotaion inputs.
I solved this by spliting the gun into two components
so that I could split out one of the calculations.


The Camera

The camera in a firt person shooter is one of the most difficult balances.
I wanted to make it realistic and feel good but not giving my player motion sickness.

Recoil and Leaning

The recoil and leaning on the camera worked the same way as the gun.
However obviusly they needed different values.

Head Bob

The head bob on the up axis was the same as the gun but I added a sine wave
on the right axis too to simulate walking better.

Next on the List

The things I have not yet implemented.

Enemy AI

I will have to desgin and implement a AI that can detect the player,
use covers and it needs to blend animations smoothly.

UI

The game needs a better HUD and simple menus. This is something I
am passionate about.

Takeaways

What I learned, liked and disliked
  • First person shooters are my thing. It felt like home working on this project
  • Being in charge of all tech was scary but super fun. I learnt a lot about a lot of tech!
  • Working closly with a level designer made it a lot more fun for the both of us.

Thank you for reading!