top of page

UE4 3D PLATFORMER

This game is a vertical slice of a 3D platformer developed in Unreal Engine 4 using C++ by myself as part of my Mprof in Games Development. The gameplay involves defeating enemies using your bow and arrow to earn rewards and complete quests for the various NPCs present.

PROJECT FEATURES

Some of the interesting parts of the project I worked on.

The purpose of this project was to improve my C++ coding skills as well as familiarise myself with UE4 and gain some valuable experience creating games with this engine.

​

As this was a solo project, the focus was primarily on the coding side of things and as such any art or audio assets present in the game were found externally (e.g. the Unreal marketplace) and the design of the game is simplistic with little to no narrative, to instead show off the mechanics developed as a vertical slice of a potential game.

​

Credits for any third-party assets can be found at the bottom of this page, as well as on the accompanying itch.io page.

Screenshot8.png

ARCHERY MECHANIC

I developed a basic archery mechanic allowing the player to defeat their enemies. I had previously developed a similar mechanic in Unreal a few years prior as part of my undergraduate degree which provided a solid inspiration for the development of this system in conjunction with my greatly improved experience both in games development generally as well as in Unreal in the time since. Additionally, the development of this mechanic allowed me to reflect on my previous iteration of it as part of my undergrad and improve my skills further.

DIALOGUE SYSTEM

I developed a click-through, linear dialogue system to allow the player to interact with a handfull of NPCs to receive/hand-in quests.

Screenshot6.png
Screenshot5.png

QUEST SYSTEM

I also created a simple quest system to allow players to keep track of their objectives and give them a clear direction to progress.

ENEMY AI

I used UE4's Blackboard and Behaviour Tree systems to develop the enemy AI for the game. This involved creating custom tasks and services in C++ to work in conjunction with my enemy class and Unreal's built-in system. The result of which is enemies present throughout the game that can switch between idle and combat states based on external factors such as the player's presence, and engage the player in combat.

Screenshot2.png
Screenshot3.png

PICKUPS, SPAWNERS, & UI

I developed simple pickups for the player to collect, granting them a range of benefits (e.g. restore health, add ammo, etc.). I also created spawners for these pickups allowing them to optionally respawn based on a checkbox in the editor (per spawner). Additionally, I handled all the UI processing in C++ code that effectively communicates with the blueprints (required for visual layouts).

LEVEL SYSTEM

I created a levelling system for both the player character and the enemies. Thanks to this system, damage output and victory rewards scale effectively based on the level difference between challenger and opponent. For example, if the player is double the level of the enemy, they will deal double damage but receive half the reward upon defeating the enemy. While vice versa, if they are half the enemy's level, they will deal half damage but receive double the rewards if successful. This system effectively demonstrates the potential of taking this vertical slice further and emphasises the possibility of the resulting game's longevity.

Screenshot5.png

GALLERY

Here you can find some screenshots of the game.

bottom of page