Production context
Canonical source
GDD/01-Gameplay/03-Combat-System.mdDecision markers2 confirmed · 4 recommendations · 3 TBD
Browser document roleRead-only production view; edit the GDD source or this generated system through the project workflow.
Verified implementation evidence
Source/Lambeer/Character/LambeerAimComponent.*Source/Lambeer/GAS/LambeerInstantDamageGameplayEffect.*Source/Lambeer/GAS/LambeerAttributeSet.*
Relationships
Document contract coverage
Use these required Feature Specification areas during review. The imported GDD below is canonical; items not stated explicitly remain unresolved.
- ReviewPurpose & Player Value
- ReviewScope
- ReviewOut of Scope
- ReviewTerminology
- ReviewFunctional Behavior
- ReviewStates & Flows
- ReviewRules & Edge Cases
- ReviewDependencies
- ReviewAcceptance Criteria
- ReviewOpen Questions
Canonical GDD content
Combat is balanced gun + melee — [CONFIRMED]. Both are first-class; the player constantly switches based on ammo, range, and threat. All combat is server-authoritative.
Camera & aiming
- Third-person over-shoulder with three aim modes (see 02-Player-Character.md): HipRelaxed (weapon down), ShoulderAim (hold), ADS (toggle).
- Spread, movement speed penalty, and camera interp all key off replicated aim mode (
ULambeerAimComponent).
| Aim mode | Spread (relative) | Movement | Notes |
|---|---|---|---|
| HipRelaxed | Widest (hip) | Fastest while armed | Default when not holding shoulder aim; weapon lowered |
| ShoulderAim | Medium | Moderate penalty | Hold input; weapon raised, not full ADS |
| ADS | Tightest | Slowest | Toggle; full precision option |
- [RECOMMENDATION] subtle aim assist for controller in ShoulderAim/ADS only; mouse is raw.
Gunplay
Firing model — [RECOMMENDATION]
- Hitscan for most firearms in v1 (simpler, cheaper to network, fine at our ranges).
- Projectile/ballistics (bullet drop, travel time) reserved for long-range weapons (e.g., sniper) or a later phase. Decide per-weapon via a data field, not hard-coded.
Per-weapon data (data-driven)
Each firearm is defined by a DataAsset/DataTable row, not a unique class. Fields:
| Field | Example |
|---|---|
| Damage, falloff curve | 35 dmg, falloff over distance |
| Fire mode(s) | semi / burst / auto |
| RPM | rounds per minute |
| Magazine size, reserve | 30 / 120 |
| Recoil pattern | curve / vector sequence |
| Spread (hip relaxed / shoulder / ADS) | degrees per aim mode |
| Ammo type | links to ammo item |
| Attachment slots | optic, muzzle, mag, grip, stock, laser — see 09-Weapon-Customization.md |
Damage & hit zones
- Locational damage: headshot multiplier, limb multipliers.
- Zombies have weak points (e.g., head); some boss zombies have armor/weak-point mechanics. See ../03-Enemies/01-Zombie-Design.md.
Recoil & feedback
- Deterministic recoil pattern + small random bloom; recoil recovers when not firing.
- Strong hit feedback: hitmarkers, impact VFX/decals, world blood splatter, audio. Feedback quality is a pillar (readable combat). Persistent stains on gear/bodies and the local HUD blood overlay are specified in 10-Blood-Visual.md — visual only; gameplay effects [TBD].
Melee
- Light attack, heavy attack, block/parry [RECOMMENDATION], shove/kick to create space.
- Stamina-gated: attacks and blocks cost stamina.
- Melee matters because ammo is scarce (full-loot economy) — it's the reliable fallback, not a last resort.
- Melee weapons are also data-driven (damage, speed, stamina cost, durability).
- Successful melee hits that deal damage to living targets stain the striking item (or fists/gloves/shoes) and the victim. See 10-Blood-Visual.md.
Ammo, magazines & durability
- Ammo is a crafted/looted item with weight; ammo scarcity drives the gun↔melee balance.
- Magazines are items that hold ammo (Tarkov-like). The player loads ammo into a mag, then installs the mag. Magazines do not stack; partial fills persist; mixed compatible ammo types in one mag are allowed. The firearm has a chambered round separate from the mag, plus check / charge / bolt-release handling. Full rules: 09-Weapon-Customization.md.
- Durability on firearms and tools is [CONFIRMED]. Use reduces durability. There is no dirt system. Repair uses a gun repair kit and/or salvaged family parts (e.g. AR → AR parts). See 09-Weapon-Customization.md. Blood stains: 10-Blood-Visual.md.
Networking notes
- Server is authoritative for damage, ammo, and hit validation.
- Client-side prediction for responsiveness (firing feedback) with server reconciliation.
- [RISK] lag compensation / hit registration for ~40–60 players is non-trivial; budget time for it. See ../04-Multiplayer/01-Network-Architecture.md.
- Anti-cheat sensitive: never trust client-reported hits/damage. [TBD] anti-cheat solution.
Implementation guidance
UCombatComponenton the character orchestrates firing/melee; weapon behavior driven by weapon data + a weapon actor/instance (including chamber, mag, and replicated attachments).- Back weapon slots 1–2 (inventory UI) are the holstered firearm/melee on the character back. Drawing them into hands is [TBD] (binds and combat component).
- [RECOMMENDATION] model damage, health, stamina, and buffs through GAS (GameplayEffects for damage and status), which cleanly supports the boss permanent-buff system. See 07-Crafting-and-Progression.md and ../05-Technical/01-Tech-Stack-and-Engine.md.