Project Name:
Final Fantasy Combat Prototype
​
Software Used:
-Unreal Engine 5 Blueprint
-Gimp
This game is a solo project built from scratch, currently in development that tries to emulate the combat style of a mix of Final Fantasy games.
Combat System
Goal: Create a flexible set of combat mechanics that can weave together well and make an enjoyable overall combat experience, similar to that found in FF7R
-
Designer friendly combo system built from the ground up that allows for editing or easy addition of new attacks or new combos through use of data tables, which saves time on iteration and new additions to the game.
-
New magic attacks are easy to set up and test. Attacks are created through data tables and have custom pre-sets set up for quick addition of similar moves.
-
Technical abilities can also be easily set up through the use of data tables, and can be unlocked easily through skill trees, defeating enemies or even loot chests.


Equipment Systems
Goal: Create an inventory and equipment system that is modular and easy to extend and use, both for designers and players.
-
Equipping new weapons/accessories/magic is streamlined and can be achieved with few button presses, making it a fast and thoughtless process for the player
-
Each type of equipment is sorted by slot, making it easy to switch out specific equipment when needed.
-
Designer friendly UI systems that dynamically create new slots and sort them when sorting through a character's inventory.
-
Equipment can be easily iterated on through use of data tables for each type of equipment.
Skill Trees
Goal: Create a skill system that is modular, easy to use and doesn't require too much set up for UI.
-
Skill trees are very simple to set up and change, once again thanks to the use of data tables, and can offer many different benefits for each character
-
Skills are locked to each weapon and will appear depending upon the weapons level.
-
The skill tree will set itself up visually, so there's no need for a designer to place particle effects and positions manually, as this is done through the data table.
-
Skills can be unlocked through gaining AP, which is gained from defeating enemies.


Lock on System
Create a similar system to an old prototype for locking on, this time allowing for further input from external factors as well as player decided input.
-
With the lock on system, I took elements from an old prototype solely focused on a lock on system, and incorporated those systems into this prototype.
-
Made sure that the camera flows nicely from target to target.
-
The system is easily customisable for designers to set up varying scenarios, allowing for different targets to change how they are locked onto and how they can affect the player's camera.

Creating new equipment for the game is made as easy as creating a new entry in a data table and then giving the player the new equipment so that they can use it:

With these sorts of systems, I can quickly create a new equipment called "Really strong bangle" that grants the player 100 additional health when worn. Other effects can also be granted through this process too, such as increasing magic, damage or other defensive stats.
The prototype focuses mainly on two things:
Focus 1: Creating systems for the game that can be easily used to implement new features.
This is the main focus of the project as I want to make systems that can easily be added onto and be used by others.
​
An example of this being the equipment system currently found in-game. Following FF7's approach I wanted the player to easily be able to switch out their equipment when needed with as few button presses as possible.
Focus 2: Creating a vertical slice to test all of the systems working together.
​
Right now I have a small vertical slice available and ready to be played. I am unsure as to whether or not yet I will be increasing the size of this vertical slice. There is still a fair amount that I want to add in terms of gameplay, so it may end up naturally increasing the size of the slice.
Below is a video showcasing gameplay from the vertical slice.
