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

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •