Skip to content

ngmitam/ActionRPG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

48 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ActionRPG ๐Ÿ—ก๏ธโš”๏ธ

Unreal Engine C++ License: MIT Version

A modern Action RPG built with Unreal Engine 5, showcasing advanced game development techniques, asset integration, and polished gameplay mechanics. This project demonstrates expertise in C++ programming, Blueprint scripting, animation systems, and cross-platform build pipelines.


๐Ÿš€ Technologies Used

  • Unreal Engine 5.6 - Game engine for high-fidelity graphics and advanced features
  • C++ - Core gameplay logic and performance-critical systems
  • Blueprints - Visual scripting for rapid prototyping and UI
  • Gameplay Ability System (GAS) - Advanced ability and attribute management
  • Behavior Trees - AI decision-making and enemy behaviors
  • Animation Blueprints - Character animation state machines
  • Unreal Build Tool (UBT) - Custom build configurations and automation
  • Version Control - Git for collaborative development
  • Asset Integration - Marketplace asset packs for rich content

โœจ Key Features

Combat System

  • Martial Arts Mechanics: Implemented traditional Korean martial arts combat with fluid animations
  • Combo System: Chain attacks with timing-based inputs for dynamic gameplay, including boss combo mechanics
  • Stun Mechanics: Enemy stun system for interrupting attacks and creating combat opportunities
  • Damage & Health: Robust health management and damage calculation systems
  • Ability System: Custom gameplay abilities for attacks, effects, and character progression
  • Boss Encounters: Advanced boss fights with spear attacks, random attack selection, and animation notifies

AI & Enemies

  • Behavior Trees: Intelligent enemy AI with patrol, alert, and attack behaviors
  • Detection Systems: Configurable detection ranges with line-of-sight checks for responsive AI
  • Boss Encounters: Special boss areas with unique mechanics, spear attacks, and triggers
  • Enemy Types: Diverse enemy classes with different combat styles and stun vulnerabilities
  • Targeting System: Camera lock and input actions for precise enemy targeting

Animation & Visuals

  • Advanced Animation Library: Integrated FreeAnimationLibrary for diverse character movements
  • Motion Matching: Smooth transitions between combat states
  • Particle Effects: Visual feedback for attacks and impacts
  • Animation Notifies: Custom notifies for combo windows and damage application

Technical Implementation

  • Modular Architecture: Clean C++ code structure with reusable components
  • Performance Optimization: Efficient rendering and asset management, including optimized animation handling via Behavior Tree services
  • Cross-Platform Builds: Configured for Windows development and deployment
  • Build Automation: Custom VS Code tasks for streamlined development workflow
  • UI System: Loading screens, player UI, pause menus with resume/quit functionality, and centralized input management
  • Gameplay Ability System (GAS): Advanced ability and attribute management with GameplayEffect assets
  • Configuration Management: Centralized game configuration system for maintainable settings

Game Features

  • RPG Elements: Character progression and skill trees
  • Interactive Environments: Dynamic world with responsive objects
  • Arena Gameplay: Dedicated combat arena for testing mechanics
  • Boss Areas: Specialized zones for challenging boss encounters
  • Stun Mechanics: Combat interruptions for strategic gameplay
  • Minimap System: Real-time minimap for navigation and awareness

๐Ÿ› ๏ธ Prerequisites

  • Unreal Engine 5.6+: Download via Epic Games Launcher
  • Git: For repository management
  • Required Assets:
    • KoreanTraditionalMartialArts
    • FreeAnimationLibrary
    • UndergroundSciFi

๐Ÿ“ฆ Installation

  1. Clone Repository

    git clone https://github.com/ngmitam/ActionRPG.git
    cd ActionRPG
  2. Install Asset Packs

    • Open Epic Games Launcher โ†’ Marketplace
    • Acquire and add to project: KoreanTraditionalMartialArts, FreeAnimationLibrary, & UndergroundSciFi
  3. Open Project

    • Launch ActionRPG.uproject in Unreal Editor
    • Generate Visual Studio files if needed

๐Ÿ“ Project Structure

ActionRPG/
โ”œโ”€โ”€ ActionRPG.code-workspace      # VS Code workspace configuration
โ”œโ”€โ”€ ActionRPG.uproject            # Unreal Engine project file
โ”œโ”€โ”€ LICENSE                       # MIT License
โ”œโ”€โ”€ README.md                     # Project documentation
โ”œโ”€โ”€ Source/                       # C++ source code
โ”‚   โ”œโ”€โ”€ ActionRPG/                # Main game module
โ”‚   โ”‚   โ”œโ”€โ”€ ActionRPG.Build.cs    # Build configuration
โ”‚   โ”‚   โ”œโ”€โ”€ ActionRPG.cpp         # Module implementation
โ”‚   โ”‚   โ”œโ”€โ”€ ActionRPG.h           # Module header
โ”‚   โ”‚   โ”œโ”€โ”€ Public/               # Header files (.h)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MyCharacter.h     # Player character class
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MyEnemy.h         # Enemy base class
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MyBoss.h          # Boss enemy class
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MyAbilitySystemComponent.h  # GAS component
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ...               # Other classes
โ”‚   โ”‚   โ””โ”€โ”€ Private/              # Implementation files (.cpp)
โ”‚   โ”œโ”€โ”€ ActionRPG.Target.cs       # Game target configuration
โ”‚   โ””โ”€โ”€ ActionRPGEditor.Target.cs # Editor target configuration
โ”œโ”€โ”€ Content/                      # Unreal assets
โ”‚   โ”œโ”€โ”€ Maps/                     # Game levels
โ”‚   โ”‚   โ””โ”€โ”€ Arena/                # Combat arena level
โ”‚   โ”œโ”€โ”€ Core/                     # Core game assets
โ”‚   โ”‚   โ”œโ”€โ”€ AI/                   # AI-related assets and behaviors
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Animations/       # AI animation assets
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Boss/             # Boss enemy assets
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Enemy/            # Regular enemy assets
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ UI/               # AI-related UI elements
โ”‚   โ”‚   โ”œโ”€โ”€ Character/            # Player character assets
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Animations/       # Character animation assets
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ GAS/              # Gameplay Ability System assets
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Input/            # Input mappings and actions
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ UI/               # Character-related UI elements
โ”‚   โ”‚   โ”œโ”€โ”€ FX/                   # Particle effects and visual effects
โ”‚   โ”‚   โ”œโ”€โ”€ BP_LoadingScreen.uasset # Loading screen Blueprint
โ”‚   โ”‚   โ”œโ”€โ”€ BP_MyGameMode.uasset  # Game mode Blueprint
โ”‚   โ”‚   โ””โ”€โ”€ BP_PauseMenu.uasset   # Pause menu Blueprint
โ”‚   โ”œโ”€โ”€ KoreanTraditionalMartialArts/ # Combat animations
โ”‚   โ”œโ”€โ”€ FreeAnimationLibrary/     # General animations
โ”‚   โ”œโ”€โ”€ UndergroundSciFi/         # Sci-fi environment assets
โ”‚   โ”œโ”€โ”€ Collections/              # Asset collections
โ”‚   โ”œโ”€โ”€ Developers/               # Developer-specific assets
โ”‚   โ”œโ”€โ”€ __ExternalActors__/       # External actor references
โ”‚   โ””โ”€โ”€ __ExternalObjects__/      # External object references
โ”œโ”€โ”€ Config/                       # Configuration files
โ”‚   โ”œโ”€โ”€ DefaultEditor.ini         # Editor settings
โ”‚   โ”œโ”€โ”€ DefaultEngine.ini         # Engine settings
โ”‚   โ”œโ”€โ”€ DefaultGame.ini           # Game settings
โ”‚   โ”œโ”€โ”€ DefaultGameplayTags.ini   # Gameplay tags
โ”‚   โ”œโ”€โ”€ DefaultInput.ini          # Input settings
โ”‚   โ””โ”€โ”€ Layouts/                  # UI layouts
โ”œโ”€โ”€ Binaries/                     # Compiled executables
โ”‚   โ”œโ”€โ”€ Win64/                    # Windows 64-bit builds
โ”œโ”€โ”€ Plugins/                      # Unreal plugins
โ”œโ”€โ”€ Saved/                        # Editor and runtime data
โ”‚   โ”œโ”€โ”€ Autosaves/                # Auto-saved levels
โ”‚   โ”œโ”€โ”€ Config/                   # Saved configuration
โ”‚   โ”œโ”€โ”€ Logs/                     # Log files
โ”‚   โ””โ”€โ”€ Shaders/                  # Compiled shaders
โ”œโ”€โ”€ DerivedDataCache/             # Cached derived data
โ”œโ”€โ”€ Intermediate/                 # Intermediate build files
โ””โ”€โ”€ .git/                         # Git repository (not shown in project)

