> multiplayer
Multiplayer game development principles. Architecture, networking, synchronization.
curl "https://skillshub.wtf/sickn33/antigravity-awesome-skills/multiplayer?format=md"Multiplayer 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.
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
> related_skills --same-repo
> zustand-store-ts
Create Zustand stores following established patterns with proper TypeScript types and middleware.
> zoom-automation
Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.
> zoho-crm-automation
Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.
> zod-validation-expert
Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.