rivet-dev/multiplayer-game

Modèles pragmatiques pour créer des jeux multijoueurs : matchmaking, boucles de tick, état en temps réel, gestion des intérêts et validation.

Qu'est-ce que multiplayer-game ?

Ce skill fournit des modèles pragmatiques et éprouvés pour la création de jeux multijoueurs. Il couvre les aspects essentiels du développement de jeux en réseau, notamment le matchmaking, les boucles de tick (tick loops), la gestion d'état en temps réel, la gestion des intérêts (interest management) et la validation des entrées. Conçu pour fonctionner avec des plateformes d'IA agent comme Claude Code, Cursor ou Codex, ce skill aide les développeurs à structurer leur logique réseau de manière efficace et scalable. En suivant ces patterns, les développeurs peuvent éviter les pièges courants du développement multijoueur et créer des expériences de jeu réactives et robustes.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rivet-dev/skills/tree/main/skills/multiplayer-game

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait multiplayer-game ?

Modèles pragmatiques pour créer des jeux multijoueurs : matchmaking, boucles de tick, état en temps réel, gestion des intérêts et validation.

Introduction

Ce guide présente des modèles de conception éprouvés pour le développement de jeux multijoueurs. Il aborde les sujets suivants :

  • Matchmaking : Appariement des joueurs en fonction de leurs compétences, de la latence ou d'autres critères.
  • Boucles de tick : Mise à jour régulière de l'état du jeu pour synchroniser les joueurs.
  • État en temps réel : Gestion et diffusion de l'état du jeu à tous les participants.
  • Gestion des intérêts : Optimisation du trafic réseau en ne transmettant que les informations pertinentes à chaque joueur.
  • Validation : Vérification des actions des joueurs pour prévenir la triche et garantir l'intégrité du jeu.

Prérequis

Avant d'utiliser ce skill, assurez-vous d'avoir :

  • Un environnement de développement compatible avec les agents IA (par exemple, Claude Code, Cursor, Codex).
  • Une connaissance de base des concepts de jeux multijoueurs.
  • Si nécessaire, un compte sur la plateforme Rivet (voir Rivet).

Utilisation

Pour utiliser ce skill, référencez-le dans votre configuration d'agent IA :

{
  "skills": ["rivet-dev/multiplayer-game"]
}

Ensuite, vous pouvez invoquer des commandes ou des fonctions spécifiques au développement multijoueur, par exemple :

  • init-matchmaking : pour configurer un système de matchmaking.
  • start-tick-loop : pour démarrer une boucle de tick.
  • sync-state : pour synchroniser l'état du jeu.
  • manage-interest : pour définir les zones d'intérêt.
  • validate-action : pour valider une action joueur.

Exemples

Exemple 1 : Matchmaking simple

from rivet multiplayer import matchmaking

# Configurer le matchmaking
matchmaking.configure(
    min_players=2,
    max_players=10,
    skill_based=True
)
# Lancer la recherche de partie
matchmaking.find_match()

Exemple 2 : Boucle de tick de base

const tickLoop = require('rivet-multiplayer/tick-loop');

tickLoop.start({
  tickRate: 20, // 20 ticks par seconde
  onTick: (deltaTime) => {
    // Mettre à jour l'état du jeu
    updateGameState(deltaTime);
    // Diffuser l'état aux clients
    broadcastState();
  }
});

Bonnes pratiques

  • Utilisez la gestion des intérêts pour réduire la bande passante et le CPU.
  • Validez toujours les entrées côté serveur pour éviter la triche.
  • Choisissez un taux de tick adapté à votre type de jeu (ex. 20 ticks/s pour un RTS, 60 ticks/s pour un FPS).
  • Testez avec une latence simulée pour garantir une expérience fluide.

Ressources

Licence

Ce skill est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

rivet-dev/rivetkit

RivetKit backend and Rivet Actor runtime guidance. Use for building, modifying, debugging, or testing Rivet Actors, registries, serverless/runner modes, deployment, or actor-based workflows.

rivet-dev/rivetkit-client-javascript

RivetKit JavaScript client guidance. Use for browser, Node.js, or Bun clients that connect to Rivet Actors with rivetkit/client, create clients, call actions, or manage connections.

rivet-dev/rivetkit-client-react

RivetKit React client guidance. Use for React apps that connect to Rivet Actors with @rivetkit/react, create hooks with createRivetKit, or manage realtime state with useActor.

rivet-dev/rivetkit-client-swift

RivetKit Swift client guidance. Use for Swift clients that connect to Rivet Actors with RivetKitClient, create actor handles, call actions, or manage connections.

rivet-dev/rivetkit-client-swiftui

RivetKit SwiftUI client guidance. Use for SwiftUI apps that connect to Rivet Actors with RivetKitSwiftUI, @Actor, rivetKit view modifiers, and SwiftUI bindings.

rivet-dev/sandbox-agent

Deploy, configure, and integrate Sandbox Agent - a universal API for orchestrating AI coding agents (Claude Code, Codex, OpenCode, Amp) in sandboxed environments. Use when setting up sandbox-agent server locally or in cloud sandboxes (E2B, Daytona, Docker), creating and managing agent sessions via SDK or API, streaming agent events and handling human-in-the-loop interactions, building chat UIs for coding agents, or understanding the universal schema for agent responses.

Skills associés