YasharShaikh/AI-Boss-Battle-PlayerMechanics-UE5-Cpp
This project implements AI-driven boss battle mechanics using Unreal Engine 5 (UE5) with C++. It includes dynamic player mechanics, combat interactions, and AI behavior systems.
AI-Boss-Battle-PlayerMechanics-UE5-Cpp ๐ฆ
A project that implements AI-driven boss battle mechanics using Unreal Engine 5 (UE5) with C++, incorporating dynamic player mechanics, combat interactions, and AI behavior systems.
- AI Boss Battle System
- State-driven AI with behavior trees and decision-making logic.
- Menace Gauge, Fatigue Gauge, and Rage Gauge systems for dynamic boss behavior.
- Player Mechanics
- Responsive movement, attack combos, and evasion with dodge and dash abilities.
- Procedural AI State Machine
- Modular state machine controlling AI transitions and attack types.
- Material and Texture Management
- Utilizes Unity's materials to dynamically apply textures and colors based on elevation and biome settings.
- Combat Dynamics
- Adaptive AI responses based on distance, player actions, and boss state.
Preview ๐
๐กObjective: Build an immersive boss battle that dynamically challenges the player through smart AI and reactive player controls.
Gameplay ๐ฎ
- Face an evolving boss that adapts based on gauges and player actions.
- Utilize various player abilities such as telekinesis, firearms, and exploite weakness.
Getting Started ๐
- Unreal Engine Version: 5.3 or higher.
- Basic knowledge of Unreal Engine C++ and Blueprint systems.
Building
- Clone this repository
- Open jurassic_BB_LD.uproject in Unreal Engine.
- Build and compile the solution from Visual Studio.
- Launch the project and play the Main Level to test the boss battle.
Core Components ๐ ๏ธ
C++ Classes
- BossAIController: Governs AI decision-making and transitions.
- PlayerController: Manages player input, abilities, and movement.
- StateMachine: Handles AI state transitions and behavior logic.
Blueprints
- BP_BossCharacter: Defines boss behavior and visual state changes.
- BP_PlayerCharacter: Manages player actions and special abilities.
Contributing ๐ช
Looking to contribute something to this project? Here's how you can help.
If you believe something needs to be immediately fixed please open an issue and document the problem.
Fork this project and create a pull request with your solution to the problem. Thank you.
Reach Out? ๐ฌ
- Yashar Shaikh (yashrsk6@gmail.com)
- Github
- Linkdin