Josh Skinner's profile

Knowlegde in Unreal Engine blueprint

Artifact Two:
Knowledge of varies Unreal Engine blueprint logic.
This artifact shows off my overall understanding of how-to code using Unreal Engin's Blueprint. The original project started out as a third person action developed as the final project for SNHU's GAM 207 Game Design and Development course.
Subtitle version here: https://youtu.be/AaYldt1y_hs
The project shown above showcase my understanding of how to create HUD screens, systems to handle taking damage and representing it on a health bar, a system that tracks the numbers of a throwable object, a game countdown timer, and an AI enemy that can roam around the map, chase a player when they are spotted, and final attack and damage the player. 
this is the level as a whole. The bright green area is known as the NavMeshBoundVolume and it controls where the two AI enemies can move around. In this case the Krakken can move along the beach front and the Hellhound can move around the field next to the house. Another interesting area is the water where there is an physic system at work which cause the player to sink.
Upon the start of the game, a HUD screen is created and display. This widget lays over the game and displays useful information to the play such as a timer, a health bar, and the numbers of knife and grenade thrown per game.
As the game plays a timer display at the top of the screen. With each event tick the program checks to see if the time is zero. If it is the game ends, otherwise it checks the statics of the seconds and minutes float variables. If the second variable is greater than zero it subtracts one seconds. If less, it subtracts one from the minutes variable and sets the seconds variable to fifty-nine. Each variable are sent to the HUD widget to be displayed.
This picture shows the logic behind the throwable object called knife. Upon pressing the T key, a knife is spawned at the player location then push away from the play landing at different locations depending on the player point of view. For example, if the player is look up the knife with be launched at an upward trajectory. After the T key is released an integer variable call knife is increased and sent to the HUD screen. 

The grenade throwable object see below, works the same way. The only difference is a sound and explosion animation happen as well. 
The last part of the HUD widget is the health bar. The health bar or number in this project shows the maximum health the player has. This number will decrease by a set amount based on the damage the player takes from a trap or enemy attack. After each time damage is taken the player health is checked to be sure its greater than zero. If it is the game contuies as normal but if its zero, the game engine disable all player movement inputs, turn the player pawn into a lifeless ragdoll, and ends the game
The above picture shows the logic behind opening and closing a door. The player stands in front of the door and press the E key. The program than check to see if the door is opened or not using the closed? boolean variable. If true, the door mesh will swing open in the opposite direction of where the player is located. If fasle, the door will close.
The last item we will look at is the AI system. Each AI need its own brain in order to run within the game in this case the krakken and hellhound enemies. The below pictures show the AI system for the hellhound, but the krakken AI is similar with minor adjustment in the mesh and animations.

The first image shows the brain of the hell hound AI. The AI can perform two things in the game: roam around the map according to the NavMeshBoundVolume (explain earlier) or chase the player. The brain checks to see if a condition has been met, called the hasSeenPlayer boolean variable. Lets first look at what happens if the AI has not seen the player. 
If the AI has not detected the player the AI will roam around the map looking for the player. In the picture below the Hellhound AI movement is a combination of it the idle stands, walking, and looking around. This animation is played as the AI moves from one point to another. Without the animation montage the hellhound mesh would just float for point to point. Upon reaching every new point it waits 3 seconds. Durning that time the AI brain checks if the player has entered its vision before moving to another random location within the bound volume.
If the AI spots the player, using what known as a PawnSensing component, it will start chasing the player. Based on the AI distance from the player a boolean variable call isBite will be checked. If the player is within the isBite trigger box, attached to the hellhound's snort or krakken's tentacles tip, the AI brain will tell the AI to play the attack animation montage and apply damage to the player. If the player is not within range of the isBite trigger box, the AI keep chasing the player.  



This project was made possible with the aid of the Epic Unreal Marketplace and YouTube tutorials proved by Matt Aspland and Gorka Games
Knowlegde in Unreal Engine blueprint
Published:

Knowlegde in Unreal Engine blueprint

Published: