@@ -578,76 +578,30 @@ keywords: "game development, game loop, physics engine, rendering, game AI, audi
578578 ```
579579-
580580- # Multiplayer & Networking
581- collapsed:: true
582- - ## Network Architectures
583- collapsed:: true
584- - ```
585- Client-Server:
586- - Authoritative server — server owns game state
587- - Clients send inputs, server validates and broadcasts state
588- - Prevents cheating, but adds latency
589- - Used in: most online games (FPS, MMO)
590-
591- Peer-to-Peer (P2P):
592- - All clients communicate directly
593- - Lower latency, no server cost
594- - Hard to prevent cheating
595- - Used in: fighting games, small lobbies
596-
597- Lockstep:
598- - All clients simulate identically
599- - Only inputs are sent, not state
600- - Requires deterministic simulation
601- - Used in: RTS games
602- ```
603- -
604- - ## Lag Compensation Techniques
605- collapsed:: true
606- - ```
607- Client-Side Prediction:
608- - Client applies input immediately (don't wait for server)
609- - Server confirms or corrects
610- - Feels responsive even with 100ms ping
611-
612- Server Reconciliation:
613- - Client keeps history of inputs
614- - When server correction arrives, re-simulate from that point
615-
616- Entity Interpolation:
617- - Render other players slightly in the past
618- - Smooth movement despite packet jitter
619-
620- Dead Reckoning:
621- - Predict entity position based on last known velocity
622- - Correct when new data arrives
623- ```
624- -
625- - ## Matchmaking & Anti-Cheat
626- collapsed:: true
627- - ```
628- Matchmaking:
629- - Algorithms pairing players by skill (ELO, TrueSkill) and network latency.
630- - Dedicated lobby services and backend databases tracking historical MM ratings.
631-
632- Anti-Cheat Systems:
633- - Client Side: Services like Easy Anti-Cheat (EAC) or BattlEye inspecting memory for unauthorized DLL injection.
634- - Server Side: Strict authoritative prediction avoiding trusting the client on movement limits or line-of-sight.
635- ```
581+ - collapsed:: true
582+ > [!info] Dedicated Page Available
583+ > This is an overview only. For the full deep-dive see [[Multiplayer Networking]] which covers:
584+ > Client-Server, P2P, Lockstep, Rollback (GGPO), lag compensation, entity interpolation, dead reckoning, tick rate, clock sync, delta compression, NAT traversal, matchmaking (ELO/TrueSkill), anti-cheat, relay servers, and production infrastructure — with full C++/GDScript code examples.
636585 -
637- - ## Protocols
586+ - ## Quick Reference
638587 collapsed:: true
639588 - ```
640- TCP — Reliable, ordered, connection-based. Higher latency.
641- Used for: chat, login, non-time-critical data.
589+ Architectures:
590+ Client-Server (Authoritative) — Server owns game state. Standard for FPS/MMO.
591+ Peer-to-Peer (P2P) — Lower latency, harder to secure. Fighting games.
592+ Lockstep — Only inputs sent. Requires determinism. RTS.
593+ Rollback Netcode (GGPO) — P2P with speculative simulation. Fighting games.
642594
643- UDP — Unreliable, unordered, connectionless. Low latency.
644- Used for: game state, position updates.
595+ Transport:
596+ TCP — Reliable, ordered. Use for: login, chat, events.
597+ UDP — Low latency. Use for: game state, positions.
598+ RUDP — Reliable UDP (ENet, GameNetworkingSockets). Best of both.
645599
646- RUDP (Reliable UDP) — Custom reliability on top of UDP.
647- Libraries: ENet, GameNetworkingSockets (Valve), KCP .
648-
649- WebSocket — TCP-based, works in browsers. Used for web games .
650- WebRTC — P2P in browsers. Used for browser multiplayer .
600+ Lag Compensation:
601+ Client-Side Prediction — Apply input immediately, reconcile on server correction .
602+ Entity Interpolation — Render others 100ms in the past (smooth + accurate).
603+ Dead Reckoning — Predict position from last known velocity .
604+ Lag Compensation Raycast — Server rewinds time to validate hitscan shots .
651605 ```
652606-
653607- # Audio in Games
@@ -984,7 +938,6 @@ keywords: "game development, game loop, physics engine, rendering, game AI, audi
984938 ```
985939-
986940- # Libs, Tools & Resources
987- collapsed:: true
988941 - ## Graphics APIs
989942 - [Vulkan](https://www.vulkan.org/) — Low-level GPU API. Maximum control and performance.
990943 - [OpenGL](https://www.opengl.org/) — Classic cross-platform GPU API. Good for learning.
@@ -1009,13 +962,4 @@ keywords: "game development, game loop, physics engine, rendering, game AI, audi
1009962 - [Vulkan Tutorial](https://vulkan-tutorial.com/) — Step-by-step Vulkan guide.
1010963 - [The Cherno (YouTube)](https://www.youtube.com/@TheCherno) — Game engine from scratch in C++.
1011964 -
1012- - ## Related Pages
1013- - [[Godot]] — Godot engine deep dive
1014- - [[PathTracer Learning]] — GPU path tracing, Vulkan RT, rendering research
1015- - [[C++]] — C++ for game/engine development
1016- - [[Binary Space Partitioning]] — Spatial data structure for rendering
1017- - [[Bevy]] — Rust ECS game engine
1018- - [[Unity]] — Unity engine reference
1019- - [[Unreal Engine]] — Unreal Engine reference
1020- - [[Game Systems]] — Inventory, Quest, Dialogue, Save/Load, Achievements & Procedural Generation
1021965-
0 commit comments