feat: Add multiplayer networking architecture and documentation updates
- Updated Master Blueprint Index to include Multiplayer Networking support. - Added detailed Multiplayer Networking sections across all developer documentation (01-11). - Introduced authority maps, key patterns, and RPC guidelines for each system. - Established a comprehensive multiplayer networking architecture document outlining core principles, replication strategies, and anti-cheat considerations. - Enhanced UI documentation to clarify local-only behavior and binding to replicated dispatchers. - Implemented client prediction strategies and RPC naming conventions for consistency across the framework.
This commit is contained in:
@@ -321,6 +321,30 @@ flowchart TD
|
||||
- The LOS trace channel should be custom (e.g., DetectionChannel) to ignore small props.
|
||||
- Breath-hold mechanic adds depth to stealth gameplay near enemies.
|
||||
- For multiplayer: only the hiding player knows their state; other players see a generic "occupado" on the spot.
|
||||
|
||||
---
|
||||
|
||||
## 11. Multiplayer Networking (Expanded)
|
||||
|
||||
### Server RPCs
|
||||
| RPC | Direction | Description |
|
||||
|-----|-----------|-------------|
|
||||
| `Server_EnterHideSpot` | Client→Server | Client requests entering hide spot. Server validates slot availability, proximity. |
|
||||
| `Server_ExitHideSpot` | Client→Server | Client requests exiting. Server validates, teleports player, replicates. |
|
||||
| `Server_StartPeek` | Client→Server | Client starts peeking. Server validates peek ability, starts duration timer. |
|
||||
| `Server_StopPeek` | Client→Server | Client stops peeking. Server returns to Hidden state. |
|
||||
| `Server_TryBreathHold` | Client→Server | Client holds breath. Server validates, applies noise reduction on server. |
|
||||
|
||||
### Authority
|
||||
- `EnterHideSpot`, `ExitHideSpot` are server-authoritative.
|
||||
- `IsPlayerDetectable` is server-only — AI runs on server.
|
||||
- `PerformLOSCheck` runs on server; results multicast to clients for UI feedback.
|
||||
- `ForceKickFromHide` is server-only (triggered by enemy discovery / damage).
|
||||
|
||||
### Client Prediction
|
||||
- Enter/exit animations: client predicts; server confirms via replicated `CurrentHideState`.
|
||||
- Peek: camera offset is local; state replicated.
|
||||
- Hide spot occupation: `I_HidingSpot.OccupantPawn` is replicated — other clients see "Occupied".
|
||||
- Hide spots with bBlocksStress = true can double as narrative safe rooms.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user