Guide

Game charge attack systems explained

Harbor Ruins shipped a greatsword with a hold-to-swing heavy attack that nobody used. Playtest logs showed players tapping the button once, eating a full boss combo, and switching back to the fast sword. The charge window was invisible, releasing early did less damage than a light jab, and holding to max tier left the player rooted for 1.4 seconds with no armor frames. After a refactor — three visible charge tiers with audio ticks, partial charge still beating lights on damage-per-second, and super-armor only on the final 200 ms before release — greatsword pick rate in the frost-knight encounter rose from 8% to 34%, and average attempt time dropped by 22%. Charge attacks ask players to trade mobility and safety for burst payoff. Done well, they create readable risk-reward beats; done poorly, they feel like self-inflicted stun.

A charge attack system measures how long an input is held (or how far a stick is pulled back) and maps that duration to escalating attack properties — damage, range, knockback, projectile speed, or status buildup. The pattern appears in action RPG heavies, fighting-game specials, bow draw mechanics, and mobile skill holds. This guide covers charge state machines, tier curves and release timing, interrupt and cancel rules, telegraphs and feedback, stamina and resource gates, the Harbor Ruins greatsword refactor, a technique decision table vs combo strings and super meters, pitfalls, and a production checklist — building on our melee combat systems explainer.

What counts as a charge attack

Charge attacks share a core loop: press and hold an input, enter a charging state, then release (or auto-fire at max) to execute an attack whose potency depends on charge level. Variants include:

  • Hold-to-release melee — greatsword overhead, hammer slam, spear thrust. Charge time sets damage tier and often animation variant.
  • Draw-and-fire ranged — bow draw, charged magic bolt, slingshot pull. Charge affects projectile speed, pierce, or explosion radius.
  • Fighting-game charge specials — hold back then forward plus punch (Sonic Boom-style) or hold button for delayed release (Guile flash kick).
  • Auto-max charges — hold until a timer completes, then attack fires automatically; common on mobile where release precision is awkward.
  • Negative edge / release-only — attack triggers on button release after a minimum hold; prevents accidental taps from wasting charge.

Charge attacks are not the same as cooldown abilities (fixed potency after a timer), combo finishers (position in a string), or meter spenders (binary on/off). They are continuous mappings from hold duration to outcome.

Charge state machine essentials

Most implementations use a small finite-state machine per weapon or ability slot:

  1. Idle — awaiting attack input.
  2. Wind-up / charge start — button held past debounce; character enters charging pose; tier index = 0.
  3. Charging — each frame increments chargeTime; when thresholds cross, advance tier and fire feedback (VFX pulse, audio tick).
  4. Release — button up selects attack variant for current tier; transition to active hitbox frames.
  5. Recovery — endlag after active frames; cannot re-charge until recovery ends (unless cancels allow).

Edge cases to model explicitly:

  • Tap below minimum — treat as light attack or ignore; never whiff silently.
  • Max hold — auto-release at tier cap, or overcharge decay (tier drops) to punish infinite camping.
  • Input buffer on release — queue dodge or parry during last 100 ms of charge so players are not trapped.
  • Charge while moving — reduce speed multiplier per tier; some games root entirely at tier 2+.

Tier curves: damage, speed, and fairness

Flat linear scaling (2× damage at 2× time) rarely feels good. Players want early tiers to be usable and max tier to be decisive. Common curve shapes:

Tier Hold time (example) Damage multiplier Design intent
0 (tap) < 0.15 s 1.0× (light) No punishment for mis-tap; fallback to fast attack.
1 0.15–0.40 s 1.4× Quick punish; beats light DPS if landed.
2 0.40–0.80 s 2.0× Standard heavy; trade window vs enemy swing.
3 (max) 0.80–1.20 s 3.2× Boss stagger or shield break; needs telegraph fairness.

Balance with damage per second, not peak number: a 3.2× hit that takes 1.2 s to launch should outperform spamming lights over the same window when it connects — otherwise rational players ignore charge. Pair max tier with bonus effects: guard break, extended hitstop, or bonus knockback so payoff is multidimensional.

Interrupts, armor, and cancel rules

Charge attacks are vulnerable by design. Clarify what can interrupt each phase:

During charge (pre-release)

  • Full interrupt — any hit flinches and resets charge. High risk, high reward.
  • Hyper armor / super armor — absorb N hits or X damage before flinch; use sparingly on late tiers only.
  • Poise-based — charge adds poise; heavy hits still break. Ties into stagger systems.

On release (active frames)

  • Active frames often inherit attack-type armor (e.g. tier-3 greatsword swing is uninterruptible except by boss attacks).
  • Whiffed max charge should have long recovery — the classic punish window.

Cancels

  • Dodge cancel from tier 1 only — escape bait without full payoff.
  • Jump cancel in platform fighters — movement mix-up.
  • No cancel at tier 3 — commits player to the read.

Harbor Ruins grants super-armor only during the last 200 ms before tier-3 release, telegraphed by a bright edge glow so enemies (and PvP opponents) know the commit point.

Telegraphs, feedback, and readability

Players cannot time releases they cannot see. Minimum feedback set:

  • Character pose progression — stance lowers, weapon pulls back, glow intensifies per tier.
  • Audio ticks — one distinct sound per tier; max tier gets a pitch shift or chord.
  • UI meter — optional ring or bar; keep it near the character, not only in HUD corner.
  • Camera — subtle zoom or FOV tighten at high tier; avoid motion sickness.
  • Enemy tell response — AI should react to visible charge (block, dodge, interrupt) so players learn timing.

For PvE, enemies need counterplay windows: a boss should not randomly hit you during a 1.2 s charge unless the arena demands movement. Prefer bosses with clear wind-ups that charge attacks can trade into — tying charge design to attack telegraphing.

Resource gates: stamina, ammo, and cooldowns

Unlimited free charging encourages camping. Common gates:

  • Stamina drain per second while charging — release or drop to idle when empty.
  • Stamina cost on release — flat cost scaled by tier.
  • Ammo / mana for charged shots — tier 3 bow shot costs two arrows.
  • Cooldown after max tier — prevents loop of only charged heavies.

Integrate with stamina systems so charge competes with dodge and sprint for the same pool.

Harbor Ruins greatsword refactor (worked example)

Problem: Single hidden charge threshold, no partial reward, full root during hold, no armor — greatsword DPS and pick rate bottomed out.

Changes:

  1. Three tiers at 0.25 s / 0.55 s / 0.95 s with distinct swing animations.
  2. Tier 1 damage bumped to 1.5× light — viable quick punish.
  3. Movement at 70% speed while charging tiers 1–2; root only at tier 3 wind-up.
  4. Audio metronome ticks + blade glow synced to tier transitions.
  5. Super-armor on final 200 ms of tier 3 only; chip damage still applies.
  6. Dodge cancel allowed from tiers 1–2 with 80% stamina refund.
  7. Frost-knight AI tuned to block tier 2, attempt interrupt on unarmored charge.

Result: Greatsword became a deliberate trade weapon instead of a trap option. Charge attacks now fill the role between combo pressure and parry punishes.

Technique decision table

When charge attacks fit Prefer something else
Slow weapons needing burst identity (greatsword, hammer, bow) Fast weapons where DPS comes from combo strings
Teachable risk-reward in boss openings Constant pressure metas where standing still loses
Ranged weapons needing aim tension Hitscan weapons better served by recoil/spread tuning
Fighting-game zoning specials with input skill One-button supers better as meter spenders
Mobile games with simple hold gestures Frame-perfect fighters needing frame data clarity

Common pitfalls

  • Invisible charge — no audio or pose change; players release randomly.
  • Partial charge useless — early release weaker than tapping; everyone waits for max or ignores the button.
  • Infinite hold camping — no max tier or decay; PvP stalls.
  • Full-root entire charge — feels like lag in hectic fights.
  • Armor on entire charge — removes risk; enemies cannot counter.
  • Whiff recovery too short — max charge never punishable.
  • Netcode ignores charge level — remote players see wrong tier; desync damage.
  • Accessibility ignored — no hold-to-toggle or auto-tier option for motor impairments.

Production checklist

  • Define tier count, hold thresholds, and damage multipliers in data tables.
  • Implement charge FSM with tap fallback, max auto-release, and overcharge rule.
  • Author per-tier animations, hitboxes, and SFX ticks.
  • Specify interrupt, armor, and cancel rules per tier and phase.
  • Gate with stamina, ammo, or cooldown as appropriate.
  • Tune enemy AI to respond to visible charge states.
  • Verify damage-per-second beats lights when charged hits land in playtests.
  • Sync charge level across network; serialize tier on release event.
  • Add accessibility: hold toggle, charge assist, or simplified two-tier mode.
  • Log tier distribution and whiff rate to catch ignored charge attacks.

Key takeaways

  • Charge attacks map hold duration to escalating potency — damage, range, knockback, or projectile behavior.
  • Partial tiers must be worth releasing; max tier must justify the vulnerability window.
  • Readable feedback (pose, audio, UI) is non-negotiable — invisible charge reads as broken input.
  • Interrupt and armor rules define the risk-reward; armor on the whole charge removes counterplay.
  • Harbor Ruins tripled greatsword use after tiered charges, movement during low tiers, and late super-armor only.

Related reading