← Back SystemFlare — GDD
Physics & Combat Systems Review

SystemFlare
Design Document

A soft-capped momentum model built for fluid, high-velocity gameplay. All systems derived from a single Terminal Velocity master value.

13Systems
60 AU/sTerminal Velocity
7Velocity Caps
v0.9Revision
§ 01Core Movement EngineLogic Sound

Built on a soft-capped momentum model. Velocity is never abruptly zeroed or hard-clamped mid-chain — every domain has a ceiling that acceleration asymptotically approaches.

Velocity Tiers
Base
10 AU/s
Chained
25 AU/s
High
45 AU/s
Terminal
60 AU/s
Soft Cap Behavior
Speed ZoneAccel ScaleFeel
Below Chained100%Responsive, snappy
Chained → High~40%Building momentum
High → Terminal~10%Pushing the limit
At Terminal0%Maximum velocity locked
Momentum Chaining
ChainResultVelocity Behaviour
Dash → SlideHorizontal thrust into extended slideCarries magnitude, soft-capped at High
Slide → JumpMax speed preserved mid-airCarries magnitude, cannot exceed Terminal
Air-strafeMinor directional correctionNo magnitude gain — direction shift only
Each transition must read the current velocity magnitude and carry it forward — never reset to base speed. Clamp against Terminal ceiling before applying to next state.
§ 02Dual-Mode Grappling HookLogic Sound
Mode A — Traversal

Anchoring to static geometry pulls the player forward. Swing arcs multiply velocity — capped at Terminal (60 AU/s) regardless of arc length.

Mode B — Object Whip

Anchoring to dynamic props locks it to the tether as a flail. Release launches it capped at Terminal × 1.5 = 90 AU/s.

ModeTargetSpeed CapPivot
A — TraversalStatic geometry60 AU/sWorld-space anchor
B — Object WhipDynamic props90 AU/sPlayer position each frame
Mode B angular velocity must be calculated relative to player's position each frame, not a world-space anchor.
§ 03Combat: Velocity-Scaled DamageLogic Sound
Damage Velocity² — evaluated against Terminal ceiling (60 AU/s)
TierRangeDamageKnockback
Low / Medium0 – 24 AU/sLowMinor
High25 – 44 AU/sHeavyMassive
Terminal45 – 60 AU/sInstant KillHigh-impact VFX
Object Damage Matrix
Object TypeLow VelocityHigh Velocity
BluntLight staggerHeavy damage + massive knockback
Sharp (flat)Light stagger + minor bluntModerate blunt + high knockback
Sharp (tip first)Minor piercingSevere piercing / cleave
Sharp vs. Flat — Dot Product
Vector A = shard tip direction (forward axis) Vector B = shard velocity vector dot(A, B) near 1.0 → tip leading → Sharp / Piercing dot(A, B) near 0 or -1 → flat leading → Blunt + Knockback
Grapple-whip should naturally trail the shard so tip faces forward on a clean throw — making sharp damage the rewarding skilled outcome.
§ 04Throw Mechanics — Freeze and ProjectLogic Sound
// Step 1 — Capture scalar magnitude speed = clamp(totalBuiltUpSpeed, 0, ObjectMaxLaunchSpeed) // Orbital direction DISCARDED // Step 2 — Project along camera vector launchVelocity = cameraLookVector * speed
ScenarioResultWhy
Erratic wiggleWeak throwLow scalar magnitude — vectors cancel
Committed flickMax-speed accurate throwHigh scalar, fires down sights
Back-and-forth inputsNear-zero magnitude+X and −X cancel mathematically
§ 05Mid-Air Catch & DeflectionLogic Sound
Option A — Kinetic Re-Route
RawLaunchVelocity = V_incoming + V_player TotalLaunchVelocity = min(RawLaunchVelocity, 120) // Terminal × 2.0
Option B — Kinetic Skid
Incoming MomentumResult
Low / MediumClean catch — capsule dampens instantly
High / TerminalObject stops relative to player; kinetic energy shoves capsule into auto backward skid
Define a clear catch window frame count. Skid duration proportional to incoming momentum — not a fixed timer.
§ 06Active Ragdoll & Damage ReactionsLogic Sound
Impact TypePhysical ResponseInput State
Blunt / FallFull ragdoll, auto-recoveryInputs disabled during ragdoll only
Sharp penetrationMicro-stagger onlyInputs uninterrupted
High-vel kinetic stompFull ragdoll (if not death)Inputs disabled
Lock inputs during tumble only — not the stand-up transition. Over-extending the lock makes recovery feel sluggish.
§ 07Player-to-Player Tether DynamicsLogic Sound
  • Velocity Priority: Higher kinetic energy player dictates the pull vector.
  • Asymmetric LoS: Only initiator must maintain line-of-sight. Target cannot break link by looking away.
  • Tether Break: Snaps if initiator loses LoS, or target dashes in exact opposite direction of pull.
  • Ragdoll Restriction: Full physics-whipping only possible when target is already ragdolled.
  • Tiebreaker: Equal velocity → initiator wins. Rewards the skill-shot of landing the grapple.
