blog post

This FPS game was made for my universities “Game Engine Programming” module. This module involved using two different game engines, Unity and UE4, to create games and introduce you to the game engines. I decided to create an FPS game with some advanced movement mechanics as well as procedurally animated enemies.

The movement was also physics based as I wanted the movement to feel more fluid. As well as this, it made it easy to add other movement systems. The more advanced parts of the movement system were wall running and grappling. The process for wall running was fairly simple, I did a raycast to each side of the player to see if there was a wall in range, if there was a small force would be applied in the direction of the wall and gravity would be reduced. Grappling was also very simple, I just used a spring joint component to link both objects, this made sure that one object couldn’t move to far from the other, it also gave the connection spring like properties which made it feel like the player was bouncing if they were too far away. Finally, I used a line renderer to draw a line from the player to the grapple point.

To procedurally animate the enemies I created legs that used inverse kinematics. The leg would stay attached to the enemy on one side and the floor on the other. This was a very simple implementation so the overall look of the movement was very good however it worked well for this project. I also checked the height of the main body of the enemy and if it was too low I added a small force to move it up, this made it look as if the enemy was bouncing.

Overall, this project was a reasonable success and helped me learn a lot about making games in unity.