⚔ Combat Design Journal

Combat Design Journal

Team C(ombat)ANN — a semester-long deep dive into combat design in UE5. Weekly entries documenting design decisions, individual contributions, iteration, and implementation across 15 weeks.

C(ombat)ANN
University of Utah • Spring 2025 • UE5 • Team: Alan, Noah, Nishant
Team C(ombat)ANN
My Contributions
GAS Programming, Systems, Encounter Design
Click to expand
My Contributions
GAS Gameplay Programming
  • Implemented Unreal's Gameplay Ability System for ability mechanics and character powers.
Health, Damage & Stamina Systems
  • Designed and programmed health/damage framework, stamina system, and healing mechanics.
Camera & UI Systems
  • Developed dynamic camera system and implemented radial UI for combat feedback.
Encounter & Polish
  • Designed combat encounters and fine-tuned work throughout.
A semester-long combat tech demo built in UE5 using the Gameplay Ability System. The team of three designed and built a melee combat prototype over 15 weeks — covering movement, abilities, hit response, VFX, enemy AI, and arena design. The focus throughout: what makes combat feel genuinely satisfying to play. Many bumps in the road led to big learnings and how to overcome challenges, and how to apply those learnings to future projects. The journal entries below document the process week by week, and the reflection of our results.

With the guidance from Troy Johnson (Senior Combat Designer at Avalanche), I have learned what makes a combat system feels good, and apply that on my current project currently titled Squirrel Souls.
UE5GASC++ AIAnimationVFX

Journal Entries

Design decisions, individual contributions, and iteration notes — week by week.

WK
1
Week 1 • Project Kickoff
Team Formation — AR’TURA BLADE
  • Blending the combat and gameplay of Furi and Hollow Knight with a focus on 2.5D or 3D depending on complexity, with sword combat as the core.
  • Alan: Communicated ideas and references. Discussed how to blend mechanics from different titles to build a strong combat system. Explored using a 3rd-person camera that can switch to 2.5D to manage scope.
  • Noah: Created assets and set up a new repo on Perforce. Brainstormed ways to combine Furi’s melee combat with a 2.5D style akin to Hollow Knight as a scope-down option.
  • Nishant: Created the initial movement system deviating from the Unreal starter code, including sprinting and crouching animations.
  • Discussed Furi’s design and how it integrates ranged and melee combat to make each fight feel meaningful.
  • Referenced Hollow Knight and Dark Souls for mechanics, encounter design, and enemy difficulty tuning.
  • Still need to scope the project and define the core game loop along with the distribution of mechanics and implementation plans.
  • Advanced movement system with sprinting and crouching implemented.
Week 1
WK
2
Week 2 • Core Systems
Dash, Health System & GAS Planning
  • Task for the week: add a dash mechanic, a sword-to-cube interaction, and a health system.
  • Lost Perforce/Google access — attributed time slot to game development instead.
  • Alan: Implemented Dash and began looking into VFX to make it feel better.
  • Noah: Built a simple health and damage system with a Health UI bar. Health packs restore 10 HP; cubes heal over time while the player stands near them. Damage is variable-based. Health capped at 100. Inspired by Dark Souls’ bonfires — interactables on the ground to aid scavenging.
  • Nishant: Added weapon-hits-cube damage interaction and the ability to pick up and equip a weapon using number keys.
  • Discussed migrating the ability framework to GAS (Gameplay Ability System) for better flexibility and designer control.
  • Outlined the full ability set to implement: Rage Meter, Dash with invincibility frames, Heal/Tank, Slash-Dash, Light Attack combo, alternate RMB attack.
  • Planned lock-on system and attribute fixes (5 charges, heals 40–60% of max health).
  • GAS health system, cooldown/stamina, simple upgrade system, and base combat attacks planned for rollout.
Week 2
WK
3
Week 3 • Animation & Camera
Combo Animation, Isometric Camera & Enemy Setup
  • Goal: find a combo animation, improve collision testing, and push toward crunch. Most items were on track but not all met the agreed targets.
  • Alan: Implemented Dash and the first dash animation.
  • Noah: Implemented an isometric camera that toggles between 3rd-person (dev) and isometric view. Got stuck on integrating Hollow Knight-style enemies.
  • Nishant: Added a combo animation to the character.
  • Identified the camera as the main blocker — needed to integrate a first-person-style attack rather than just triggering an animation after the dash.
  • Discussed new camera approach that better integrates into the current attack patterns.
WK
4
Week 4 • Damage & Combat Flow
Damage System, Heavy Attack & Multi-Target Collision
  • Focus: polish the dash ability, add a LMB heavy attack, and implement a working damage system.
  • Alan: Fixed up the dash — player now properly enters the combat stage of the dash on activation.
  • Noah: Implemented a modular damage system designed to be easy to extend as the team adds mechanics.
  • Nishant: Worked on in-motion collision mapping to connect sword swings with multiple targets simultaneously.
  • Continued building on damage and movement to push combat closer to a finished feel. Many systems still need polish.
Week 4
WK
5
Week 5 • Game Feel Pass
VFX Polish, Health Bars & Crit System
  • Simplified remaining systems to address issues carried over from Furi’s implementation. Still revamping the camera and working on a clean dash-to-hit transition.
  • Primary focus this week: game feel — making the player feel like their attacks have real impact.
  • Alan: Polished the dash so movement momentum is preserved; added VFX.
  • Noah: Fixed the damage system, added health bars on enemies, and added a health dot indicator on targets when hit with a crit.
  • Nishant: Added proc/updater hooks for future extensions.
  • Continue polishing dash attacks, movement, hit reactions, damage framing, and crit system for the dash.
  • Still a lot left to finish before the end of the semester.
