Unreal: Third person Shooter
Overview
This was a prototype that was created during Programming Fundamentals 2 at Full Sail University. During the class, students learned the basics of the Unreal Engine and Blueprints. The class taught the concepts of creating a complete game loop, expanding on functionality to create new items, item spawning, and numerous other game design principles.
During the month we had guide lectures that setup basic game features and then we had lab time where we were encouraged to research and implement a set of features within given parameters. Most of the extra functionality such as multiple weapons were done in the labs.
Features
This is a prototype of a third-person shooter game. The game features item spawning, Killable characters, multiple weapons, moving platforms, and basic movement mechanics such as jump. The level is designed to use all of the functionality of the game including the double jump, different weapons, Items spawning, and the use of items to access new areas.
My Role
This was an independent class so I was responsible for researching how to implement and then scripting all of the lab features for the project. This project built on itself each week and allowed you to dive deeper into Unreal. The lab features I worked on are listed below.
Create Health pickup: The game already had a damage pick up from the guided instructions. This feature was built upon that concept and used to create a health pickup for the player.
Create Blendspace for character animation: Research and implement a 1D blend space for the idle, walk, and run animations.
Characters spawn and item on death: Here I modified the base character to spawn a random pickup during the OnDeath event.
Add Shields: This feature required additional checks to ensure the shield had no energy before the player health would drop.
Add Gun Model: Using the bones from the skeletal mesh I created a spawn point for the gun to attach to and then adjusted its rotation for the player. This also required me to adjust where the projectile launched from, which was done with another node on the skeleton as a bullet spawn.
Character skins change: This task required we make each character a different color in the world. How I implemented this was to find the proper color variable in the material for the character. Then on character beginPlay I would assign a random color to that value.
Popup widgets: This was implemented in a couple of different ways. This was one of the least efficient things I implemented and if the prototype were to be built out further this would be something that I would optimize.
VFX for objects: Here we were assigned with assigning a visual effect to the targets and projectiles during the OnDeath event.
Add Timer Win/lose condition: To add difficulty we had to implement a timer that would cause you to lose the game if you did not destroy all the targets within the time frame given.
Item respawning: All collectible items besides the key and damage pickups were to be able to respawn after a given time frame.
Score: Each item was assigned a score value and during the OnDeath event the gameMode would take this score and add it to the player's score. This included targets, pickups, and characters.
Projectile Weapon: Here I created a new weapon that would spawn a spread projectile. After a given time that projectile would destroy itself and spawn 3 more projectiles. One would shoot forward and then the other two would push outward away from the center projectile creating a shotgun spread effect.
Tech
Game Engine
Unreal
Scripting
Blueprint
Development dates
October 2019
Role
Scripting, Design
Development timeframe
1 month