Skip to content

Axizen/CursedAngel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 

Repository files navigation

Cursed Angel

Cursed Angel Logo

3D Hack & Slash Platformer with Reactive Environment Combat

Unreal Engine C++ License Status

🎮 Play Demo📖 Documentation🐛 Report Bug💬 Discussions


📖 Table of Contents

🎯 About

Cursed Angel is a 3D hack and slash platformer prototype that combines environmental interaction, companion AI, and transformation mechanics. Drawing inspiration from Ratchet & Clank's gadget-based exploration and Devil May Cry's stylish combat, the game features a unique "Source Code" narrative where players debug reality anomalies.

🎭 Story

Players control Ripley, a human with an angel's soul, accompanied by Frank, a fox with an angel's soul who is immune to curses. Both characters have been granted access to Yahweh's Source Code and tasked with debugging reality anomalies while maintaining secrecy from mortal authorities.

✨ Features

🌍 Reactive Environment System

  • Curse weapons interact with environmental elements
  • Dynamic platform extension and barrier creation
  • Hazard activation and environmental puzzles
  • Real-time world state changes

🦊 Intelligent Companion AI

  • Frank the fox provides utility support
  • Telepathic communication system
  • Witty personality with helpful abilities
  • Autonomous utility station activation

Cursed Angel Transformation

  • Devil Trigger-inspired ultimate ability
  • Data point accumulation system
  • Speed, damage, and fluidity bonuses
  • Stunning visual effects and audio

🏟️ Arena Combat System

  • Wave-based progression
  • Environmental integration per wave
  • Multiple enemy types with AI
  • Progressive difficulty scaling

🚀 Quick Start

Prerequisites

# Required Software
- Unreal Engine 5.5+
- Visual Studio 2022 (C++ workload)
- Git with Git LFS
- Windows 10/11 (64-bit)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/cursed-angel.git
    cd cursed-angel
  2. Setup Git LFS

    git lfs install
    git lfs pull
  3. Generate project files

    # Right-click CursedAngel.uproject → "Generate Visual Studio project files"
  4. Open and compile

    # Open CursedAngel.sln in Visual Studio
    # Build → Build Solution (Ctrl+Shift+B)
    # Open CursedAngel.uproject in Unreal Engine

🎮 First Play

  1. Launch Unreal Engine and open the project
  2. Press Play or open the ArenaDemo level
  3. Use the controls below to start playing!

🎮 Gameplay

🎯 Controls

Input Action Input Action
WASD Movement Mouse Camera Look
Space Jump Left Click Fire Curse Weapon
Right Click Heavy Attack 123 Switch Curse Weapons
Q Cursed Angel Transform E Request Frank Utility

⚔️ Curse Weapons

Weapon Key Effect Environmental Interaction
Corruption Rail 1 High damage piercing shot Extends platforms for traversal
Fragment Needles 2 Rapid-fire sticky projectiles Activates hazard traps
Void Mines 3 Area denial explosives Creates protective barriers

🛠️ Frank's Utilities

Utility Effect Duration Cooldown
Curse Amplifier 2x weapon damage 10s 15s
Element Highlighter Shows interactive elements 8s 12s
Emergency Shield 50% damage reduction 8s 20s

🏗️ Development

📁 Project Structure

CursedAngel/
├── 📁 Content/
│   ├── 📁 Characters/           # Player and companion assets
│   │   ├── 📁 Ripley/          # Player character
│   │   └── 📁 Frank/           # Companion fox
│   ├── 📁 CurseWeapons/        # Weapon blueprints and effects
│   ├── 📁 Environment/         # Arena and reactive elements
│   ├── 📁 UI/                  # HUD and interface
│   └── 📁 Audio/               # Sound effects and music
├── 📁 Source/CursedAngel/      # C++ source code
│   ├── 📄 CurseWeaponComponent.*
│   ├── 📄 CursedAngelComponent.*
│   ├── 📄 FrankAI.*
│   ├── 📄 FrankAIController.*
│   └── 📄 ReactiveArenaElement.*
├── 📁 Config/                  # Engine configuration
└── 📁 Plugins/                 # Third-party plugins

🔧 Key Systems

🌍 Reactive Environment System
UCLASS(BlueprintType, Blueprintable)
class CURSEDANGEL_API AReactiveArenaElement : public AActor
{
    GENERATED_BODY()

public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Reactive")
    ECurseWeaponType ReactsToWeapon;
    
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Reactive")
    EReactionType ReactionBehavior;
    
