Browse Source

Delete game/systems/CAPTURE_SYSTEM.md

Adam Djellouli 2 months ago
parent
commit
a698e4dd59
1 changed files with 0 additions and 134 deletions
  1. 0 134
      game/systems/CAPTURE_SYSTEM.md

+ 0 - 134
game/systems/CAPTURE_SYSTEM.md

@@ -1,134 +0,0 @@
-# Barrack Capture System Documentation
-
-## Overview
-The barrack capture system allows players to take control of neutral or enemy barracks by maintaining a sufficient troop presence near them. This system includes visual feedback through progress bars and flag animations.
-
-## Components
-
-### CaptureComponent
-Added to barracks to track capture progress:
-- `capturingPlayerId`: ID of the player attempting capture (-1 if none)
-- `captureProgress`: Time accumulated towards capture (seconds)
-- `requiredTime`: Total time needed to complete capture (default: 5.0 seconds)
-- `isBeingCaptured`: Boolean flag indicating active capture
-
-### BarrackCapturedEvent
-Event published when a barrack is captured:
-- `barrackId`: Entity ID of the captured barrack
-- `previousOwnerId`: Previous owner ID
-- `newOwnerId`: New owner ID
-
-## Capture Mechanics
-
-### Requirements
-To initiate capture, a player must have:
-1. **3× troop advantage** within the capture radius
-2. Continuous presence for the `requiredTime` duration
-
-### Capture Radius
-- Default: **8.0 units** from barrack center
-- All troops within this radius are counted
-
-### Capture Process
-1. System checks for troops near each barrack every frame
-2. Counts troops for all players within capture radius
-3. If any player has 3× more troops than defenders:
-   - Capture progress accumulates
-   - Visual progress bar appears
-   - Flag begins color transition animation
-4. When `captureProgress` reaches `requiredTime`:
-   - Ownership transfers to capturing player
-   - Production component added (if capturing to non-neutral)
-   - Building color updated
-   - BarrackCapturedEvent published
-
-### Capture Interruption
-If troop advantage is lost:
-- Progress decays at 2× the accumulation rate
-- Visual indicators fade
-- If progress reaches zero, capture attempt resets
-
-## Visual Feedback
-
-### Progress Bar
-- Appears above the barrack during capture
-- Golden/yellow color (RGB: 0.95, 0.75, 0.15)
-- Shows percentage of capture completion
-- Position: Above health bar
-
-### Flag Animation
-During capture, the flag:
-1. **Lowers** progressively (up to 30% of height)
-2. **Color transitions** from current owner to capturing player
-3. **Size shrinks** slightly (up to 20% reduction)
-4. Returns to normal when capture completes
-
-### Color Coding
-- **Neutral barracks**: Gray (RGB: 0.5, 0.5, 0.5)
-- **Player-owned**: Team color from `teamColorForOwner()`
-- **Transitioning**: Interpolated between old and new colors
-
-## Integration
-
-### CaptureSystem
-- Runs every frame as part of the game loop
-- Processes all barracks with BuildingComponent
-- Automatically adds CaptureComponent if missing
-- Updates ownership through BuildingCollisionRegistry
-
-### Production Component Management
-On capture:
-- **Neutral → Player**: Adds ProductionComponent with default settings
-  - Product type: "archer"
-  - Build time: 10.0 seconds
-  - Max units: 150
-  - Rally point: 4 units east, 2 units south of barrack
-- **Player → Neutral**: Removes ProductionComponent
-- **Player → Player**: Keeps existing ProductionComponent
-
-### AI Integration
-The AI system can trigger captures automatically:
-- During attack behaviors when troops cluster near barracks
-- No specific capture AI behavior yet (future enhancement)
-- Works with existing attack and movement commands
-
-## Serialization
-CaptureComponent state is fully serialized:
-- Save games preserve ongoing capture attempts
-- Progress and capturing player ID are restored
-- Compatible with existing save/load system
-
-## Testing
-
-### Test Map
-`assets/maps/barrack_capture_test.json` provides:
-- Player 1 with 6 archers near neutral barrack at (50, 60)
-- Player 2 with 3 archers, insufficient for capture
-- Multiple barracks for testing various scenarios
-
-### Debug Logging
-Capture events print to console:
-```
-[Capture] Barrack <ID> captured! Previous owner: <X>, New owner: <Y>
-```
-
-## Configuration Constants
-
-All constants in `CaptureSystem::processBarrackCapture()`:
-```cpp
-constexpr float CAPTURE_RADIUS = 8.0f;           // Detection radius
-constexpr int TROOP_ADVANTAGE_MULTIPLIER = 3;    // Required superiority
-```
-
-In `CaptureComponent`:
-```cpp
-float requiredTime = 5.0f;  // Time to capture (seconds)
-```
-
-## Future Enhancements
-- Dedicated AI capture behavior
-- Configurable capture requirements per map
-- Capture prevention mechanics (garrison troops)
-- Capture speed modifiers based on troop types
-- Audio cues for capture start/complete
-- UI notifications for capture events