top of page

In this project I took the role of Programmer and Lead Programmer. During team meetings I would try to keep everyone from getting into altercations or conflicts in general to try and keep a nice environment for everyone to work and keep to the deadline. My first tasks at the beginning were to create a grapple and a swing, and then to make them better as we got the hang of how we want the game to move and behave. I have also created an AI that teleports and does damage randomly to the player using EQS and Blackboard. At the end of the project due to the disappearance and the other programmer stopped responding to messages, we were short on people, so I did some VFX as well.

betaarcade1.png

Beta Arcade, UE4 Blueprints​

This was the first prototype of the grapplehook that would reel the player in after it hit a surface. I did this with a simple LinetracebyChannel

betarcade2.png

And then upon hitting a surface it would launch the player forward. I have made also a reset grapple hook function so that we could add a delay to how often the player could use this mechanic as it was going to be a core mechanic to the parkour aspect of our game (We had decided that our game will be a combination of Doom and Titanfall).

ba3.png

This is a simple function which would reset the grapple to allow us to have a cooldown on it as the grapplehook and the swing will be core parkour mechanics in our game.

ba4.png

These are the variables which I have set from the blueprints to make it easy on our team members to change most of them for game balance purposes.

ba5.png
climbwall.png

From seeing this in the “Widowmaker” character from the game Overwatch I thought adding a slight jump to our player at the end of the reeling when it hit a surface to help him climb it would fit quite nice into the parkour mechanic of the game.

ba6.png

This is how I coded the Swing mechanic. This would help the player manoeuvre around the huge map we decided to have, and to be able to dodge the enemy’s projectiles. I did this in the same way as the grapple but with a spheretracebyChannel this time to have a wider area of hit upon the surface.

ba7.png

Then upon hitting the surface the player would have to be in air to be able to swing. Then, changing the character movement properties like air would case the player to be able to swing more realistically and to make the player able to choose the direction of swing in the air.

ba8.png
ba9.png

This is the force created to help the player swing.

Then I created an AI for our game that would teleport and deal damage to the player randomly as a special attack.

ba10.png
ba11.png
ba12.png

I chose to use EQS because I had not used this feature before and wanted to experiment with it, it seemed quite straight forward to use and it uses exact measurements.

ba13.png

The behaviour tree was straightforward to set-up as we only wanted the AI to teleport and deal damage to the player. There were other design ideas for the AI to have special attack which were a bit out of my scope of expertise and research. This happened a lot in the design of the game but towards the end we managed to get on track to create something achievable by every team member rather than dream of a triple A game.

ba14.png

This was the task I created in the behaviour tree that would make the AI teleport in a different location and I have also added that it would take damage with a box collision on the floor of the map and linked it to event tick at random times it would deal damage to the player. This was easier to code like this as trying to cast to the AI blackboard seemed rather complex and I could not find specific research on how to do it.

ba15.png
ba16.png

This is the setup of the muzzleflash with the VFX i created using a Niagara system.

muzzle.png

The way I set this up was just a material in front of the gun with a point light that would trigger every time the gun is shot(the macro is a very powerful tool in blueprints).

ba17.png

Additionally, enums were added to the code and the grapple has been made more physics-based. I would include the blueprints in screenshots as well however they won't be as visible due to their length in size.

Overall, working as Lead Programmer on this project I enjoyed talking and working with the Designers to craft and change the core mechanics of the game as you would in the industry. The game is quite fast paced and the mechanics run smooth which aid the whole dynamic of the game.

bottom of page