§ 08Kinetic Rail-ShardLogic Sound
PropertyValue
ChargeHold secondary — hovers shard in front of player
ReleaseHigh-velocity, near-zero drop projectile
Velocity InheritanceInherits player kinetic energy at release
Speed CapTerminal × 1.25 = 75 AU/s
Hit BehaviorAlways tip-first — severe piercing + micro-stagger
Ragdoll InteractionBypasses ragdoll state entirely
A stationary player's rail-shard is notably weaker — prevents camping. Near-instant-kill at terminal is via damage scaling, not arbitrary speed.
§ 09Inventory & Input ArchitectureLogic Sound
Passive
Grappling Hook
Dedicated Key · Instant from any state
Dynamic
Held Debris / Prop
Primary Fire · No equip delay
Ability
Kinetic Rail-Shard
Ability Key · Returns instantly on release
No weapon swap delays. Any equip latency would break movement chains. Non-negotiable.
§ 10Whip Targeting — Tangential AssistLogic Sound

A look-cone check scans for targets on release. If found, micro-delays release (sub-100ms) until trajectory aligns with target. If no target — instant free-throw with zero delay.

  • Zero Frame Delay: Object released the exact millisecond the player lets go when no target is in cone.
  • Pure Tangential Release: Flies in a straight line from exact orbital velocity at that frame.
  • Skill Utility: Throw cover ahead, smash distant barriers, clear paths.
Micro-delay must be sub-100ms and capped to one swing cycle. Never holds release unconditionally.
§ 11Prop Retention — Soft FlopLogic Sound

Projectiles below minimum kinetic threshold do not despawn. They fall nearby as active physics props — re-tetherable or launchable via shockwaves.

Implement a despawn timer or count limit to prevent arena clutter in long matches.
§ 12Sensory Feedback & PolishLogic Sound
Visual
  • FOV Scaling: Base → no change, Terminal → max +15°. Capped at Terminal.
  • Wind Streaks: Particles activate at High tier, intensify at Terminal.
  • Crosshair Flare: Expands at Terminal velocity as kinetic stomp indicator.
  • Stun Filter: Full monochrome on blunt knockdown, flashes back on recovery.
Audio
  • Speed Threshold: Ambient ducks at max velocity → wind-rush soundscape.
  • High-speed Impact: High-bass structural cue.
  • Stun State: Ambient replaced by low-frequency muffled heartbeat.
  • Kinetic Skid: Heartbeat pulse + mechanical dampening screech.
Destructible Geometry
Post-launch feature. Requires Voronoi / pre-fractured mesh system. Use placeholder non-shattering barriers during development.
§ 13Stun State — Full SequenceLogic Sound
StepEvent
1Blunt knockdown — all combat UI suppressed instantly
2Screen goes monochrome
3Capsule enters physics tumbling — inputs locked
4Stabilization meter appears (synced to heartbeat)
5Window elapses — screen regains full colour
6Audio returns to normal
7Capsule forces upright — movement re-enabled immediately
Fixed stun window — variable-length stuns feel unfair. A consistent window transforms it from punishment into a learnable skill mechanic.
§ 14Velocity Cap Reference TableMaster Table

Terminal Velocity is the master value. All other caps are multipliers of Terminal — changing one number rebalances everything.

Base Move
10 AU/s
Chained
25 AU/s
High
45 AU/s
Terminal ★
60 AU/s
Whip Cap
90 AU/s
Rail-Shard
75 AU/s
Counter-Throw
120 AU/s
Cap NameValueMultiplierGoverns
Base Move Speed10 AU/sDefault grounded movement
Chained Speed25 AU/sSustained momentum chains
High Speed45 AU/sDash-slide sequences
Terminal Velocity ★60 AU/sT × 1.0Absolute player ceiling
Whip Launch Cap90 AU/sT × 1.5Max thrown prop speed
Rail-Shard Cap75 AU/sT × 1.25Max rail-shard flight speed
Counter-Throw Cap120 AU/sT × 2.0Max re-routed catch speed