WK
6
Week 6 • GAS Migration
Moving Combos to GAS & Cooldown System
  • Decision: migrate the combo framework to GAS. The existing approach wasn’t improving feel — GAS offers better flexibility for ability tuning, cooldowns, and cancellation.
  • Added a condition system to implement ability cooldowns.
  • The dash remains timing-based — still intended to be design-driven rather than purely mechanical.
  • Alan: Worked on VFX and GAS combat integration.
  • Noah: Built damage through GAS, implemented dodge-based mechanics.
  • Nishant: Continued work on melee collision and multi-target sword swing connection.
  • Camera still needs more work for aiming and target acquisition.
  • Character movement refinement ongoing.
WK
7
Week 7 • Rotation & Attack Polish
Spin Attack, GAS Attack Transition & Camera Work
  • Continued catching up from Week 6. Added rotation system, polished motion mapping, and addressed player positioning for combat stability.
  • Alan: Converting Dash to GAS; implemented the spin attack ability.
  • Noah: Camera work — improving state clarity for when the player picks up a sword and enters combat, making it clearer when hits are registering.
  • Nishant: Rotation system improvements to make attacks track and feel more intentional.
  • Completing GAS transition across all attack end states.
  • Adding complexity to attacks, abilities, and enemies as the core loop stabilizes.
Week 7
WK
8
Week 8 • Rage Mode & Healing
Rage Mechanic, Radial UI & Alt Attack Chaining
  • Caught up to and moved past Week 6’s scope.
  • Designed Rage mode: fills a meter that changes Alt attack and regular attack into new combos and effects.
  • Added a healing system inspired by Ghost of Tsushima.
  • Discussed balancing Rage across different enemy densities.
  • Alan: Implemented Rage mechanic and corresponding VFX.
  • Noah: Implemented the healing system and built a radial UI progress bar to display the healing state.
  • Nishant: Implemented the Alt attack when ranged — lets the player teleport/chain between enemies.
  • Drew inspiration from Furi and Sonic’s “Chaos Control” ability for the Rage mechanic feel.
  • Continued playtesting for bugs — certain attacks not draining stamina or dealing damage correctly.
  • Experimenting with enemy density, attack damage values, and how Rage shifts the combat balance.
WK
9
Week 9 • Mastery & Combos
Expanding Moves for Depth & Rewarding Mastery
  • Focus: expanding current moves to make them feel more rewarding when mastered.
  • Continued work on player positioning for stability in combat.
  • Alan: Working on air-to-air attack interactions.
  • Noah: Continued camera improvements for combat clarity when entering and exiting attack states.
  • Nishant: Rotation system refinements; attacks continue to feel more intentional and game-like.
  • Combo timing refinements — tightening windows to reward skilled play.
WK
10
Week 10 • Break
Spring Break — No Update

No development this week.

WK
11
Week 11 • GDC
Game Developers Conference — No Dev Update

Attended GDC. No production update this week.

WK
12
Week 12 • Final Push
Boss Arena, Encounter Design & Full Polish Pass
  • Shifted focus to a final boss-battle level: single-player vs. the game world with deep mechanics over broad content.
  • Cooling down on complexity — polish, system fixup, and making what’s there feel complete.
  • Building toward the original first-design vision for the project.
  • Alan: VFX for Rage and All-Rage attacks.
  • Noah: Encounter design and high-polish detail — bystanders, damage tuning, save point placement.
  • Nishant: Enemy attack polish, VFX.
  • Called it good on attack building — shifted fully to polish and feel.
  • Continued iterating on enemies and encounters; adding VFX to make combat feedback land cleanly.
WK
14
Week 14 • Final Goals
Attack Cancels, Final Mechanics & Detail Pass
  • Defined final goals: make all attacks cancellable after the first hit to prevent lock-in and support a down-based combo system.
  • No new mechanics — focus entirely on making existing systems feel complete.
  • Alan: Final VFX pass.
  • Noah: Encounter design and high-polish detail — bystanders, damage, mechanics.
  • Nishant: Enemy attacks, VFX.
WK
15
Week 15 • Tech Demo & Reflection
C(ombat)ANN Tech Demo — Build & Takeaways
  • After a semester of building, playtesting, and iterating, the C(ombat)ANN tech demo is complete and playable end-to-end.
  • Even though we faced a lot of setbacks during this project, our team walked away with valuable experience, from iteration and development processes to a much deeper understanding of what makes a combat game feel great. We ran into major issues with Perforce and Unreal that kept us from fully reaching the goals we originally set, but the knowledge we gained is something we can carry forward into future work. Moving forward, I want to take what I’ve learned and dive deeper into Unreal’s GAS system combined with C++. Using everything I picked up about combat design, along with the lessons from all the challenges we hit, I’m planning out a new project that I’ll be working on in my free time. It’s a way for me not just to fix the flaws from this project but also to build something stronger from the ground up, with everything I know now. Keep an eye out for Squirrel Souls!

Let’s Connect

Open to opportunities, collaborations, and interesting conversations.