Action Roguelike
This is the barebones for a 3D action roguelike game developed by following Tom Looman’s Professional Game Development in C++ and Unreal Engine. The course has taught me a great deal and helped me get started with Unreal Engine 4 and 5 (I began with UE4 and later switched to UE5 upon its release).
The course has provided me with a good base-level understanding of how the engine is designed and the workflow that developers must follow to utilize it effectively. It has also made me realize that Unreal Engine is designed for interdisciplinary teams, and working on the engine alone is a big task, considering the diversity of implementation of various systems in the engine.
Overall, I am very satisfied with the engine and eager to learn more, despite the daunting task of mastering all its aspects. Working full-time and finding some time to do this course on the side has slowed my progress, but I am determined to complete it soon to gain a better understanding of implementing multiplayer, which is the final part of the course remaining for me.
Some functionalities implemented in the game are:
- Imported and set up a Paragon character mesh and animations, and refactored it to fit this game’s custom player controller.
- Configured third-person character movement, including implementing animation blendspaces for smooth transitions
- Implemented character attacks, including a basic projectile and a “black hole” attack that draws in nearby physics-enabled actors
- Implemented a teleportation ability for the character, using raycasting to determine a feasible destination for the teleport
- Added a modular interaction functionality via interfaces and components
- Designed and implemented basic UMG widgets, and some basic animations such as health bar zoom in/out opon damage taken
- Implemented basic flashing materials
- Added sound effects to basic gameplay such as movement, projectiles, damage, etc…
- Implemented enemy AI using Behaviour Trees and EQS
- The AI attempts to reach a safe distance from the player before shooting at them at a pre-defined rate
- If injured, the AI will run to find cover and heal up based on some pre-defined amount per-second
- Implemented spawning of AI in waves with the GameMode controlling it
- Implemented player respawning via the GameMode
- Implemented a custom Gameplay Ability System and refactored the game to use it for abilities such as player attacks
- Used Unreal’s GameplayTags to implement
- player buffs such as sprinting
- enemy debuffs such as damage over time
- setting a “flag” when obtaining a key item
Screenshots to follow soon.
Thanks for reading!
Back to Other Work