multiplayer
Scannednpx machina-cli add skill vudovn/antigravity-kit/multiplayer --openclawMultiplayer Game Development
Networking architecture and synchronization principles.
1. Architecture Selection
Decision Tree
What type of multiplayer?
│
├── Competitive / Real-time
│ └── Dedicated Server (authoritative)
│
├── Cooperative / Casual
│ └── Host-based (one player is server)
│
├── Turn-based
│ └── Client-server (simple)
│
└── Massive (MMO)
└── Distributed servers
Comparison
| Architecture | Latency | Cost | Security |
|---|---|---|---|
| Dedicated | Low | High | Strong |
| P2P | Variable | Low | Weak |
| Host-based | Medium | Low | Medium |
2. Synchronization Principles
State vs Input
| Approach | Sync What | Best For |
|---|---|---|
| State Sync | Game state | Simple, few objects |
| Input Sync | Player inputs | Action games |
| Hybrid | Both | Most games |
Lag Compensation
| Technique | Purpose |
|---|---|
| Prediction | Client predicts server |
| Interpolation | Smooth remote players |
| Reconciliation | Fix mispredictions |
| Lag compensation | Rewind for hit detection |
3. Network Optimization
Bandwidth Reduction
| Technique | Savings |
|---|---|
| Delta compression | Send only changes |
| Quantization | Reduce precision |
| Priority | Important data first |
| Area of interest | Only nearby entities |
Update Rates
| Type | Rate |
|---|---|
| Position | 20-60 Hz |
| Health | On change |
| Inventory | On change |
| Chat | On send |
4. Security Principles
Server Authority
Client: "I hit the enemy"
Server: Validate → did projectile actually hit?
→ was player in valid state?
→ was timing possible?
Anti-Cheat
| Cheat | Prevention |
|---|---|
| Speed hack | Server validates movement |
| Aimbot | Server validates sight line |
| Item dupe | Server owns inventory |
| Wall hack | Don't send hidden data |
5. Matchmaking
Considerations
| Factor | Impact |
|---|---|
| Skill | Fair matches |
| Latency | Playable connection |
| Wait time | Player patience |
| Party size | Group play |
6. Anti-Patterns
| ❌ Don't | ✅ Do |
|---|---|
| Trust the client | Server is authority |
| Send everything | Send only necessary |
| Ignore latency | Design for 100-200ms |
| Sync exact positions | Interpolate/predict |
Remember: Never trust the client. The server is the source of truth.
Source
git clone https://github.com/vudovn/antigravity-kit/blob/main/.agent/skills/game-development/multiplayer/SKILL.mdView on GitHub Overview
This skill covers how to architect multiplayer games, how to synchronize state across clients, and how to optimize network usage while guarding against cheating. It guides choosing between dedicated servers, host-based, client-server, or distributed architectures, and outlines practical patterns for latency, security, and matchmaking.
How This Skill Works
The skill guides you through selecting an architecture via a decision tree, then applying synchronization models (state, input, or hybrid) and lag compensation techniques. It also covers bandwidth reduction, update rate strategies, and security practices like server validation and anti-cheat. Finally, it highlights practical anti-patterns to avoid and how to tailor matchmaking for latency and fairness.
When to Use It
- Building a real-time competitive game requiring low latency and a centralized authoritative server.
- Creating a cooperative game with one player acting as server (host-based) to simplify hosting.
- Developing a turn-based title where a simple client-server model suffices.
- Scaling a game into MMO with distributed servers for scalability.
- Need to implement robust security and anti-cheat while optimizing bandwidth.
Quick Start
- Step 1: Define the game type (competitive, cooperative, turn-based, or MMO) and choose an architecture (dedicated, host-based, client-server, or distributed).
- Step 2: Select a synchronization strategy (state, input, or hybrid) and implement lag compensation techniques.
- Step 3: Apply bandwidth optimizations, establish server authority, and set up matchmaking and anti-cheat controls.
Best Practices
- Choose an authoritative server model and validate critical actions on the server.
- Prefer state or hybrid synchronization with lag compensation.
- Use delta compression, quantization, and area of interest to reduce bandwidth.
- Design for latency tolerance and interpolate/predict to smooth motion.
- Implement server-controlled logic and anti-cheat checks (server owns inventory, validates hits).
Example Use Cases
- Competitive shooter with a dedicated, authoritative server.
- Co-op game using host-based hosting to simplify session management.
- Turn-based strategy using a lightweight client-server model.
- MMO with distributed servers for load balancing and scalability.
- Anti-cheat implementation where the server validates movement, hits, and inventory.