
Forgotten Requiem is a singleplayer Diablo-like Action RPG (ARPG) built in Unreal Engine using C++ and the Gameplay Ability System (GAS).
👉 Wishlist “Forgotten Requiem” on Steam (Coming Soon)
UGameplayEffectExecutionCalculation (UCpp_ExecCalc_Damage) resolves Physical/Fire/Lightning/Arcane damage against per-type resistance attributes, applies radial falloff damage from an origin/inner/outer radius, and rolls elemental debuffs (Burn, Shock, Stun, Curse) plus several boss-unique status effects (Pandemonium, Pyre of False Comfort, Djinn’s Conduction Armor, Neural Dazzle) off a damage-type-to-debuff gameplay tag map.UBTTask_BlueprintBase task (UCpp_BTTask_BossBehaviorTask) turns boss combat into an author-defined state table: each combat state (melee/ranged combos, special attacks, stun, dodge, phase transform) lists distance-based conditions (in-range/closer-than/farther-than, or a Blueprint-custom predicate) that pick the next state — reshaping an entire boss fight is a data edit, not a C++ or Behavior Tree graph change.USTRUCT-based trigger library (health-below-threshold with rearm, nearby-hostile-count with rearm, damaged-by-player, ability-used, ally-defeated, timed interval, gameplay event) covers combat and exploration contexts separately, so reactive barks need no manual per-encounter scripting.UTimelineComponent usage with pooled, curve-driven timeline tasks (duration/ratio/loop/reverse modes) exposed to both C++ TFunction callbacks and Blueprint delegates.IAutomationDriverModule’s async driver — moving the cursor to a rendered button’s hit-tested screen position, clicking it, then injecting a raw keyboard press through Slate — and asserts production Enhanced Input bindings activated the ability the UI just equipped.UFlowAsset graph from scratch via reflection (FindFProperty/ContainerPtrToValuePtr to wire node connections that aren’t exposed to C++), fires 260 kill notifications through it end-to-end, and verifies completion state round-trips through an actual disk save — exercising the exact production Flow nodes, not stubs.UnrealEditor -game unattended, tails the live log file by holding a shared read handle while the engine process writes to it, streams pass/fail per test case to the console in real time, and emits HTML/JSON reports plus engine-side raw results — recovering partial results and marking the rest “not run” if the process crashes or times out.FComponentVisualizer subclasses with custom HComponentVisProxy hit proxies let designers click-and-drag individual patrol points directly in the viewport (HandleInputDelta/GetWidgetLocation), plus a dedicated spawn-radius visualizer for enemy spawners.UBlueprintCompilerExtension hooks ProcessBlueprintCompiled to statically flag unsafe ability-delay usage at compile time — static analysis running inside the Blueprint compiler, not just runtime checks.SGraphNode widgets (SCpp_FlowGraphNode_Dialogue, _DialogueChoice, _StartDialogue) swapped in via custom UFlowGraphNode subclasses so dialogue trees are readable at a glance in the graph editor.IDetailCustomization surfaces patrol data on the owning character’s details panel with custom row widgets and a clipboard transfer path that copies a patrol route struct from the component straight onto a Flow node.