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:
Lefteris Notas
2026-05-19 17:15:57 +03:00
parent b2b6e1e7c7
commit 8bc731e5ae
35 changed files with 1259 additions and 11 deletions

View File

@@ -109,3 +109,40 @@
---
*Developer Reference v1.0 — Categories 11-16 Systems. Companion to docs/blueprints/ specs.*
---
## Multiplayer Networking
### Category 11-12: Meta & Settings
| System | Authority |
|--------|-----------|
| `BPC_ProgressStatTracker` | Server accumulates; snapshot replicates for scoreboard |
| `SS_AchievementSystem` | Server validates unlocks; client receives unlock notifications |
| `BPC_AccessibilitySettings` | **Local per-client** each player's accessibility preferences |
| `SS_SettingsSystem` | Settings save per-client; key bindings are local |
### Category 13: Polish
| System | Authority |
|--------|-----------|
| `BPC_AnalyticsTracker` | **Local only** per-client telemetry |
| `BPC_DevCheatManager` | **Local only** but cheats that affect world must be server-validated |
| `BPC_ErrorHandler` | **Local only** per-client error handling |
| `BPC_FPSCounter` | **Local only** per-client performance |
| `BPC_LoadingScreen` | **Local only** but sync'd via GamePhase |
| `BPC_TutorialSystem` | **Local per-client** tutorial progression is per-player |
| `WBP_CreditsScreen`, `WBP_DebugMenu`, `WBP_SplashScreen` | **Local only** |
### Category 14: Data Assets
All `DA_*` Data Assets are **read-only configuration** loaded identically on all clients. No replication needed.
### Category 15: Input
| System | Authority |
|--------|-----------|
| `SS_EnhancedInputManager` | **Local per-client.** Input mapping contexts, key rebinding, and input mode are per-player. Context priority stack is per-client. |
### Category 16: State Management
| System | Authority |
|--------|-----------|
| `BPC_StateManager` | **Server-authoritative.** All state change requests go through server. `IsActionPermitted()` is read-only safe for client prediction. `RequestStateChange()` must be server-validated. |
| `DA_StateGatingTable` | Read-only Data Asset identical on all clients. Server uses it for validation; clients use it for prediction of gating results. |