RPG HD-2D
Unreal Engine 5.6 RPG with a PyTorch-based combat AI.
Second-year Epitech project: an Unreal Engine 5.6 RPG featuring a PyTorch-based combat AI, developed together with a second AI developer.
Context
Team
Role
What was built
Architecture
Media gallery
Diagram / architectureArchitecture
Technical decisions
Fixed 92-feature state representation
The combat state is converted into a normalized 92-value vector before reaching the model, with level-dependent normalization.
Action masking instead of after-the-fact filtering
A mask computed from the state disables impossible actions before selection, always keeping "Skip" as a fallback.
From combat state to a playable action
The combat state is turned into 92 normalized values describing what the model needs to know. The network then scores five possible actions. Before the final pick, a mask removes the actions that are impossible in the current state, and the chosen action is sent back to the game.
Stack
Skill → evidence
Structures a full Unreal Engine 5.6 project
Project structured with EngineAssociation "5.6" and a dedicated C++ Runtime module.
Writes gameplay logic in C++
C++ makes up about 85% of the project’s code.
Designs a learned game AI rather than a hard-coded script
Trained PyTorch MLP (92 → 128 → 64 → 5), versioned .pt checkpoint, invalid-action masking.
