• Home
  • Work Projects
  • Personal Projects
  • Resume
  • About Me
  • More
    • Home
    • Work Projects
    • Personal Projects
    • Resume
    • About Me
  • Home
  • Work Projects
  • Personal Projects
  • Resume
  • About Me

Mythic MMO

The MMO

This is my main game project I have been working on with a close friend for roughly 4 years. It has been both my entry point into Unreal Engine and by far my greatest achievement.


My job and role in this game is to develop everything GAS - Gameplay Ability System related. I have implemented a lot of features so far, and since this is a very long term and expansive process, I have focused heavily on wiring code that is both clean and scalable and everything is networked supported and is run on the Server with the Client receiving the information.

Gameplay

Systems

Gameplay Ability System

I have been working with GAS for roughly 3-4 years, learning both the in's and out's of this system and using it to implement all the abilities, attributes and effects into the MMO.


As of current, all characters have an Attribute Set which holds all of their Stat information, this takes into consideration the characters levels and adjusts the numbers accordingly.


There are 11 abilities currently in the game, 10 of which belong to the player and one re-usable ability which belongs to the enemy AI. These abilities are scaled with the level of the character and deal more damage.


I use a mixture of Gameplay Effects and Execution Calculations to perform stat changes (mainly damage) to the target of the abilities.

Abilities

Currently there are 11 abilities in the game that are completed but need a VFX polish. Some of the abilities I have implemented are:


  • Fireball - This launches a Projectile at the Targeted Character.
  • Frenzy - Increases the Character's Attack Speed for a duration.
  • Basic Attack - A looping Auto Attack.
  • Frost Nova - An AOE snare that deals damage.
  • Combustion - Lights the target Character on fire, dealing dot damage over a duration.


Each Ability has their own sub-class in c++ that I have derived off of the main Gameplay Ability Class. This is for scalability as some Abilities need a Target while others do not. This is all still a work in progress but a lot of work has gone into making the creation of new abilities smooth and easy.

Gameplay Effects

In the MMO, there are multiple Gameplay Effects, the two primary is the Health Regeneration and Essence Regeneration.


I have made base-classes for our Gameplay Effects, which when applied to the target Character will either deal damage or affect a stat such as speed, health, max health and so on.


I have also setup complex damage calculations using the Execution Calculation Class provided by GAS. This allows me to pull down attributes the Character has and perform damage calculations based on the Characters current armour, armour pen, damage amount and crit chance. This allows for more complicated damage to be applied to Characters in the game.


With Gameplay Effects, we can also apply Gameplay Cues, which are Visual Effects like Particle's that are applied to the target. The Gameplay Effect gets applied via a Gameplay Ability, showing a visual indication if damage or a fun effect has occured.

Animations

I have setup all the Animations for the AI and added Blending to the Player. This as well has been incorporated into GAS with the PlayMontageAndWait Node, allowing me to play animations freely when a ability is casted, and fire off events in key frames of the Animation.


I have also created Blend-spaces for the AI animations and have used the Sequencer to splice up new Animations for the AI.

UI

I have incorporated GAS into our UI. As the players attributes change by either leveling up, taking damage, consuming essence or having stat changes, will be presented in the UI, this is done via Delegate Broadcasts which updates the widgets.

Back to My Projects

Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept