Readable turn flow
Each turn moves from character selection to a command, an ability or item, a target, and a visible result before control advances.
Early gymnasium project
An early Unreal Engine combat prototype built entirely with Blueprints, included to show where my game-programming journey began.

In motion
Selected moments from the original gameplay recording, showing the early Blueprint systems working together in a complete battle.





Overview
This turn-based JRPG prototype was one of my earliest game projects, created while I was in gymnasium. I have kept it in my portfolio because it shows the point where I first began turning game rules into connected systems rather than isolated experiments.
The prototype moves a three-character party through battles against groups of enemies. Players choose actions from command menus, select abilities and targets, manage HP and MP, and receive experience, currency, items, and level-ups after winning a battle.
Role
I implemented the gameplay with Unreal Engine Blueprints. The project archive contains the battle game mode and player controller, player and enemy unit Blueprints, field encounters, ability and item hierarchies, battle positions, transitions, and the widgets used throughout the combat flow.
My work connected turn-based actions to the player-facing interface: party status, action commands, target selection, magic, techniques, items, damage feedback, and the victory screen. Although the project no longer opens cleanly in a current engine version, the surviving recording demonstrates the complete battle loop working together.
Design focus
Each turn moves from character selection to a command, an ability or item, a target, and a visible result before control advances.
HP, MP, attributes, attacks, healing, and character levels give each party member a persistent state during battle.
Encounters continue through multiple enemies and finish with experience, money, loot, and level progression rather than ending at a single attack test.
Implementation
Connected the battle game mode, player controller, unit positions, and action flow that coordinate party members and enemy units.
Structured attacks, black and white magic, techniques, consumable items, MP costs, target selection, and effects such as damage and healing.
Built widgets for action commands, party status, ability lists, items, targets, floating damage, and per-unit battle information.
Completed the loop with a victory screen that distributes experience, money, collected items, and character level-ups.
Process
The project separates battle control, units, abilities, items, field encounters, and UI into dedicated Blueprint assets. That was my first practical experience dividing a game into systems with distinct responsibilities.
The interface moves through layered choices for attacks, magic schools, individual spells, techniques, items, and valid targets while preserving the active party member's turn.
After the final enemy is defeated, the combat state feeds a separate results view with earned experience, currency, loot, and visible level progress for each character.
Reflection
As an early project, the main challenge was learning how many states a turn-based battle must coordinate: the active unit, available commands, chosen targets, animation timing, health, mana, defeated enemies, and the transition to the next turn.
The project also taught me how quickly large Blueprint graphs can become difficult to maintain when responsibilities and dependencies are not planned early. Its current engine-version problems are part of that history.
Learning
This was where I first learned to think in systems. A battle is not one feature; it is an agreement between rules, data, characters, input, feedback, UI, and progression.
Looking back at the project makes my later progress visible. I now place more emphasis on clear ownership, reusable components, data-driven content, smaller interfaces, source control, and planning for change.
Next steps
If I rebuilt this prototype today, I would use explicit battle states, data assets for units and abilities, event-driven UI updates, and smaller Blueprint components with clearer responsibilities.
I would also separate original gameplay logic from marketplace content and generated Unreal files, then keep the project under source control so engine upgrades and technical decisions are easier to review.
Explore