๐ŸŽฎ Usage

In Editor

  • Open in Unreal Editor
  • Press Play to test gameplay
  • Use build tasks for different configurations

Packaged Game

  • Navigate to Binaries/Win64/
  • Run ActionRPG.exe for the packaged game

Controls

  • Movement: WASD
  • Camera: Mouse
  • Jump: Left Ctrl
  • Sprint: Left Shift
  • Attack: Left Mouse Button
  • Dodge: Space
  • Focus/Target Lock: Right Mouse Button
  • Pause Menu: Escape

๐Ÿ”จ Building

Available VS Code tasks for different build configurations:

Game Builds

  • ActionRPG Win64 Debug Build - Debug build for development debugging
  • ActionRPG Win64 Debug Rebuild - Clean and rebuild debug version
  • ActionRPG Win64 Debug Clean - Clean debug build files
  • ActionRPG Win64 DebugGame Build - DebugGame build for testing
  • ActionRPG Win64 DebugGame Rebuild - Clean and rebuild DebugGame version
  • ActionRPG Win64 DebugGame Clean - Clean DebugGame build files
  • ActionRPG Win64 Development Build - Standard development build
  • ActionRPG Win64 Development Rebuild - Clean and rebuild development version
  • ActionRPG Win64 Development Clean - Clean development build files
  • ActionRPG Win64 Test Build - Test build for automated testing
  • ActionRPG Win64 Test Rebuild - Clean and rebuild test version
  • ActionRPG Win64 Test Clean - Clean test build files
  • ActionRPG Win64 Shipping Build - Optimized release build
  • ActionRPG Win64 Shipping Rebuild - Clean and rebuild shipping version
  • ActionRPG Win64 Shipping Clean - Clean shipping build files

Editor Builds

  • ActionRPGEditor Win64 Debug Build - Editor debug build
  • ActionRPGEditor Win64 Debug Rebuild - Clean and rebuild editor debug
  • ActionRPGEditor Win64 Debug Clean - Clean editor debug build files
  • ActionRPGEditor Win64 DebugGame Build - Editor DebugGame build
  • ActionRPGEditor Win64 DebugGame Rebuild - Clean and rebuild editor DebugGame
  • ActionRPGEditor Win64 DebugGame Clean - Clean editor DebugGame build files
  • ActionRPGEditor Win64 Development Build - Editor development build
  • ActionRPGEditor Win64 Development Rebuild - Clean and rebuild editor development
  • ActionRPGEditor Win64 Development Clean - Clean editor development build files

๐Ÿ“š What I Learned

This project enhanced my skills in:

  • Game Architecture: Designing scalable systems for RPG mechanics
  • Gameplay Ability System: Implementing complex ability frameworks
  • AI Programming: Behavior trees and enemy AI design
  • Animation Systems: Montages, notifies, and state machines
  • C++ in Unreal: Advanced UE patterns and performance optimization
  • Performance Tuning: Optimizing for smooth 60+ FPS gameplay
  • Asset Pipeline: Managing large asset libraries efficiently
  • Build Systems: Automating deployment across platforms
  • Version Control: Best practices for collaborative game development

๐Ÿ“ Changelog

For a detailed list of changes, features, and improvements, see CHANGELOG.md.

๐Ÿค Contributing

Open to feedback and improvements! Feel free to:

  • Report issues or bugs
  • Suggest new features or mechanics
  • Submit pull requests with code improvements
  • Share feedback on gameplay balance

For major changes, please open an issue first to discuss what you would like to change.

๐Ÿ“„ License

MIT License - see LICENSE for details.

ยฉ 2025 Nguyen Minh Tam. All rights reserved.

๐Ÿ™ Acknowledgments

  • Epic Games for Unreal Engine 5
  • Asset creators for KoreanTraditionalMartialArts, FreeAnimationLibrary, UndergroundSciFi
  • Unreal Engine community for invaluable resources

๐Ÿ“ž Contact

Nguyen Minh Tam LinkedIn | GitHub Email: ngmitamit@gmail.com


This project showcases professional game development practices and is part of my portfolio demonstrating Unreal Engine expertise.

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors