Cherub Online
Details
Objective
To showcase advanced technical proficiency in game development, C++ efficiency, and Unreal Engine mastery by creating a scalable multiplayer online game using Unreal Engine's source code, integrated with Epic Online Services (EOS) for authentication, data storage, and AWS GameLift/Azure PlayFab for dedicated server hosting on virtual machines.
Tools & Technologies
C++, Unreal Engine, Gameplay Ability System, AWS GameLift, Epic Online Services
Project Summary
Cherub Online is a multiplayer online game designed to showcase scalable systems, advanced technical proficiency in Unreal Engine, and gameplay and network programming with C++. It integrates Epic Online Services for authentication and AWS GameLift for dedicated server solutions. Players can explore a dynamic MMO world with real-time combat, skill systems, and character progression.
Heavily inspired by MOBA and MMORPG games that I personally played, I aimed to create a game that would take the best of those games mechanics, systems and experiences, and make one that I can showcase my skills not only in game development, but also in C++ and Unreal Engine.
My Contributions:
1. Core Gameplay Ability System (GAS)
From the start, I knew combat would be the heart of Cherub Online. Whether players engage in PvE or PvP, the combat system had to feel polished, responsive, and rewarding. To achieve this, I designed and implemented the core Gameplay Ability System (GAS) and the supporting attributes, enabling dynamic skill types and interactions.
2. Attributes System
Of course, the Gameplay Ability System's main purpose is to manage and modify attributes seamlessly. Attributes like health, mana, and various combat-related stats (e.g., attack, defense, and magic power) are the backbone of player progression and gameplay mechanics. To achieve this, I designed the Basic Attributes System to integrate tightly with the Gameplay Ability System (GAS) while maintaining modularity, scalability, and network efficiency.
3. MouseTrace and TargetActor
Precision targeting is a vital aspect of skill-based combat. Whether selecting an enemy, marking a ground location, or canceling an action, the MouseTrace TargetActor is a class inherited from the AGameplayAbilityTargetActor. This system provides players with the ability to preview their actions, confirm or cancel their choices, and interact seamlessly with the game world—all before committing to an ability.
Key Learnings: