top of page
Splash.bmp

Genre: FPS, Psychological horror

Engine: Unreal Engine 4

Project Time: 9 Weeks, 50%

Team Size: 10

​

My Contributions

Player Mov
Player Movement

Taking inspiration from "Resident Evil 7", I designed the player movement to have weight and a bundle of subtle features that make up the experience. Like different movement speeds depending on which direction you move in or whether you're aiming your weapon. It also has an automatic un-crouch feature using sphere-casts to check if there's an obstacle above the player.

​

All developed features was made using both Unreal Engines blueprints and Angelscript.

​

Animations
Animation Implementation

Using animation blueprints that received events and data to play animations. I utilized the Event Graph to play animation montages using events when firing a weapon and reloading. I used the Animation State Machine to assume different animation poses.

​

As an optimization I should have created a parent "anim" blueprint class that's shared between both the arms and weapon. That way I wouldn't need to create two different blueprints that are basically the same.

​

The fantastic graphic designers that created and animated the weapons were:

- Nikola Praizovic Hedström (Arms & Shotgun)

- Sixten Augustsson (Tommy Gun)

Shotgun
Shotgun

Working with animations for a shotgun was more finicky than I thought. Especially in our case as the player needs to manually pump before each shot. You might have noticed that the hammer of the shotgun will look different depending on if the gun is pumped or not. Well what if the player wants to reload or sprint when the shotgun is in an "un-pumped" state? Then that case needs to get handled as well so that the hammer doesn't transition back and forth unnaturally.

 

It was also fun to work on the tricky reload animation as the "shell loading" animation needed to loop for a number of times while also being seamless when transitioning from the start and end animation.

​

I implemented vfx created by graphics designer Gevik Shanazari who used FluidNinja and Niagara. To add to the effect, I also added a muzzle flash. A point light that turns on and off for a split second when firing a weapon.

Tommy Gun
Tommy Gun

My personal favorite for its simple implementation compared to the shotgun, and how fun the shooting is. I basically just needed to reuse the design of the shotguns animation blueprint and adapt it.

It uses a special feature "Random recoil Sway" that adds random sways to the weapons orientation. Thanks to my weapon swaying system the weapon re-centers itself automatically. This enhances the shooting animation and makes it look like genuine recoil handling.

RandomSwayOn.gif

Random Sway Enabled

RandomSwayOff.gif

Random Sway Disabled

Cam bobbing
Camera Bobbing

I used Unreals camera shake tool (UCameraShakeBase) to customize different camera bobbing behavior during movement and weapon actions. This makes it look like it's part of an animation but it's just the camera moving around while leaving it's child components unaffected.

Camera Bobbing Enabled

Camera Bobbing Disabled

Weapon Sway
Weapon Sway

To make the weapon feel natural to move around i reused my system from "Procyon" and implemented weapon swaying. The weapon is able to angle and move itself using the players current velocity and mouse delta. When the player isn't moving, the weapon re-assumes it's original position and orientation.

Decals
Bullet & Blood Decals

Bullet decals gets placed wherever your bullet lands on the environment.

​

Blood decals are placed when shooting an enemy and spawns a blood decal behind the enemy. As if the shot pierced through the enemy and replaces the regular bullet decal with a random blood decal.

Interrupt Aiming
Interrupt Aiming

When closing in on the environment the equipped weapon moves back to a relaxed pose. I sphere-cast around the player weapon to check for possible environment collisions and send the result to an animation state machine to play the proper animation.

​

This feature serves to purposes. The first one improving the interactive experience especially when going opening doors. The second being a small remedy to prevent the arms and weapons from clipping through the environment.

Pause Menu
Ingame Pause Menu

Using a widget component, created by Kei Mak a graphic designer specializing in UI, to be used with the notepad. What I did was connecting the notepad to a bone/socket on the animation rig for the players arms. I also needed to implement extra animation events to lower down either weapon before bringing up the notepad animation.

​

This also involved saving away the settings variables in a "GameInstance" class so that they wouldn't get lost during scene changes.

bottom of page