
Le réseautage de jeux (AKA multijoueur Networking ou Netcode ) est la synchronisation de l'état de jeu et des événements entre plusieurs joueurs connectés sur le réseau. Il se concentre sur les défis inhérents aux jeux en ligne multijoueurs tels que la latence, la gigue et la perte de paquets, atténuant les algorithmes et techniques sophistiqués, notamment la prédiction, la rémunération, la réconciliation, l'interpolation et d'autres mécanismes. Il est également souvent profondément impliqué et intégré à d'autres systèmes de jeux tels que la physique, l'animation et le gameplay.
Articles
- 1500 archers sur un 28,8: programmation réseau dans l'âge des empires et au-delà - Mark Terrano, Paul Bettner.
- Blog d'Alvaro Jover-Alvarez - Divers articles sur Unreal Engine 5 Multiplayer par Alvaro Jover-Alvarez.
- Choisir TCP ou UDP: un guide pour les développeurs de jeux - Comparaison TCP vs UDP de base par Heroic Labs.
- Regard de près: l'expérience en ligne de Halo Infinite - Discuter des problèmes de Netcode et des atténuations de Richard Watson.
- N'utilisez pas Lockstep dans les jeux RTS - Comparaison des modèles Lockstep vs Client-Server Networking pour RTS.
- Ethernet vs WiFi - Connexion sur la comparaison WiFi vs Ethernet Metrics par Viscarious de Riot Games.
- Expliquer Netcode basé sur des retards et Rollback - Rollback Netcode pour les jeux de combat de Ricky Pusch.
- Multiplayeur à rythme rapide - prédiction, réconciliation, interpolation et compensation par Gabriel Gambetta.
- Fightin 'Words, Netcode - Articles expliquant comment les jeux de combat utilisent des délates basés sur les retards et Rollback.
- Combattre le décalage! L'astuce derrière Netcode à faible latence de GGPO - une explication de GGPO par Tony Cannon.
- Gaffer sur les jeux - les articles du protocole fiable-UDP et du réseau de jeux de jeux de Glenn Fiedler.
- Demystified de réseautage de jeu - Terminologie et concepts de réseautage de jeu de base de Ruoyu Sun.
- Architecture du serveur de jeux - Blog d'architecture de serveur de jeux multiplayeur de Matthew Walker.
- Réseautage de navigateur haute performance - Un livre en ligne gratuit sur les protocoles Web modernes par Ilya Grigorik.
- Comment un tireur tire - Analyse d'Armin Ronacher sur le mécanisme de tir de Battlefield 3 en multijoueur.
- Impact de la latence dans les réseaux sans fil pour les jeux multijoueurs en temps réel sur les appareils mobiles - un papier.
- Il est de HARE sur la programmation réseau - des articles de programmation de réseau détaillés de l'équipe de lièvre.
- Blog de Kieran Newland - Divers articles sur un réseautage multijoueur Unreal Engine 5 par Kieran Newland.
- Compensation en retard - Fair Play for All Pings - Un article expliquant la compensation de lag de LAG par Mitchell Robinson.
- Nat Punch-Through pour les jeux multijoueurs - Connectivité NAT et P2P par Keith Johnston.
- Netcode at Super Bit Machine: Multiplayer First - Series d'articles sur la pile Netcode d'Armajet par Nicola Geretti.
- Netcode a expliqué - concepts de réseautage de jeu avec des exemples de Chris "Battle (non) Sense" sur PC Gamer.
- Physique en réseau dans la réalité virtuelle - mise en réseau d'une pile de cubes avec Unity et Phyx de Glenn Fiedler.
- Réseautage d'un jeu au tour par tour - Netcode de synchronisation de l'État déterministe par Frédéric Kaczynski.
- Protocoles réseau - Un bref aperçu des protocoles de réseau de bas niveau de la pile de détruire tous les logiciels.
- Más Bandwidth - Le nouveau blog de Glenn Fiedler sur la programmation du réseau de jeux et l'ingénierie backend évolutive.
- Jetant un coup d'œil dans Netcode de Valorant - Présentation de Netcode et avantage de Peeker par Matt Dewet et David Straily.
- Modèle de réseau Quake 3 - Revue du code source de Fabien Sanglard sur le modèle de réseautage de Quake 3.
- Multijoueur en temps réel dans HTML5 - Développement de jeux multijoueur de Sven Bergström sur le Guide Web.
- Réplication dans les jeux en réseau - Les articles de réplication de Mikola Lysenko pour le multijoueur basé sur JavaScript.
- Rollback Networking in Inversus - Le post de Ryan Juckett sur un système de recul entre pairs en multijoueur.
- Blog Snapnet - Netcode Architectures (Lockstep, Rollback, Interpolation Snapshot, Tribes ') par Jay Mattis.
- Source Multiplayer Networking - Wiki de moteur source de Valve, y compris des sujets de réseautage de jeu avancées.
- Présentation de l'hôte de synchronisation - Un jeu de diapositives couvrant l'architecture de l'hôte Sync par Peter Kao à partir des jeux Insomniac.
- Tech-Stack des serveurs en ligne Ultima - un résumé de UO Tech-Stack de Raph Koster et Brian Crowder.
- Le cas du Quake Cheats - leçons de sécurité du modèle client-serveur à partir du logiciel Quake 1 par ID.
- L'architecture du réseau Doom III - Améliorations des architectures de réseau utilisées dans Quake III Arena.
- Netcode du pauvre - Code de projet et article de blog détaillé sur les défis de réseautage d'Evan Todd.
- Le modèle de réseautage des moteurs Tribes - Tribes I & II Modèle de réseautage de Mark Frohnmayer et Tim Gift.
- Compensation de décalage basée sur les tiques dans l'unité - Scénario de cas sur le tir avec une meilleure précision par Albin Corén.
- Unity Physics and Client-Side Prediction - Demo Project and How-To Blog Board par Joe Best-RotheRay.
- Unity Unet Hlapi et Steam P2P Networking - Exemple de projet et article de blog détaillé de Justin Rempel.
- Unreal Engine 1 Netcode - Document historique sur Netcode dans UE1 (et UNRARE TOURNAME) par Tim Sweeney.
- UNRARE MOTEUR 3 Réseautage et réplication - Réseaux de jeux UE3 historiques de l'ancien wiki.
- Unreal Engine 4 Framework & Network - un aperçu du cadre de réseautage de jeu Unreal de Nuno Afonso.
- Compendium de réseau multijoueur de moteur Unreal - Introduction au multijoueur Unreal par Cedric Neukirchen.
- Serveurs 128-Tick de Valorant - Techniques d'optimisation d'exécution du serveur ENFORME PAR BRENT RANDALL.
- Ce qui fait que Apex coche: un développeur plongeant profondément dans les serveurs et Netcode - par Samy Duc.
- Ru как ыы пи ллл сетевой код мобильного Pvp шттера - Pixonic о кллиеоое œ
Pourparlers
- Conférence des développeurs de jeux
- 2000 / Half-Life et Team Fortress Networking - Talk on Backend Network Services de Yahn Bernier.
- 2010 / Construire le logiciel du serveur pour éliminer - par Stephen Detwiler et James Marr.
- Multiplayeur 2011 / Crysis 2 - Post-mortem d'un programmeur par Peter Hall de Crytek.
- 2011 / I vous a tiré d'abord - Réseautage de gameplay à Halo: Reach de David Aldridge de Bungie.
- 2012 / Rédaction du serveur et du code réseau pour votre jeu en ligne - Talk par Patrick Wyatt depuis En Masse.
- Sérialisation et routage du réseau 2013 / réseau dans World of Warcraft - Talk de Joe Rumsey de Blizzard.
- 2015 / Game Networking for Physics Programmers - Talk de Glenn Fiedler de Respawn.
- Gameplay 2015 / réseautage et AI dans Assassin's Creed Unity - Talk de Charles Lefebvre d'Ubisoft.
- 2015 / Shared World Shooter: Destiny's Network Mission Architecture - par Justin Truman.
- 2015 / Stop, Copy / Coller Networking & Innovate - Conception Approches de Claire Blackshaw de Sony.
- 2016 / Fighting Latence sur Call of Duty Black Ops III - Talk de Benjamin Goyette d'Activision.
- Architecture de jeu 2017 / Overwatch et Netcode - Timothy Ford sur une simulation précise avec ECS.
- 2017 / Replay Technology in Overwatch: Kill Cam, Gameplay et Faits saillants - Talk par Philip Orwig.
- 2017 / Réseautage d'armes et capacités scénarisées à Overwatch - Talk de Dan Reed de Blizzard.
- 2017 / reproduire le chaos: réplication du véhicule dans Watch Dogs 2 - Réplication du mouvement du véhicule dans P2P.
- Cadres 2018/8 en 16 ms - Rollback Networking à Mortal Kombat et Injustice 2 par Michael Stallone.
- 2018 / pour Honor: D'après un grand lancement à la période en direct - par Damien Kieken et Roman Campos Oriola.
- 2018 / c'est la science des fusées! - La physique et le réseautage de Rocket League en détail de Jared Cone.
- 2019 / Retour vers le futur! Travailler avec une simulation déterministe en l'honneur - par Jennifer Henry.
- 2019 / Quantum Deep Dive - Photon Quantum Network Engine For Unity by Eric à partir de jeux de sortie.
- En direct de moteur Unreal
- Graphique de réplication - Dev-Team d'Epic montre la nouvelle fonctionnalité de graphique de réplication de l'UE 4.20.
- Optimisations du serveur - Ryan Gerleve et Dave Ratti pour discuter des techniques d'optimisation du serveur dans UE4.
- Festival irréel
- Graphique de l'UE 2019 / réplication pour l'optimisation des jeux RTS - Talk de Nick Prühs de Deadalic.
- Unity unit
- UE 2016 / Bâtiment A PvP Focus MMO - Albion MMO Architecture par David Salz de Sandbox.
- UE 2017 / Photon vs Unet - Netcode Architecture Comparaison par Christof Wegmann des jeux de sortie.
- LA 2018 / Deep-Dive Into Networking for Unity's FPS Sample - Talk de Peter Andreasen from Unity.
- EU 2019 / Intro aux points et Netcode - Future d'unité en réseau à l'aide de points de Tim Johansson.
- Autre
- Entre deux serveurs - Glenn Fiedler interviewe Gamedvs sur le multijoueur et le netcode.
- Génie des jeux multijoueurs à rythme rapide avec Gabriel Gambetta - 1 heure Interview Podcast.
- Handmadecon 2015 / Pat Wyatt - Chat de Guild Wars, Diablo, Starcraft Netcode par Pat Wyatt.
- Overwatch / Let's Talk Netcode - Overwatch Netcode par Tim Ford et Philip Orwig de Blizzard.
- Tutoriels de réseautage Unity + Mirror - Implémentation conceptuelle et pratique de Neil Shah.
- Valorant / Netcode & 128-Servers - Quelques concepts de réseautage de base dans les jeux de valorant de Riot Games.
- Warframe / Networking Architecture - WarFrame Netcode par Maciej Sinilo à partir des extrêmes numériques.
Bibliothèques
- C / C ++
- ENET - bibliothèque de réseautage UDP fiable simple et robuste.
- GameNetworkingSockets - Couche de transport de réseau interne (vapeur) de Valve pour les jeux.
- GGPO - Good Game, Peace Out Rollback Network SDK.
- KCP - Un protocole ARQ rapide et fiable.
- Netcode - Protocole client / serveur basé sur la connexion sécurisé construit sur le dessus de l'UDP (C, C #, Rust, Go, et ...)
- RAKNET - (inactif) moteur de mise en réseau UDP fiable et inactif).
- Fiable - un système de reconnaissance de paquets pour UDP (C).
- Sérialize - Un sérialiseur Bitpacking simple pour C ++.
- Snapnet - AAA Netcode pour les jeux multijoueurs en temps réel.
- TNL2 - Bibliothèque de réseautage de couple (inactif) 2 qui est assez similaire au modèle de réseautage des tribus.
- Yojimbo - Bibliothèque de réseautage UDP fiable pour les jeux client / serveur avec des serveurs dédiés (C ++).
- C #
- Barebones Master Server - Framework backend avec auth, profil, lobby, fonctionnalités de chat pour l'unité.
- Solution multijoueur multijoueur multijoueur à haute performance axée sur la solution multiplayante multiplaquée haute performance.
- Fishnet - Solution de réseautage d'unité visant à la fiabilité, à la facilité d'utilisation, à l'efficacité et à la flexibilité.
- Forge Networking - Solution de réseautage multijoueur axée sur l'unité.
- Lidgren.network - bibliothèque de réseautage UDP fiable (.net / mono / unité).
- LITENETLIB - LITE FIABLE UDP Networking Library (.NET / MONO / UNITY).
- MAGICONION - Framework unifié en temps réel / API pour la plate-forme et l'unité .NET.
- Mirror - Un remplacement de la communauté pour le système de réseautage Unity Abandoned UNET.
- Netcode for Entities - SDK Netcode officiel d'Unity pour les workflows d'entités.
- Netcode pour GameObjects - SDK Netcode officiel d'Unity pour GameObject Workflows.
- NETICK - Une solution de réseautage autoritaire au serveur pour l'unité.
- Netstack - ensemble d'outils léger pour créer des systèmes de réseautage simultanés pour les jeux multijoueurs.
- Networker - TCP et UDP Networking Library (.NET / Unity).
- NORNCORE - Réseautage de jeux multijoueur sans couture pour Unity (Cloud / SaaS).
- Moteur photon - plate-forme de réseautage de jeu multijoueur hybride (cloud / SaaS).
- Riptidenetworking - Solution de réseautage C # légère pour les jeux multijoueurs.
- Socketweaver - Services cloud multijoueurs conçus pour le moteur Unity (cloud / SaaS).
- Aller
- Nakama - Infrastructure backend open-source pour les jeux multijoueurs (également avec Unity / C # sdk).
- GOWORLD - Moteur de serveur de jeu distribué évolutif avec échange chaud (et démo d'unité!).
- Java
- SmartFoxServer - Serveur de jeux multijoueur massif avec des fonctionnalités intégrées avancées.
- Javascrip
- ActionHero - Un cadre de serveur API Node.js pour les sockets TCP, les clients WebSockets et les clients HTTP.
- COLYSEUS - Framework backend de serveur de jeux multiplayeur faisant autorité.
- Kalm - Bibliothèque Socket Manager / Optimizer avec contrôle de congestion personnalisé pour Node.js et navigateurs.
- SocketCluster - HTTP multi-processus évolutif et framework serveur en temps réel.
Outils
- Capanalysis - outil visuel Web pour analyser le trafic réseau capturé. (Ubuntu, Debian)
- Clumsy - Utilitaire de simulation de condition de réseau. (Windows)
- netem - émulation de réseau pour les protocoles de test. (Linux)
- Matchmaker - Matchmaking Simulator avec des données réelles du joueur mondial (GO).
- MITMPROXY - Serveur de proxy de débogage Web. (Windows, macOS, Linux)
- Conditionneur de liaison réseau - Utilitaire de simulation d'environnement réseau. (macOS, iOS)
- Analyseur de protocole de réseau - Outil d'analyse, de débogage et de surveillance des connexions. (Windows)
- Simulator de réseau (NS) - Simulator de réseau ciblant la recherche et l'utilisation de l'éducation. (macOS, Linux)
- Postman - Client de débogage et de développement de l'API Web. (Windows, macOS, Linux)
- WeboCat - CLI Client pour WebSockets comme NetCat ou Curl. (Windows, macOS, Linux)
- Wireshark - Outil d'analyseur de trafic réseau. (Windows, macOS, Linux)
Licence