    UFUNCTION(BlueprintCallable, Category = "Reactive")
    void TriggerReaction(ECurseWeaponType CurseType, FVector ImpactLocation);
};
🦊 Frank AI Controller
UCLASS(BlueprintType, Blueprintable)
class CURSEDANGEL_API AFrankAIController : public AAIController
{
    GENERATED_BODY()

public:
    UFUNCTION(BlueprintCallable, Category = "Frank AI")
    void SetAIState(EFrankAIState NewState);
    
    UFUNCTION(BlueprintCallable, Category = "Frank AI")
    void ActivateNearestUtility();

private:
    void UpdateFollowBehavior(float DeltaTime);
    void UpdateUtilityDetection();
};
⚡ Cursed Angel Transformation
UCLASS(BlueprintType, Blueprintable)
class CURSEDANGEL_API UCursedAngelComponent : public UActorComponent
{
    GENERATED_BODY()

public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cursed Angel")
    float DataPoints = 0.0f;
    
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cursed Angel")
    float SpeedMultiplier = 1.5f;
    
    UFUNCTION(BlueprintCallable, Category = "Cursed Angel")
    void ActivateTransformation();
};

🔨 Building from Source

Development Build
  1. Prerequisites

    # Install Visual Studio 2022 with C++ workload
    # Install Unreal Engine 5.5
    # Ensure Git LFS is configured
  2. Compile C++ Classes

    # Method 1: Visual Studio
    Open CursedAngel.sln → Build → Build Solution
    
    # Method 2: Unreal Engine
    Open project → Compile button in toolbar
  3. Package for Distribution

    # In Unreal Editor
    File → Package Project → Windows (64-bit)
    # Select output directory
    # Wait for packaging to complete

📊 Performance Targets

Metric Target Current
Frame Rate 60 FPS ✅ 60+ FPS
Memory Usage < 4GB RAM ✅ ~3.2GB
Loading Time < 10s ✅ ~7s
Package Size < 2GB ✅ ~1.8GB

🗺️ Roadmap

Completed (v0.1.0 - Prototype)

  • Core curse weapon system with environmental interactions
  • Frank companion AI with utility support
  • Cursed Angel transformation with visual effects
  • Arena combat with wave-based progression
  • Complete UI system with HUD and feedback

🚧 In Progress (v0.2.0)

  • Enhanced Frank personality system with more dialogue
  • Additional curse weapon types and combinations
  • Advanced enemy AI with varied behaviors
  • Performance optimizations and bug fixes

📅 Planned (v0.3.0+)

  • Story mode with narrative progression
  • Multiple arena environments with unique mechanics
  • Save system and progression tracking
  • Steam integration and achievements

🤝 Contributing

We welcome contributions from the community! Please read our Contributing Guidelines before getting started.

🚀 How to Contribute

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch
    git checkout -b feature/amazing-feature
  3. 💻 Make your changes
  4. 🧪 Test thoroughly
  5. 📝 Commit with clear messages
    git commit -m 'feat: add amazing feature'
  6. 📤 Push to your branch
    git push origin feature/amazing-feature
  7. 🔄 Open a Pull Request

📋 Development Guidelines

🐛 Known Issues

Current Known Issues
Issue Severity Status
Frank occasionally gets stuck on complex geometry Low 🔍 Investigating
Transformation effects may persist after death Medium 🔧 In Progress
Audio cues can overlap during rapid weapon switching Low 📋 Planned
UI scaling issues on ultrawide monitors Low 📋 Planned

See our Issue Tracker for the complete list and to report new bugs.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🎨 Third-Party Assets

Asset Acknowledgments
Asset Pack Usage License
StylishCombatStarterKit Melee combat foundation Asset Store License
Cat Girl Character Pack Player character mesh Asset Store License
Weapon Asset Packs Railgun, Needler, ProximityMineLauncher Asset Store License
Unreal Engine Starter Content Environmental assets Epic Games License

🙏 Acknowledgments

🎮 Inspiration

  • Ratchet & Clank - Gadget-based environmental interaction
  • Devil May Cry - Stylish combat and transformation mechanics
  • .hack franchise - Digital reality narrative themes
  • MASH (1970) - Character personality and dialogue tone

👥 Special Thanks

  • Epic Games for Unreal Engine 5
  • The Unreal Engine community for tutorials and support
  • Asset creators for high-quality content packs

📞 Support & Community

Discord Documentation Issues Discussions

📈 Project Stats

GitHub repo size GitHub contributors GitHub last commit GitHub issues GitHub pull requests GitHub stars


⭐ Star this repository if you found it helpful!

"Flippin' amazing."

About

3D hack and slash platformer inspired by Ratchet & Clank's weapon systems and platforming, and Devil May Cry's stylish hack and slash combat.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 91.1%
  • C 8.5%
  • C# 0.4%