Skip to main content

multiplayer

Multiplayer game development principles. Architecture, networking, synchronization.

Informations de source

Dépôt
skeletorflet/opencode-kit
Dernière activité de la source
31 mars 2026 à 19:12
Langue détectée de SKILL.md
anglais
Étoiles
9
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
multiplayer
description
Multiplayer game development principles. Architecture, networking, synchronization.
# 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.
Voir sur GitHub