# tomlooman/actionroguelike

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tomlooman-actionroguelike).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,493 stars · 807 forks · C++

## Links

- GitHub: https://github.com/tomlooman/ActionRoguelike
- Homepage: https://tomlooman.com/unreal-engine-sample-game-action-roguelike
- awesome-repositories: https://awesome-repositories.com/repository/tomlooman-actionroguelike.md

## Topics

`3d` `c-plus-plus` `cpp` `game` `game-ai` `game-development` `multiplayer-networking` `roguelike` `tutorial` `ue5` `ue5-game` `unreal-engine` `unreal-engine-5`

## Description

ActionRoguelike is a third-person cooperative game project built with C++ and Unreal Engine. It functions as a networked application that utilizes replication architecture to synchronize character states and combat across multiple clients.

The project implements a data-oriented performance framework that employs object pooling and asynchronous asset loading to optimize memory usage and frame rates. It features a behavior tree AI system combined with environment queries to drive autonomous NPC decision making and combat, alongside a binary serialization framework for saving actor variables and user profiles to disk.

The codebase covers high-level capabilities including action combat mechanics, RPG character state management, and event-driven user interface design. It also incorporates performance optimization techniques such as animation throttling and data-oriented entity management to handle high-volume objects.

## Tags

### Part of an Awesome List

- [Gaming and Game Development](https://awesome-repositories.com/f/awesome-lists/media/gaming-and-game-development.md) — A third-person cooperative action roguelike developed using C++ and Unreal Engine. ([source](https://tomlooman.com/))
- [Action Roguelikes](https://awesome-repositories.com/f/awesome-lists/devtools/action-roguelikes.md) — Develops a third-person cooperative action roguelike with fast-paced combat and procedural elements using Unreal Engine.

### Game Development

- [Action Roguelikes](https://awesome-repositories.com/f/game-development/action-roguelikes.md) — Develops a third-person cooperative action roguelike with fast-paced combat and procedural elements.
- [Character State Systems](https://awesome-repositories.com/f/game-development/character-state-systems.md) — Manages character attributes, abilities, and status effects to define gameplay capabilities. ([source](https://tomlooman.com/unreal-engine-sample-game-action-roguelike))
- [Game Performance Optimizations](https://awesome-repositories.com/f/game-development/game-performance-optimizations.md) — Optimizes game performance through memory management, object pooling, and animation throttling.
- [Data-Oriented Optimizations](https://awesome-repositories.com/f/game-development/game-performance-optimizations/data-oriented-optimizations.md) — Employs a data-oriented runtime architecture with object pooling to optimize memory and frame rates.
- [Gameplay Mechanics Implementation](https://awesome-repositories.com/f/game-development/gameplay-loop-simulators/gameplay-mechanics-implementation.md) — Implements action combat mechanics including attacks, dashes, and projectiles within the game engine. ([source](https://cdn.jsdelivr.net/gh/tomlooman/actionroguelike@master/README.md))
- [Multiplayer Networking](https://awesome-repositories.com/f/game-development/multiplayer-networking.md) — Synchronizes character actions and combat features across multiple clients for cooperative play. ([source](https://cdn.jsdelivr.net/gh/tomlooman/actionroguelike@master/README.md))
- [Behavior Tree AI](https://awesome-repositories.com/f/game-development/npc-behavior-systems/behavior-tree-ai.md) — Implements intelligent enemy behavior using behavior trees and environment query systems for chasing and attacking.
- [NPC Logic Composition](https://awesome-repositories.com/f/game-development/npc-logic-composition.md) — Designs and attaches decision-making structures to NPCs to handle roaming, chasing, and attacking patterns. ([source](https://cdn.jsdelivr.net/gh/tomlooman/actionroguelike@master/README.md))
- [Asynchronous Asset Loading](https://awesome-repositories.com/f/game-development/asynchronous-asset-loading.md) — Loads game assets asynchronously via soft references to prevent frame rate stutters during gameplay.
- [Data-Oriented Design](https://awesome-repositories.com/f/game-development/data-oriented-design.md) — Organizes high-volume game objects using arrays of structs to improve runtime execution speed and cache locality.
- [Game State Restoration](https://awesome-repositories.com/f/game-development/game-state-restoration.md) — Applies persisted binary data to game actors during level load to recover their internal states. ([source](https://tomlooman.com/unreal-engine-cpp-save-system/))
- [Gameplay Logic Throttling](https://awesome-repositories.com/f/game-development/gameplay-logic-throttling.md) — Reduces the fidelity of animations and visual effects based on importance to maintain consistent frame rates. ([source](https://tomlooman.com/unreal-engine-sample-game-action-roguelike))
- [Player Profile Management](https://awesome-repositories.com/f/game-development/player-profile-management.md) — Retrieves saved player data and identifiers upon session entry to restore progress and spawn locations. ([source](https://tomlooman.com/unreal-engine-cpp-save-system/))

### Artificial Intelligence & ML

- [Behavior Trees](https://awesome-repositories.com/f/artificial-intelligence-ml/decision-trees/behavior-trees.md) — Uses behavior trees to manage complex task logic and decision-making for autonomous NPCs.
- [Environmental Query Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/decision-trees/behavior-trees/environmental-query-systems.md) — Combines behavior trees with environmental queries to drive intelligent NPC decision logic. ([source](https://tomlooman.com/courses/unrealengine-cpp))

### Data & Databases

- [Game State Persistence](https://awesome-repositories.com/f/data-databases/game-state-persistence.md) — Persists player profiles and world actor states to disk to maintain progress between sessions. ([source](https://tomlooman.com/unreal-engine-sample-game-action-roguelike))
- [Binary Game State Serialization](https://awesome-repositories.com/f/data-databases/binary-game-state-serialization.md) — Implements a serialization framework that writes actor variables and user profiles to disk to preserve world state.
- [Binary Serialization](https://awesome-repositories.com/f/data-databases/binary-serialization.md) — Converts game world and actor state into compact binary formats for persistent disk storage.

### Networking & Communication

- [Cooperative Multiplayer Synchronization](https://awesome-repositories.com/f/networking-communication/cooperative-multiplayer-synchronization.md) — Synchronizes character actions and world state across multiple clients to enable smooth cooperative gameplay.

### Software Engineering & Architecture

- [Game State Replication](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architectures/game-state-replication.md) — Synchronizes game state between server and clients using a replication model for multiplayer cooperation.
- [Data-Oriented Design](https://awesome-repositories.com/f/software-engineering-architecture/data-oriented-design.md) — Uses data-oriented design and arrays of structs to efficiently handle high-volume game objects. ([source](https://tomlooman.com/unreal-engine-sample-game-action-roguelike))
- [Object Pooling](https://awesome-repositories.com/f/software-engineering-architecture/object-pooling.md) — Recycles dormant actors via object pooling to minimize memory fragmentation and allocation overhead. ([source](https://tomlooman.com/unreal-engine-sample-game-action-roguelike))
- [Object Pools](https://awesome-repositories.com/f/software-engineering-architecture/object-pools.md) — Implements object pooling to recycle game entities, reducing memory fragmentation and processor overhead.

### Graphics & Multimedia

- [Animation Throttling](https://awesome-repositories.com/f/graphics-multimedia/animation-throttling.md) — Implements logic to limit the time spent on animation processing per frame to ensure consistent frame rates. ([source](https://tomlooman.com/unreal-engine-sample-game-action-roguelike))
- [Game Progress Synchronization](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/media-management-production/media-management-systems/media-file-upload-handlers/gaming-media-uploads/game-progress-synchronization.md) — Stores character attributes and world state to maintain progress across separate gaming sessions. ([source](https://cdn.jsdelivr.net/gh/tomlooman/actionroguelike@master/README.md))

### Security & Cryptography

- [World State Persistence](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/stateful-session-persistence/external-database-persistence/world-state-persistence.md) — Persists environmental changes and actor coordinates into binary arrays to preserve world state. ([source](https://tomlooman.com/unreal-engine-cpp-save-system/))

### System Administration & Monitoring

- [Progress Tracking](https://awesome-repositories.com/f/system-administration-monitoring/user-statistics/user-profile-statistics/progress-tracking.md) — Captures player metrics and unique identifiers to link game progress and statistics to users. ([source](https://tomlooman.com/unreal-engine-cpp-save-system/))

### User Interface & Experience

- [Event-Driven User Interfaces](https://awesome-repositories.com/f/user-interface-experience/event-driven-user-interfaces.md) — Employs an event-driven architecture to decouple interactive on-screen elements from core game logic. ([source](https://tomlooman.com/courses/unrealengine-cpp))
- [Game Overlays and HUDs](https://awesome-repositories.com/f/user-interface-experience/game-overlays-and-huds.md) — Develops on-screen HUDs and menu overlays to track character attributes and game progress.
- [In-Game User Interfaces](https://awesome-repositories.com/f/user-interface-experience/in-game-user-interfaces.md) — Provides in-game user interfaces including main menus, attribute trackers, and world-space health widgets. ([source](https://cdn.jsdelivr.net/gh/tomlooman/actionroguelike@master/README.md))
