On recrute un monteur / réalisateur pour la chaîne Micode ! Plus d'infos ici : micorpstudio.notion.site/Je-veux-r-aliser-des-vid-os-Micode-14bd6e6fadeb80a3a067c10da364f979?pvs=4
Sauf que les jeux comme COD quand il disent que le sbmm prend en compte la latence des joueurs c'est le plus gros mytho de l'histoire des jeux video si la priorité numéro 1 est la latence ça t'arrivera presque jamais le no reg les serveurs les plus bas sur cod c'est 5 6ms voir moins et le traitement ça peut-être 25 27ms c'est presque rien vraiment
En plus il me semble que sur call of, le serveur actualise moins souvent les infos (tickrate) que sur d’autres jeux, car c’est très grand public, alors ça doit être accessible à des connexions moins bonnes. Mais donc plus de problèmes comme ça.
Hélas c'est pas exactement le cas. Les kill cam sont de manière générale une reconstitution approximative de la scène, et non pas une reproduction exacte de la perspective de l'ennemi. C'est surtout lier à des limites techniques et temporels (qui vont de paire remarque mais c'est pas juste une question de temps). Si on voulait que cela soit précis il faudrait que les joueurs envoient leur positions au serveur (et non pas le contraire comme on le fait) et que le serveur lui renvoies ces positions là aux joueurs tués afin de pouvoir reconstituer avec précision ce que l'ennemie a vu. On ne le fait pas (en tout cas pour l'instant) car ça consommerait beaucoup plus de bande passante et CPU pour les serveurs et ça permettrait aux cheaters de modifier les coordonnées qu'ils envoient aux serveurs.
Trop bien ! J'aurais vraiment aimé qu'ils abordent le sujet des jeux de combat à la Street Fighter, où les techniques de netcode sont insanes, ainsi que de parler de système anti-triche comme celui de Valorant et de LoL, qui posent quelques soucis au détriment de la protection...
@@mathildefroissart110 on appelle ça du rollback en gros les 2 joueur joue en locale et le server à sa propre simulation , son seul job est de gardé synchoniser l'état de jeu entre les 2 joueur Pour ça plusieur tech : prédire les mouvement : la duration en frame est fixe et toujourd connue donc c'est facile le rollback : le jeu vas tourner as 1 2 ou 3 frame en retard de se que ça devrait être pour tout le monde , cette latence permet à la simulation client de revenir dans le temps pour se resynchroniser si on cumule les 2 on envoit pas les input des joueur telle qeulle mais des game state et la simulation in game interpolate entre les 2 sur une échelle de 1 à 2 frame tu pard d'un systeme avec des aller retour à 25 ms à une feeling de jeu à la frame prés
Sur les jeux comme Valorant, il y a un phénomène très connu qui s'appelle "Peeker's Advantage": l'idée c'est que quand tu vas décaler d'un mur (peek), si tu as une latence élevée, tu verras l'ennemi plus tôt qu'il ne va te voir. C'est dû au fait que le jeu te laisse bouger même si la requête n'est pas arrivée au serveur, donc si tu as 50 ms de ping, dans ton client tu bougeras 50ms avant que le serveur ne réalise que t'as bougé, donc sur l'écran tu vas voir l'ennemi environ 50ms (+ la latence de l'ennemi) avant que lui ne te voie.
L’avantage à la décale est plus du fait que t’es prêt à te battre vu que c’est toi qui décale donc prêt à tirer plutôt que tenir une ligne ou l’ennemie peut arriver n’importe quand
@@Ayor88 C'est confirmé par David Straily, Ingénieur technique chez Valorant. Tape valorant peeker's advantage et tu vas trouver un article qui parle de ça sur le site officiel de Valorant et c'est super intéressant. Du coup oui ça existe et plus t'as de ping et plus le peeker's advantage est fort. Par contre c'est le seul avantage que ça donne, en réalité avoir moins de ping est toujours mieux dans la majorité des situations.
@@InfinityWarz616 ça aussi bien sûr, mais l'aspect technique existe bel et bien, et ça risque pas de s'en aller tant que tout le monde n'a pas 0ms de ping. Apres libre a toi de juger lequel des deux aspects (technique ou psychologique) est plus important.
@@Ayor88 On dirait que mon comm a été supprimé, oui ça a été confirmé par un des devs de Valo sur leur site officiel. Dans l'article il dit que techniquement le peeker's advantage touche autant celui qui lag que celui qui ne lag pas (parce que le calcul se fait dans les deux sens), mais ça c'est quand ta latence de téléchargement est la même que la latence d'upload. Si ta latence d'upload est plus haute que ta latence de download alors t'auras un avantage dans le peek sans avoir un désavantage, (mais t'auras un désavantage sur pratiquement tous les autres aspects du jeu).
Et ça c'est l'un des secrets du succès de World of Warcraft à son lancement : en masquant de manière très efficace les effets de la latences, grâce au système de TAB-target, une large tolérance sur la position de la cible, et en implémentant un cooldown universel. Combiné avec un bon algorithme prédictif au niveau client, cela apportait au combat une réactivité et une souplesse qui écrasait tout ce qui se faisait dans les mmos de l'époque.
Excellent sujet :) et super vidéo ! mais par contre, non, les jeux multijoueurs ce n'est pas fait avec du bricolage :D mais avec des techniques très pointues (en partie bien expliquées dans la vidéo). On peut les résumer à quatres techniques majeures : - la compensation de lag (pour valider les actions en se basant sur le point de vue du joueur à un instant donné et non celui du serveur à l'instant t), - la prédiction local (pour une réactivité immédiate pour le joueur local sans avoir à attendre une confirmation du serveur), - l'interpolation (pour lisser le déplacement d'un joueur distant entre deux positions reçues du serveur + avoir un jeu fluide même en cas de latence réseau fluctuante), - la gestion des intérêts, souvent basé sur la distance, afin de limiter le nombre de joueurs/objets à synchroniser. Et heureusement, les studios de jeux vidéos et les développeurs indé n'ont pas à redévelopper toutes ces techniques pour leur jeux. Il existe des SDK dédié et prêt à l'emploi ! ce qui leurs permet de se concentrer sur le coeur et les spécificités de leur jeux. Et ne pas perdre du temps sur des développement très spécifiques et très long à mettre au point... C'est vrai que le développement d'un jeux multijoueurs est souvent plus couteux qu'un jeux solo mais ce n'est du tout d'un facteur 100. Les SDK spécialisés fournissent même des templates de jeux près à l'emploi pour amorcer un projet et accélérer la montée en compétence. Enfin, il existe même des solutions pour faire des jeux multijoueurs sans aucun netcode pour le développeurs comme Quantum de Photon Engine. C'est la solution qui a été utilisée par Kitka Games pour faire Stumble Guys. Sujet passionnant, merci ! :)
En tant que dev indé, chaque fois que je participe sur un groupe de discussion pour développeurs, je recommande aux gens de ne surtout PAS commencer en développant un jeu en ligne... Beaucoup de gens qui sont de simples joueurs (et n'ont donc pas étudié le game design) font cette erreur et le regrettent assez vite, ça demande beaucoup (trop) de gestion au cas par cas. Ici vous avez juste parlé de la partie réseau, mais le reste du jeu aussi est compliqué à faire, donc s'imposer tout ça quand on développe son premier jeu c'est quasi 100% voué à l'échec! Mieux vaut commencer par beaucoup plus simple, et seulement s'attaquer à un projet multi une fois qu'on est confortable avec le reste du processus de développement.
Il faut voir aussi la latence acceptable, sur un jeu en tour par tour par exemple le délai est bien plus facilement acceptable que sur un fps et c'est donc techniquement plus facile de tomber sur un résultat acceptable.
@@SalazarDaraster oui mais apres les jeux en tour par tour ne sont pas legions, et très rare dans le monde indé il me semble ( comprenant du multi s'entend)
@@Kupperdurden Notre tout premier jeu indé était un jeu multi en tour par tour, au final il n'est pas allé jusqu'à la full release pour d'autres raisons mais le proto traine encore quelque part :D
Pour le coup du wall hack ce problème de latence n'est uniquement problématique pour les FPS qui sont bien dynamiques. Mais pour un jeu qui s'approche du fps sans en être vraiment un comme world of tanks, les devs ont fait le choix de ne pas retourner la position des joueurs s'ils ne sont pas aperçus, du coup les wall hacks ne sont pas possibles. Tout est une question de dynamisme dans le gameplay. Si très dynamique, là y a pas le choix, sinon on peut s'en passer et le wh n'existe donc pas.
Oui un jeu comme tanks c'est vachement plus facile, surtout que comme c'est bien complexe les conditions de vision tu peux facilement cacher les bugs potentiels.
@@JoelEnVrac oula oui énormément de sources. Dans les paramètres des tactical shooters (cs et valo) tu peux faire afficher plein d'infos comme les fps, le ping... ET le server tick rate. Tu vois qu'il est à 120 sur Valo par exemple. Et puis même dans leur site officiel ils le disent
@@horiza6389 Ok merci pour ça, donc ce sont plutôt des exceptions de manière générale car ton message semble sous entendre plutôt le contraire. Me voilà rassuré. ✌️ En fait, y'a que valo qui a ce tickrate pour le grand public. Et CS c'est pas sur les parties publiques donc hors jeu. Du coup tu peux changer ta phrase en modifiant "les FPS actuels" par Valorant car pour le moment c'est juste l'exception en fait.
@@JoelEnVrac ah oui mdr j'aurais dû préciser plutôt les tactical shooters uniquement car il faut de grands réflexes. Pour les autres ça va être une trentaine ou au mieux 60
ça lag parce que les serveurs sont nul a chier et sont très loin de chez toi ! VIVE LES SERVEURS DÉDIÉS à coté de chez soi !!!!!!!!!!!!!! va host une LAN et tu auras beaucoup moins de lag et donc un jeu moins inégalitaire ! il est loin le temps où on pouvait jouer à un FPS avec moins de 10ms de ping à cause de ces putain de server cloud centralisé de merde....
@@Drykdap je ne joue finalement que très très rarement sur le serveur de paris.... sur face it c'est par vote et ingame c'est aléatoire en fonction des joueurs connectés. bref j'ai toujours plus de ping réel in game CS2 avec la fibre 8gbit/s + un PC à 3000€ qu'a l'époque de l'adsl 2mbit/s avec un PC à 1200€ sur cs:source.
Pour répondre à la question sur over Watch, la réponse est la prédiction du comportement . Ton adversaire bouge un moment t’es dans les 50 ms il sera à une position P. Le client calcule la trajectoire à la moitié de cette distance. Soit où sera l’adversaire normalement dans 25 ms.
1:30 Faux. Vérification faite, Minecraft n'a pas commencé par le partage de monde en local, mais a d'abord sorti la fonctionnalité multiplayer via un serveur officiel fixe (0.0.15a fin mai 2009), puis a permis de saisir une IP de serveur tiers (v1.0.15 en août 2010), et a enfin ajouté le bouton "Open to LAN" deux ans plus tard (1.3.1 en août 2012). Cf Minecraft Wiki.
@@julkido Je suis le genre de mec qui apprécie qu'on le corrige quand il se trompe, et qui fait un effort pour ne pas se tromper (ou qui nuance en cas d'incertitude). J'ai joué à Minecraft à compter de mars 2011 et je me souvenais justement que l'Open to LAN n'était pas encore présente quand j'ai commencé à jouer. Mais vu que je ne veux pas dire des bêtises, ça m'a pris seulement 5 minutes pour retrouver l'information grâce au formidable travail non payé des rédacteurs du wiki participatif. L'idée était de sourcer mes propos pour que vous n'ayez pas à passer trop de temps à vérifier voire avoir l'outrecuidance de me contredire à tort. Je ne me permettrai pas de mon côté de dire quel genre de mec tu es. L'ad hominem, très peu pour moi. Salut.
Très bonne vidéo, merci l'équipe Underscore! Pour une idée de prochaine vidéo, j'aimerai en apprendre plus sur les algorithmes de suggestion des réseaux sociaux; quel sont les éléments techniques et psychologiques que TikTok/ Instagram utilisent
@@Baraka0369 actuellement blizzard tente de redresser la bar avec plus de contenus gratuits, genre héros dispo comme avant et un revenu de pièce plus important par contre ça ne te garantie plus d'avoir les meilleurs skin mais tu peu de nouveau un petit grinde. il leur reste encore beaucoup d'effort de ce côté là mais j'espère qu'il sauront retrouvé un équilibre plus sain
exemple overwatch : si vous lancer une bombe(ultimate) de tracer mais qu'en même temps vous mouriez si votre bombe n'a pas touché quelqu'un ou un objet dans ce laps de temps cette dernière disparait. car la cible n'a pas été acquise et le serveur auto corrige la position
Ironsight FPS indé (équipe de moins de 10pers.) avec son propre moteur graphique & netcode! Beaucoup de joueurs râlent car le jeu est "buggé" mais faire cohabiter des joueurs de 15ms à 150ms de ping (pas assez de joueurs pour filtrer) sur une même partie dans un FPS dynamique sans ruiner l'expérience c'est une prouesse, là où je suis admiratif certains n'y voient que l'aspect négatif ^^"
Je pense que les jeux indé multi compétitifs ne fonctionnent pas autant que les mêmes en AAA, pas pcq les indés ne pensent pas au détails comme dit durant la vidéo, mais plus à cause d'un manque de budget. Quand t'es un studio de 5 personnes tu peux pas avoir des serveurs comme ceux de Riot, Ubisoft ou autre et tu ne peux pas avoir un ou plusieurs dev spécialisé dans le réseau. Certains studios indés peuvent faire des jeux plus peaufinés que certains studios AAA car même si y'a moins de budget les indés peuvent se permettre de prendre plus de temps pour finaliser leurs jeux, contrairement aux gros studios qui ont leurs actionnaires et éditeur aux fesses.
en vrai rocket league jsp si on peut considerer ça comme un jeu indé, mais c'est pas un triple A, pourtant c'est un jeu tier 2 en esport (après epic a racheter le studio de RL "psyonix") mais le jeu aujourd'hui se porte bien, y'a eu un contrat de 4 ans signé avec blast pour l'organisation des LAN. au final, c'est possible
Incroyable vidéo !!! Mais j’ai une question : Dans un fps, quand tu te fais tuer et que tu regardes la killcam, c’est la vision de qui qu’on voit du coup ? Celle du client de mon PC, celle du client de l’adversaire ou celle du serveur ? Continuez les vidéos comme ça c’est un régale, un bon courage pour le développement de leur jeu 👍
Pas de rapport, à partir du moment où le serveur te donne le kill ça pourrait être celle de ton client ou celle du serveur mais le serveur à priori n'a pas de moteur de rendu graphique et même si il avait un faudrait envoyer l'information, donc c'est ton client.
Le serveur t'envoie les positions donc dans tout les cas c'est pareil pour tout le monde, mais après pour savoir exactement ce que ton adversaire a vu c'est plus complexe car faudrait savoir en combien de temps il a reçu les données ect, donc c'est pas très précis car on fait pas ça. Cela doit donc se basé sur les données de ton client qui sont celles reçu depuis le serveur.
Il à mixé serveurs dédiés et serveurs cloud. Les serveurs dédiés sont l'équivalent de quelqu’un qui host mais "headless" c'est à dire, sans le rendu visuel du jeu et généralement sur une machine dédiée, d'ou le nom. Les joueurs se connectent dessus comme si c'était un joueur qui hébergeait. L'avantage étant que dans un LAN, un joueur peut également faire le host ou avoir un PC dédié aux host des jeux. Historiquement, c'était la technique standart pour tous les jeux, même les compétitifs (jusqu'à la démocratisation du XboxLive). Les serveurs "cloud" sont eux hébergés par les devs/éditeurs, les fameux jeux services qui deviennent injouables lorsque le dev/éditeur décide et les joueurs. Les jeux ont petit à petit abandonné le serveurs dédiés pour faciliter la vente du jeu comme un service au détriment du consommateur.
merci. grâce a cet vidéo j'ai une nouvel excuse dans les jeux multis quand je me fait team diff XD sérieusement j'ai apris plein de truc chouette come d'hab. super vidéo
Correction, un server dédié n'est pas nécessairement dans le cloud, c'est simplement une machine (sur internet ou en local) dédiée à héberger une partie, indépendamment du client/admin qui le gère ; ce qui évite qu'une partie s'arrête si l'hôte à la fois server et client plante ou se déconnecte :)
Pour l'exemple de LoL, certains éléments du jeu permettent de révéler des ennemis qui sont en dehors de cette zone de transition (je pense au trinket bleu, ou encore à l'ultime de twisted fate). Il y a une astuce en place ou est-ce qu'on se prend peut-être la latence sans le remarquer ?
Moi, sur Crossout dernièrement, en course (même pas en combat, juste une course avec d'autres joueurs), passant de 40 à 400, 700, puis 2500ms ! Même maitre Yoda n'aurait pas réussi à gagner une course avec des virages partout, avec 2,5 secondes d'écart entre la commande au clavier et le résultat à l'écran. Il parait que c'est un jeu russe (Targem / Gaijin). Moi, j'avais entendu dire que c'était hongrois. Mais avec un ping à 2500ms, à mon avis il est plutôt sur Mars, le serveur.
Cette vidéo répond à presque toutes les questions que je me posais sur le sujet sauf une, pourquoi maintenant une haute fréquence d'image par seconde est a " la mode" surtout dans les jeux compétitifs ? 240hz, 360hz voir 480hz ? est ce que cela change vraiment quelque chose au niveau du moteur du jeu ou au niveau réseau ?
Dark Age of Camelot (DAoC), un MMO légendaire adulé par la communauté PvP, sorti en 2001 par Mythic Entertainment, a ete dev par une petite equipe. Interview tres interessante merci a vous!
6:07 c'est très proche de la relativité restreinte, avec la non simultanéité des événements, sauf qu'au lieu que le délai soit du à la vitesse de la lumière, il est du à la façon dont les informations transitent et sont traitées. Mais les implications finales sont assez proches, au fond.
Ce qu'il explique sur le "snap", Gaijin (des devs russes) le font depuis maintenant 15ans ! On les prenait pour des fous à l'époque, mais ca marche ! (mais ultra independant de la qualité de co aussi)
Overwatch Pareil que Guild Wars 2 pour le coup. On a des pouvoirs très spéciaux avec de grosse influence sur des mini jeux pvp, tirer des ennemis vers soit, téléportation etc
En fait, pour résoudre simplement le pb du wallhack, il faudrait exécuter le jeux en entier sur le serveur et envoyer seulement le streaming au client non ?
Dans tous les cas, le jeu ne sera pas agréable à jouer si rien n'est calculé côté client car tu as la latence sur tout ce que tu fais. Le streaming c'est bien pour les jeux solo ou non compétitifs.
Même pour les jeux solo 2D ou 3D, tu te retrouves à faire certaines bidouilles invisibles du joueur pour éviter que ton perso se retrouve bloqué dans le décor. Faut être magicien développer.
Très bien vulgarisé, bravo à l'intervenant, cependant, je regrette que le cas StarCitizen n'a pas été abordé car c'est également une prouesse technique !
Un super exemple: Conqueror's blade. Ils ont réduit un truc sur les serv car ça ramais trop et depuis les action d'un joueur se répercutent parfois 1seconde aprés....
@kurhooni5924 Les deux principales sont soit la simulation de projectile, avec un temps de trajet jusqu'à la cible. Soit, le "hitscan", qui est quant à elle instantanée et est la méthode de tir la plus répandue encore à l'heure actuelle. Pour le hitscan tu ne tir par vraiment un projectile (même si un projectile est visible dans les jeux, rendu visuel vs logique, etc), mais tu vérifies si une cible se trouve sur la trajectoire de ton viseur au moment du clic. Si c'est le cas, tu infliges des dégâts. Je résume grossièrement, mais c'est l'idée.
le petit sourire du dev a 18:30 quant elle est en train d'expliquer une solution utiliser actuellement dans les jeux alors qu'elle dev pas de jeu est magique !
D'ailleurs c'est possible les calculs sur le serveur pour pas envoyer les positions dans un fps, c'est juste que les devs veulent pas payer plus cher car ils peuvent faire tourner moins de parties par machine.
Je pense qu'on a tous pensé à cette solution au moment où il a commencé à expliquer le problème de la porte juste avant ! Elle est sûrement très intelligente mais il n'y a pas besoin d'être intelligent pour penser à cette solution
fun fact sur wow on utilisait la grosse latence qu'on a (140ms) pour dupliqué des loots en gros on récupérait en même temps, ça nous donnait chacun un loot (à l'époque où le loot était unique)
Alors je m'y connais pas DU TOUT en code de jeu vidéo, encore moins multijoueur, mais ça fait plus d'un an que j'ai pensé à ça : et si le client simulait la latence à un instant t. Je m'explique : le joueur a 50ms de latence, il tire sur un autre joueur, le client envoie l'information du tir au serveur, le client simule le tir 50ms après qu'il ait été fait, le serveur renvoie les informations 50ms plus tard pour rectifier les erreurs. Ce qui fait que "le serveur est avantagé" et non plus un des deux joueurs. Alors oui une mauvaise connexion impactera directement le système, mais n'avantagera jamais un des deux joueurs en fonction de s'il tire ou s'il se fait tirer dessus !
Pas loin de ta suggestion: Ce que les serveurs de certains jeux peuvent faire, c'est de la prédiction, il prédit ou seront les différents clients dans x ms, et il envoie à tous les clients ces informations. Du coup les clients voient ou les autres joueurs seront probablement en tenant compte de leur latence. Ça cause moins de situation rageantes, mais ça a d'autres inconvénients(personnages qui paraissent glisser ou se teleportent, entre autre).
Dans Minecraft, tout est autorisé par le serveur : le client fait ce qu'il veut. Mais si le serv est pas d'accord, il y a un rollback dégeu sans transition horrible 🤣
Pour l'annulation côté serveur je suis pas complètement d'accord. Pour la prediction, le client va envoyer la boule et ça va partir sur le serveur en même temps avec des possibles interpolations etc comme il l'a dit. Mais si le client envoie la boule alors qu'il n'avait pas le droit(triche) alors elle ne sera tout simplement pas lancée sur le serveur donc pas besoin de la supprimer. La boule existera seulement sur le client, les client simulés et le serveur ne verront pas la boule donc pas d'annulation nécessaire.
Il y a 2 talk de 1h à la GDC (17) qui parle du network d'Overwatch et qui explique en détail la méthode et la tech : GDC Replay Technology in 'Overwatch'_ Kill Cam, Gameplay, and Highlights et GDC Networking Scripted Weapons and Abilities in 'Overwatch' Aussi, le sujet est bon mais n'est pas complet, il aurait été bien de parler du déterminisme (ow par ex) mais aussi des RTS et des jeux de combats où les inputs sont directement envoyés au serveur.
Je me suis amusé à coder 2 petits jeux en réseau et j'ai mis toute les actions sur le serveur. En gros le client il se contente d'envoyer les commandes du clavier et de la souris au serveur et il affiche ce que le serveur lui dit d'afficher (avec interpolation pour que ça soit fluide) Du coup le serveur fait autorité et il n'y a aucun des problèmes cités et en plus la triche est impossible. Quelle est le problème avec cette approche? Pourquoi ils ne font pas ça dans les AAA?
16:13 "comment ils ont fait, je sais pas" je sais que pour le jeu For Honor, il y'a un système de compensation de lag. generalement dans des jeu en ligne, les joueurs qui jouent ensemble dans une meme partie, se connecte sur un serveur suffisament proche de chez eux geographiquement. ducoup ça permet déjà de reduire le lag au minimum. ensuite l'étape suivante étant de rajouter un lag artificiel au client (le joueur qui lance l'attaque dans le jeu) afin que ça match avec le moment ou le joueur adverse est supposé recevoir l'attaque. exemple : => Le coup est normalement de 500ms => On retire X ms sur ce coup avec le lag => il passe à 500-X ms => On rajoute X ms sur ce coup grâce au lag compensateur => Il arrive donc à 500 ms sur votre écran. j'pense un système comme celui ci serait problematique si jamais il faudrait faire jouer des joueurs très éloigné des serveurs ensemble. la latence serait plus haute, rajouter une compensation de latence trop haute, ça serait beaucoup trop perceptible par le joueur, et desagréable, il y'aurait un effet d'input lag, comme quand on joue sur une console old gen sur un TV a 30fps
@@julkido non t'as rien compris. je parle pas d'un lag de connexion, je parle d'un lag in game, comme un input lag artificiel. toi quand tu parle de joueur qui lag, c'est un lag de connexion, si le joueur a un ping trop elevé, alors ça sera bugué des deux cotés de toute façon
Tres bonne vidéo ! Dommage qu'il n'ait pas parlé de la prédiction de déplacement ou du fait que Valorant a éssayé la méthode anti wallhack de ne pas donner la position de tous les joueurs en permanence mais ils sont revenus en arrière pour plusieurs raisons
Je me souviens d'une partie de Fortnite y'a 2 ou 3 ans. Je précise : niveau DEBUTANT définitif ( et je regrette qu'il n'y ait pas des façon de jouer en local comme dans Doom ou GTA ) J'avais à l'époque une connexion... en wifi via mon tel en 5G ( 3 doses ça aidait mais pas assez. . . ) La connexion était tellement pourrie, à un moment donné j'attendais dans les WC, la porte s'ouvre, Boum au pompe , je l'ai descendu en 2 tirs. Puis sur le flanc d'une montagne, apparait un jour, on était les 2 restants. Je l'ai vu LAGGUER : j'ai tiré : TOP 1 !! ça a été mon seul TOP 1 dans un jeu de type "battle royal". la cause : une connexion pourrave.
Ma modeste contribution à ce problème de latence: L'oiseau ne se plaint pas que le poisson ne soit pas à la position où il le voit. Il vise à côté sachant qu'il y a une ""latence"" visuelle .
Pour le couteau qui grab ca peut pas etre le jeu qui a un calcul de probabilité de ce qui va se passer quand le couteau touche? et en fonction de la probabilité de rapatriment du joueur touché il prévoi la position et la met en memoire tampon et l'applique si le mec réactive vraiment la touche pour rapprocher l'énemi? c'est juste une idée à la con d'un mec qui n'y connait rien ^^ mais j'aime imaginer des trucs ^^
pour la prochaine vidéo, tu pourras parler du téléphone cmf phone 1 de chez nothing stp, tout le monde dit que c'est une dinguerie pour le prix et tout mais j'aimerais ton avis
J'ai une question, je joue sur des serveur en EUROPE et mon amie lui, joue depuis le bresil. Sur lol c'est impossible cela lag trop pour lui mais par contre sur Apex et sur les jeux BLIZZARD (ow,wow,diablo) il ne ressent pas le lag et on peut jouer ensemble depuis 2 l'europe ou l'amérique. comment ils font ?
Ca dépend d'abord d'où sont hébergés les serveurs. Si les serveurs d'Apex sont aux US, c'est plutôt à mi-chemin entre l'europe et le brésil, ça "ira". Après ça dépend aussi du type de jeu. Les jeux type wow/diablo ne souffrent que très peu d'une latence élevée et il est assez simple d'en masquer les effets.
Quand le mec explique vraiment tout les cas ou les serveurs te désavantage et que j'ai tout les cas combiné et que je suis toujours pas éligible pour une meilleure connexion 😢, maintenant je comprends mieux. M'enfin, je prie pour décembre (askip on sera éligible mais bon la commune disait qu'on serait éligible y a 5 ans déjà donc...)
On recrute un monteur / réalisateur pour la chaîne Micode ! Plus d'infos ici : micorpstudio.notion.site/Je-veux-r-aliser-des-vid-os-Micode-14bd6e6fadeb80a3a067c10da364f979?pvs=4
Bonne chance aux candidats
Pour faire gagner du temps à tout le monde : *C'est payé combien ?*
Ça tombe bien si vous cherchez un réalisateur je vous propose Gabin gratuitement il doit déjà être dans vos fichiers ;)
Ça fait plusieurs fois que je répond à vos "appel publics" pour des sujets par courriel, mais je ne reçois jamais même d'accusé de réception....
Quand il parle de no reg, je me vois 10000 fois sur call of dire « mais j’étais derrière le mur !!! »
oui et plus les mouvements son rapide plus il y a de problèmes comme en ce moment.
Sauf que les jeux comme COD quand il disent que le sbmm prend en compte la latence des joueurs c'est le plus gros mytho de l'histoire des jeux video si la priorité numéro 1 est la latence ça t'arrivera presque jamais le no reg les serveurs les plus bas sur cod c'est 5 6ms voir moins et le traitement ça peut-être 25 27ms c'est presque rien vraiment
En plus il me semble que sur call of, le serveur actualise moins souvent les infos (tickrate) que sur d’autres jeux, car c’est très grand public, alors ça doit être accessible à des connexions moins bonnes. Mais donc plus de problèmes comme ça.
@@flavioplb5490 leurs serveurs tourne max 30hz mais t'es plus à 20hz bo3 et bo4 sont un des seuls qui tourne à 60hz
MDR la meme et encore hier soir.
Très intéressant ces explications ! Les notions de correction selon le type de jeu et de qui il faut avantager en jouant avec la psychologie.
8:10 Pour minimiser la frustration, ils ont aussi inventé la " kill cam ", qui permet de comprendre ce que l'autre a vu.
Hélas c'est pas exactement le cas. Les kill cam sont de manière générale une reconstitution approximative de la scène, et non pas une reproduction exacte de la perspective de l'ennemi. C'est surtout lier à des limites techniques et temporels (qui vont de paire remarque mais c'est pas juste une question de temps).
Si on voulait que cela soit précis il faudrait que les joueurs envoient leur positions au serveur (et non pas le contraire comme on le fait) et que le serveur lui renvoies ces positions là aux joueurs tués afin de pouvoir reconstituer avec précision ce que l'ennemie a vu. On ne le fait pas (en tout cas pour l'instant) car ça consommerait beaucoup plus de bande passante et CPU pour les serveurs et ça permettrait aux cheaters de modifier les coordonnées qu'ils envoient aux serveurs.
et on voit un mec qui tire à côté de là où on était ...
Trop bien !
J'aurais vraiment aimé qu'ils abordent le sujet des jeux de combat à la Street Fighter, où les techniques de netcode sont insanes, ainsi que de parler de système anti-triche comme celui de Valorant et de LoL, qui posent quelques soucis au détriment de la protection...
ils ont fait pas mal de vidéos sur les anti-triches il y a quelques années
T'as des ressources pr dig les techniques netcodes de jeux types SF?
@@mathildefroissart110 malheureusement non :/
@@mathildefroissart110 on appelle ça du rollback
en gros les 2 joueur joue en locale et le server à sa propre simulation , son seul job est de gardé synchoniser l'état de jeu entre les 2 joueur
Pour ça plusieur tech :
prédire les mouvement : la duration en frame est fixe et toujourd connue donc c'est facile
le rollback : le jeu vas tourner as 1 2 ou 3 frame en retard de se que ça devrait être pour tout le monde , cette latence permet à la simulation client de revenir dans le temps pour se resynchroniser
si on cumule les 2 on envoit pas les input des joueur telle qeulle mais des game state et la simulation in game interpolate entre les 2 sur une échelle de 1 à 2 frame
tu pard d'un systeme avec des aller retour à 25 ms à une feeling de jeu à la frame prés
Trop intéressant bordel. Je joue aux fps depuis 25 ans. Jamais j'avais pensé à tous ces concepts et contraintes. Au top !
Sur les jeux comme Valorant, il y a un phénomène très connu qui s'appelle "Peeker's Advantage": l'idée c'est que quand tu vas décaler d'un mur (peek), si tu as une latence élevée, tu verras l'ennemi plus tôt qu'il ne va te voir. C'est dû au fait que le jeu te laisse bouger même si la requête n'est pas arrivée au serveur, donc si tu as 50 ms de ping, dans ton client tu bougeras 50ms avant que le serveur ne réalise que t'as bougé, donc sur l'écran tu vas voir l'ennemi environ 50ms (+ la latence de l'ennemi) avant que lui ne te voie.
c'est confirmé quelque part ou c'est du ressort de la légende urbaine ?
L’avantage à la décale est plus du fait que t’es prêt à te battre vu que c’est toi qui décale donc prêt à tirer plutôt que tenir une ligne ou l’ennemie peut arriver n’importe quand
@@Ayor88 C'est confirmé par David Straily, Ingénieur technique chez Valorant. Tape valorant peeker's advantage et tu vas trouver un article qui parle de ça sur le site officiel de Valorant et c'est super intéressant.
Du coup oui ça existe et plus t'as de ping et plus le peeker's advantage est fort. Par contre c'est le seul avantage que ça donne, en réalité avoir moins de ping est toujours mieux dans la majorité des situations.
@@InfinityWarz616 ça aussi bien sûr, mais l'aspect technique existe bel et bien, et ça risque pas de s'en aller tant que tout le monde n'a pas 0ms de ping. Apres libre a toi de juger lequel des deux aspects (technique ou psychologique) est plus important.
@@Ayor88 On dirait que mon comm a été supprimé, oui ça a été confirmé par un des devs de Valo sur leur site officiel. Dans l'article il dit que techniquement le peeker's advantage touche autant celui qui lag que celui qui ne lag pas (parce que le calcul se fait dans les deux sens), mais ça c'est quand ta latence de téléchargement est la même que la latence d'upload. Si ta latence d'upload est plus haute que ta latence de download alors t'auras un avantage dans le peek sans avoir un désavantage, (mais t'auras un désavantage sur pratiquement tous les autres aspects du jeu).
Et ça c'est l'un des secrets du succès de World of Warcraft à son lancement : en masquant de manière très efficace les effets de la latences, grâce au système de TAB-target, une large tolérance sur la position de la cible, et en implémentant un cooldown universel. Combiné avec un bon algorithme prédictif au niveau client, cela apportait au combat une réactivité et une souplesse qui écrasait tout ce qui se faisait dans les mmos de l'époque.
Tellement intéressant !!! 😮
Trop intéressant ! J'adore cette émission ! Continuez comme ça !!!
Merci, ca éclairci beaucoup de questions que j'ai depuis tjrs sur le sujet ! et c'est parfaitement et simplement expliqué !
Excellent sujet :) et super vidéo ! mais par contre, non, les jeux multijoueurs ce n'est pas fait avec du bricolage :D
mais avec des techniques très pointues (en partie bien expliquées dans la vidéo).
On peut les résumer à quatres techniques majeures :
- la compensation de lag (pour valider les actions en se basant sur le point de vue du joueur à un instant donné et non celui du serveur à l'instant t),
- la prédiction local (pour une réactivité immédiate pour le joueur local sans avoir à attendre une confirmation du serveur),
- l'interpolation (pour lisser le déplacement d'un joueur distant entre deux positions reçues du serveur + avoir un jeu fluide même en cas de latence réseau fluctuante),
- la gestion des intérêts, souvent basé sur la distance, afin de limiter le nombre de joueurs/objets à synchroniser.
Et heureusement, les studios de jeux vidéos et les développeurs indé n'ont pas à redévelopper toutes ces techniques pour leur jeux.
Il existe des SDK dédié et prêt à l'emploi ! ce qui leurs permet de se concentrer sur le coeur et les spécificités de leur jeux.
Et ne pas perdre du temps sur des développement très spécifiques et très long à mettre au point...
C'est vrai que le développement d'un jeux multijoueurs est souvent plus couteux qu'un jeux solo mais ce n'est du tout d'un facteur 100.
Les SDK spécialisés fournissent même des templates de jeux près à l'emploi pour amorcer un projet et accélérer la montée en compétence.
Enfin, il existe même des solutions pour faire des jeux multijoueurs sans aucun netcode pour le développeurs comme Quantum de Photon Engine.
C'est la solution qui a été utilisée par Kitka Games pour faire Stumble Guys.
Sujet passionnant, merci ! :)
En tant que dev indé, chaque fois que je participe sur un groupe de discussion pour développeurs, je recommande aux gens de ne surtout PAS commencer en développant un jeu en ligne... Beaucoup de gens qui sont de simples joueurs (et n'ont donc pas étudié le game design) font cette erreur et le regrettent assez vite, ça demande beaucoup (trop) de gestion au cas par cas. Ici vous avez juste parlé de la partie réseau, mais le reste du jeu aussi est compliqué à faire, donc s'imposer tout ça quand on développe son premier jeu c'est quasi 100% voué à l'échec! Mieux vaut commencer par beaucoup plus simple, et seulement s'attaquer à un projet multi une fois qu'on est confortable avec le reste du processus de développement.
Il faut voir aussi la latence acceptable, sur un jeu en tour par tour par exemple le délai est bien plus facilement acceptable que sur un fps et c'est donc techniquement plus facile de tomber sur un résultat acceptable.
@@SalazarDaraster oui mais apres les jeux en tour par tour ne sont pas legions, et très rare dans le monde indé il me semble ( comprenant du multi s'entend)
@@Kupperdurden Notre tout premier jeu indé était un jeu multi en tour par tour, au final il n'est pas allé jusqu'à la full release pour d'autres raisons mais le proto traine encore quelque part :D
Pour le coup du wall hack ce problème de latence n'est uniquement problématique pour les FPS qui sont bien dynamiques. Mais pour un jeu qui s'approche du fps sans en être vraiment un comme world of tanks, les devs ont fait le choix de ne pas retourner la position des joueurs s'ils ne sont pas aperçus, du coup les wall hacks ne sont pas possibles. Tout est une question de dynamisme dans le gameplay. Si très dynamique, là y a pas le choix, sinon on peut s'en passer et le wh n'existe donc pas.
Oui un jeu comme tanks c'est vachement plus facile, surtout que comme c'est bien complexe les conditions de vision tu peux facilement cacher les bugs potentiels.
Et dire que les FPS actuels ont des serveurs qui rafraichissent l'information 120 fois par seconde, impressionnant
Tu as des exemples ou des sources?
@@JoelEnVrac Ben CS les serveurs compétitifs avaient un tickrate de 120. Mais ça c'était avant, maintenant ça marche à la magie, il n'y a plus de tick
@@JoelEnVrac oula oui énormément de sources. Dans les paramètres des tactical shooters (cs et valo) tu peux faire afficher plein d'infos comme les fps, le ping... ET le server tick rate. Tu vois qu'il est à 120 sur Valo par exemple.
Et puis même dans leur site officiel ils le disent
@@horiza6389 Ok merci pour ça, donc ce sont plutôt des exceptions de manière générale car ton message semble sous entendre plutôt le contraire. Me voilà rassuré. ✌️
En fait, y'a que valo qui a ce tickrate pour le grand public.
Et CS c'est pas sur les parties publiques donc hors jeu.
Du coup tu peux changer ta phrase en modifiant "les FPS actuels" par Valorant car pour le moment c'est juste l'exception en fait.
@@JoelEnVrac ah oui mdr j'aurais dû préciser plutôt les tactical shooters uniquement car il faut de grands réflexes. Pour les autres ça va être une trentaine ou au mieux 60
Top comme explications
Toujours un plaisir de voir des invités parler de gamedev sur Underscore ! 😄
Toujours un plaisir vos vidéos ❤
Les devs : 'On fait un jeu parfait.'
Les joueurs : 'Pourquoi ça lag ?'
En vrai, c’est pas du lag, c’est juste la réalité qui triche.
ça lag parce que les serveurs sont nul a chier et sont très loin de chez toi ! VIVE LES SERVEURS DÉDIÉS à coté de chez soi !!!!!!!!!!!!!! va host une LAN et tu auras beaucoup moins de lag et donc un jeu moins inégalitaire ! il est loin le temps où on pouvait jouer à un FPS avec moins de 10ms de ping à cause de ces putain de server cloud centralisé de merde....
@@plop31 en soi beaucoup de gens ont moins de 10 de ping de nos jours
@@Drykdap seuls ceux qui sont a coté des datacenter. c'est à dire très peu de personnes
@@plop31 je n'habite pas Paris et jai 7 de ping
@@Drykdap je ne joue finalement que très très rarement sur le serveur de paris.... sur face it c'est par vote et ingame c'est aléatoire en fonction des joueurs connectés. bref j'ai toujours plus de ping réel in game CS2 avec la fibre 8gbit/s + un PC à 3000€ qu'a l'époque de l'adsl 2mbit/s avec un PC à 1200€ sur cs:source.
Invité très pertinent ! Merci pour la vidéo
Pour répondre à la question sur over Watch, la réponse est la prédiction du comportement . Ton adversaire bouge un moment t’es dans les 50 ms il sera à une position P. Le client calcule la trajectoire à la moitié de cette distance. Soit où sera l’adversaire normalement dans 25 ms.
merci, un sujet qui me passionne depuis tjs
Le choix de partenaire en fonction des sujets, vraiment classe
1:30 Faux. Vérification faite, Minecraft n'a pas commencé par le partage de monde en local, mais a d'abord sorti la fonctionnalité multiplayer via un serveur officiel fixe (0.0.15a fin mai 2009), puis a permis de saisir une IP de serveur tiers (v1.0.15 en août 2010), et a enfin ajouté le bouton "Open to LAN" deux ans plus tard (1.3.1 en août 2012). Cf Minecraft Wiki.
T'es le genre de mec à chercher la petite bête sans importance avec le sujet traité 😂
@@julkido Je suis le genre de mec qui apprécie qu'on le corrige quand il se trompe, et qui fait un effort pour ne pas se tromper (ou qui nuance en cas d'incertitude). J'ai joué à Minecraft à compter de mars 2011 et je me souvenais justement que l'Open to LAN n'était pas encore présente quand j'ai commencé à jouer. Mais vu que je ne veux pas dire des bêtises, ça m'a pris seulement 5 minutes pour retrouver l'information grâce au formidable travail non payé des rédacteurs du wiki participatif. L'idée était de sourcer mes propos pour que vous n'ayez pas à passer trop de temps à vérifier voire avoir l'outrecuidance de me contredire à tort.
Je ne me permettrai pas de mon côté de dire quel genre de mec tu es. L'ad hominem, très peu pour moi. Salut.
🤓
Ouah richie tu dates ! Merci pour la précision
Bien que t'es raisons sur ta mention, là n'était pas la question, ni le sujet.. c'est complètement zappable
Très bonne vidéo, merci l'équipe Underscore!
Pour une idée de prochaine vidéo, j'aimerai en apprendre plus sur les algorithmes de suggestion des réseaux sociaux; quel sont les éléments techniques et psychologiques que TikTok/ Instagram utilisent
Le gars est super agréable, souriant et compétent, j'adore et bon courage
J’ai pas du jouer a quoi que ce soit depuis plus de 10 ans, mais en tant que dev c’est techniquement passionnant 🔥
OVERWAT ! Merci pour cette vidéo super intéressante. C'est pas pour rien qu'OW à un feeling qualitatif peu présent dans d'autres jeux.
OW tellement dommage que le jeu ne soit plus mainstream... c'était juste une pépite absolu ce jeu, quel gachis....
@@Baraka0369 actuellement blizzard tente de redresser la bar avec plus de contenus gratuits, genre héros dispo comme avant et un revenu de pièce plus important par contre ça ne te garantie plus d'avoir les meilleurs skin mais tu peu de nouveau un petit grinde. il leur reste encore beaucoup d'effort de ce côté là mais j'espère qu'il sauront retrouvé un équilibre plus sain
En tant qu'ancien joueur Pro, il y a des choses que je ne savait même pas super passionnante que j'ai appris dans cette vidéo! :D Merci beaucoup! ;)
hyper clair et intéressant
Merci! A la 10 ème minutes je comprend pourquoi quand je joue aux fps sur r6s en partage de connexion 4g je perds tout mes duels en faites clairement
Avantage au tireur.
Ping qui fait yoyo.
Qui se rappelle du ex_interp 0.01 sur CS1.6 ? :)
moi :D
7:33 c'était moi ça 🤣🤣🤣
wow! vidéo super intéressante et surtout instructive! j'ai beaucoup appris et pour cela, merci
Merci pour cet entretien très intéréssant sur le développement de jeu.
un vidéo la dessus c'est très cool, ça donne quelque idée avec plus de précision c'est très cool.
exemple overwatch : si vous lancer une bombe(ultimate) de tracer mais qu'en même temps vous mouriez si votre bombe n'a pas touché quelqu'un ou un objet dans ce laps de temps cette dernière disparait. car la cible n'a pas été acquise et le serveur auto corrige la position
Ironsight FPS indé (équipe de moins de 10pers.) avec son propre moteur graphique & netcode! Beaucoup de joueurs râlent car le jeu est "buggé" mais faire cohabiter des joueurs de 15ms à 150ms de ping (pas assez de joueurs pour filtrer) sur une même partie dans un FPS dynamique sans ruiner l'expérience c'est une prouesse, là où je suis admiratif certains n'y voient que l'aspect négatif ^^"
Je pense que les jeux indé multi compétitifs ne fonctionnent pas autant que les mêmes en AAA, pas pcq les indés ne pensent pas au détails comme dit durant la vidéo, mais plus à cause d'un manque de budget. Quand t'es un studio de 5 personnes tu peux pas avoir des serveurs comme ceux de Riot, Ubisoft ou autre et tu ne peux pas avoir un ou plusieurs dev spécialisé dans le réseau. Certains studios indés peuvent faire des jeux plus peaufinés que certains studios AAA car même si y'a moins de budget les indés peuvent se permettre de prendre plus de temps pour finaliser leurs jeux, contrairement aux gros studios qui ont leurs actionnaires et éditeur aux fesses.
Les indés ont pas le budget marketing pour construire une grosse communauté aussi.
C'est ce qu'il dit à la toute fin
@@dyozz et pour les cash prize aussi car certains jeux, bien que moyen, ont une grand scène compétitive juste parce qu'il y a de l'argent
en vrai rocket league jsp si on peut considerer ça comme un jeu indé, mais c'est pas un triple A, pourtant c'est un jeu tier 2 en esport (après epic a racheter le studio de RL "psyonix") mais le jeu aujourd'hui se porte bien, y'a eu un contrat de 4 ans signé avec blast pour l'organisation des LAN. au final, c'est possible
Incroyable vidéo !!! Mais j’ai une question : Dans un fps, quand tu te fais tuer et que tu regardes la killcam, c’est la vision de qui qu’on voit du coup ? Celle du client de mon PC, celle du client de l’adversaire ou celle du serveur ?
Continuez les vidéos comme ça c’est un régale, un bon courage pour le développement de leur jeu 👍
Pas de rapport, à partir du moment où le serveur te donne le kill ça pourrait être celle de ton client ou celle du serveur mais le serveur à priori n'a pas de moteur de rendu graphique et même si il avait un faudrait envoyer l'information, donc c'est ton client.
Le serveur t'envoie les positions donc dans tout les cas c'est pareil pour tout le monde, mais après pour savoir exactement ce que ton adversaire a vu c'est plus complexe car faudrait savoir en combien de temps il a reçu les données ect, donc c'est pas très précis car on fait pas ça. Cela doit donc se basé sur les données de ton client qui sont celles reçu depuis le serveur.
Il à mixé serveurs dédiés et serveurs cloud. Les serveurs dédiés sont l'équivalent de quelqu’un qui host mais "headless" c'est à dire, sans le rendu visuel du jeu et généralement sur une machine dédiée, d'ou le nom. Les joueurs se connectent dessus comme si c'était un joueur qui hébergeait. L'avantage étant que dans un LAN, un joueur peut également faire le host ou avoir un PC dédié aux host des jeux. Historiquement, c'était la technique standart pour tous les jeux, même les compétitifs (jusqu'à la démocratisation du XboxLive).
Les serveurs "cloud" sont eux hébergés par les devs/éditeurs, les fameux jeux services qui deviennent injouables lorsque le dev/éditeur décide et les joueurs.
Les jeux ont petit à petit abandonné le serveurs dédiés pour faciliter la vente du jeu comme un service au détriment du consommateur.
merci. grâce a cet vidéo j'ai une nouvel excuse dans les jeux multis quand je me fait team diff XD sérieusement j'ai apris plein de truc chouette come d'hab. super vidéo
Excellente vidéo, merci
Correction, un server dédié n'est pas nécessairement dans le cloud, c'est simplement une machine (sur internet ou en local) dédiée à héberger une partie, indépendamment du client/admin qui le gère ; ce qui évite qu'une partie s'arrête si l'hôte à la fois server et client plante ou se déconnecte :)
Vraiment intéressant ce sujet. Il n 'y aurait pas moyen d'avoir une vidéo technique consacrée à ce seul sujet ?
Super vidéo ! Et une équipe de folie !
Pour l'exemple de LoL, certains éléments du jeu permettent de révéler des ennemis qui sont en dehors de cette zone de transition (je pense au trinket bleu, ou encore à l'ultime de twisted fate). Il y a une astuce en place ou est-ce qu'on se prend peut-être la latence sans le remarquer ?
C'est sûr qu'il y a la latence
Moi, sur Crossout dernièrement, en course (même pas en combat, juste une course avec d'autres joueurs), passant de 40 à 400, 700, puis 2500ms !
Même maitre Yoda n'aurait pas réussi à gagner une course avec des virages partout, avec 2,5 secondes d'écart entre la commande au clavier et le résultat à l'écran.
Il parait que c'est un jeu russe (Targem / Gaijin). Moi, j'avais entendu dire que c'était hongrois.
Mais avec un ping à 2500ms, à mon avis il est plutôt sur Mars, le serveur.
Super intéressant merci à vous
Cette vidéo répond à presque toutes les questions que je me posais sur le sujet sauf une, pourquoi maintenant une haute fréquence d'image par seconde est a " la mode" surtout dans les jeux compétitifs ? 240hz, 360hz voir 480hz ? est ce que cela change vraiment quelque chose au niveau du moteur du jeu ou au niveau réseau ?
Et la nouvelle feature de CS2 de prediction ?
Dark Age of Camelot (DAoC), un MMO légendaire adulé par la communauté PvP, sorti en 2001 par Mythic Entertainment, a ete dev par une petite equipe. Interview tres interessante merci a vous!
Trop bien cette vidéo trop bien C’est incroyable de savoir tout ça
6:07 c'est très proche de la relativité restreinte, avec la non simultanéité des événements, sauf qu'au lieu que le délai soit du à la vitesse de la lumière, il est du à la façon dont les informations transitent et sont traitées. Mais les implications finales sont assez proches, au fond.
Ce qu'il explique sur le "snap", Gaijin (des devs russes) le font depuis maintenant 15ans ! On les prenait pour des fous à l'époque, mais ca marche ! (mais ultra independant de la qualité de co aussi)
Overwatch Pareil que Guild Wars 2 pour le coup. On a des pouvoirs très spéciaux avec de grosse influence sur des mini jeux pvp, tirer des ennemis vers soit,
téléportation etc
Haha le développeur c’est un 3v3 enjoyer 😂
En fait, pour résoudre simplement le pb du wallhack, il faudrait exécuter le jeux en entier sur le serveur et envoyer seulement le streaming au client non ?
Dans tous les cas, le jeu ne sera pas agréable à jouer si rien n'est calculé côté client car tu as la latence sur tout ce que tu fais. Le streaming c'est bien pour les jeux solo ou non compétitifs.
Super intéressantes ces techniques.
Même pour les jeux solo 2D ou 3D, tu te retrouves à faire certaines bidouilles invisibles du joueur pour éviter que ton perso se retrouve bloqué dans le décor.
Faut être magicien développer.
Très bien vulgarisé, bravo à l'intervenant, cependant, je regrette que le cas StarCitizen n'a pas été abordé car c'est également une prouesse technique !
Un super exemple: Conqueror's blade. Ils ont réduit un truc sur les serv car ça ramais trop et depuis les action d'un joueur se répercutent parfois 1seconde aprés....
Passionnant cet épisode !!!
C'est quoi deja le nom technique pour "la balistique" dans les jeux vidéo?
Tu parles peut-être de ray tracing?
c'est des Raycast
@kurhooni5924 Les deux principales sont soit la simulation de projectile, avec un temps de trajet jusqu'à la cible.
Soit, le "hitscan", qui est quant à elle instantanée et est la méthode de tir la plus répandue encore à l'heure actuelle.
Pour le hitscan tu ne tir par vraiment un projectile (même si un projectile est visible dans les jeux, rendu visuel vs logique, etc), mais tu vérifies si une cible se trouve sur la trajectoire de ton viseur au moment du clic. Si c'est le cas, tu infliges des dégâts. Je résume grossièrement, mais c'est l'idée.
Aucune "technique", c'est juste des maths, de l'algèbre et de la trigo de base.
La mer baltique
un dev de star citizen sur ça pourrait être incroyable
excellent sujet merci
le petit sourire du dev a 18:30 quant elle est en train d'expliquer une solution utiliser actuellement dans les jeux alors qu'elle dev pas de jeu est magique !
D'ailleurs c'est possible les calculs sur le serveur pour pas envoyer les positions dans un fps, c'est juste que les devs veulent pas payer plus cher car ils peuvent faire tourner moins de parties par machine.
Je pense qu'on a tous pensé à cette solution au moment où il a commencé à expliquer le problème de la porte juste avant ! Elle est sûrement très intelligente mais il n'y a pas besoin d'être intelligent pour penser à cette solution
Super intéressant !! 🤩
fun fact sur wow on utilisait la grosse latence qu'on a (140ms) pour dupliqué des loots en gros on récupérait en même temps, ça nous donnait chacun un loot (à l'époque où le loot était unique)
Sympa cette vidéo 👌
Le pire quand tu faisais une lan c était de se trimbaler l écran, horrible ! Génial cette vidéo
Alors je m'y connais pas DU TOUT en code de jeu vidéo, encore moins multijoueur, mais ça fait plus d'un an que j'ai pensé à ça : et si le client simulait la latence à un instant t. Je m'explique : le joueur a 50ms de latence, il tire sur un autre joueur, le client envoie l'information du tir au serveur, le client simule le tir 50ms après qu'il ait été fait, le serveur renvoie les informations 50ms plus tard pour rectifier les erreurs. Ce qui fait que "le serveur est avantagé" et non plus un des deux joueurs. Alors oui une mauvaise connexion impactera directement le système, mais n'avantagera jamais un des deux joueurs en fonction de s'il tire ou s'il se fait tirer dessus !
De plus, la correction d'erreur serait un peu plus fréquente mais beaucoup moins forte, ce qui entraînera moins de frustration pour les 2 joueurs
Pas loin de ta suggestion: Ce que les serveurs de certains jeux peuvent faire, c'est de la prédiction, il prédit ou seront les différents clients dans x ms, et il envoie à tous les clients ces informations. Du coup les clients voient ou les autres joueurs seront probablement en tenant compte de leur latence. Ça cause moins de situation rageantes, mais ça a d'autres inconvénients(personnages qui paraissent glisser ou se teleportent, entre autre).
@@denisturtle9394 on le fait déjà t'inquiète pas 😄. Après tout le monde ne fait pas pareil à 100%.
@@marvin.toyboyOk c'est rassurant de savoir que des gens ont pensé à ça avant moi 😅
16:17 mdr. Pareil, j'ai cru aussi
Dans Minecraft, tout est autorisé par le serveur : le client fait ce qu'il veut. Mais si le serv est pas d'accord, il y a un rollback dégeu sans transition horrible 🤣
Pour l'annulation côté serveur je suis pas complètement d'accord. Pour la prediction, le client va envoyer la boule et ça va partir sur le serveur en même temps avec des possibles interpolations etc comme il l'a dit. Mais si le client envoie la boule alors qu'il n'avait pas le droit(triche) alors elle ne sera tout simplement pas lancée sur le serveur donc pas besoin de la supprimer. La boule existera seulement sur le client, les client simulés et le serveur ne verront pas la boule donc pas d'annulation nécessaire.
Passionnant, merci
Il y a 2 talk de 1h à la GDC (17) qui parle du network d'Overwatch et qui explique en détail la méthode et la tech :
GDC Replay Technology in 'Overwatch'_ Kill Cam, Gameplay, and Highlights
et GDC Networking Scripted Weapons and Abilities in 'Overwatch'
Aussi, le sujet est bon mais n'est pas complet, il aurait été bien de parler du déterminisme (ow par ex) mais aussi des RTS et des jeux de combats où les inputs sont directement envoyés au serveur.
Je me suis amusé à coder 2 petits jeux en réseau et j'ai mis toute les actions sur le serveur. En gros le client il se contente d'envoyer les commandes du clavier et de la souris au serveur et il affiche ce que le serveur lui dit d'afficher (avec interpolation pour que ça soit fluide) Du coup le serveur fait autorité et il n'y a aucun des problèmes cités et en plus la triche est impossible. Quelle est le problème avec cette approche? Pourquoi ils ne font pas ça dans les AAA?
Pourquoi ne pas attendre que le calcul côté serveur valide le kill pour ensuite valider celui du client?
16:13
"comment ils ont fait, je sais pas"
je sais que pour le jeu For Honor, il y'a un système de compensation de lag. generalement dans des jeu en ligne, les joueurs qui jouent ensemble dans une meme partie, se connecte sur un serveur suffisament proche de chez eux geographiquement. ducoup ça permet déjà de reduire le lag au minimum. ensuite l'étape suivante étant de rajouter un lag artificiel au client (le joueur qui lance l'attaque dans le jeu) afin que ça match avec le moment ou le joueur adverse est supposé recevoir l'attaque.
exemple :
=> Le coup est normalement de 500ms
=> On retire X ms sur ce coup avec le lag
=> il passe à 500-X ms
=> On rajoute X ms sur ce coup grâce au lag compensateur
=> Il arrive donc à 500 ms sur votre écran.
j'pense un système comme celui ci serait problematique si jamais il faudrait faire jouer des joueurs très éloigné des serveurs ensemble. la latence serait plus haute, rajouter une compensation de latence trop haute, ça serait beaucoup trop perceptible par le joueur, et desagréable, il y'aurait un effet d'input lag, comme quand on joue sur une console old gen sur un TV a 30fps
C'est à cause de ces systèmes qu'on dit souvent que le joueur qui lag le plus est le plus avantagé.
@@julkido non t'as rien compris. je parle pas d'un lag de connexion, je parle d'un lag in game, comme un input lag artificiel. toi quand tu parle de joueur qui lag, c'est un lag de connexion, si le joueur a un ping trop elevé, alors ça sera bugué des deux cotés de toute façon
Tres bonne vidéo ! Dommage qu'il n'ait pas parlé de la prédiction de déplacement ou du fait que Valorant a éssayé la méthode anti wallhack de ne pas donner la position de tous les joueurs en permanence mais ils sont revenus en arrière pour plusieurs raisons
Super intéressant. On n'imagine pas tout ça, quand on n'est pas dedans
Je me souviens d'une partie de Fortnite y'a 2 ou 3 ans. Je précise : niveau DEBUTANT définitif ( et je regrette qu'il n'y ait pas des façon de jouer en local comme dans Doom ou GTA )
J'avais à l'époque une connexion... en wifi via mon tel en 5G ( 3 doses ça aidait mais pas assez. . . )
La connexion était tellement pourrie, à un moment donné j'attendais dans les WC, la porte s'ouvre, Boum au pompe , je l'ai descendu en 2 tirs.
Puis sur le flanc d'une montagne, apparait un jour, on était les 2 restants. Je l'ai vu LAGGUER :
j'ai tiré : TOP 1 !! ça a été mon seul TOP 1 dans un jeu de type "battle royal".
la cause : une connexion pourrave.
Hyper intéressant l'intervenant !!
Ma modeste contribution à ce problème de latence: L'oiseau ne se plaint pas que le poisson ne soit pas à la position où il le voit. Il vise à côté sachant qu'il y a une ""latence"" visuelle .
Dans ce cas c'est sur tout un problème de réfraction de la lumière
@ réfraction de la lumière ou « réfraction temporelle » conséquence de la latence, on a le même résultat de vision décalée .
Pour le couteau qui grab ca peut pas etre le jeu qui a un calcul de probabilité de ce qui va se passer quand le couteau touche? et en fonction de la probabilité de rapatriment du joueur touché il prévoi la position et la met en memoire tampon et l'applique si le mec réactive vraiment la touche pour rapprocher l'énemi? c'est juste une idée à la con d'un mec qui n'y connait rien ^^ mais j'aime imaginer des trucs ^^
ce qu'il dit a 12:50 c'est pour ça qu'il y a des ghost touch sur rocket league (surtout avec du ping)
Vidéo très intéressante, même si je n'ai joué qu'à Travian dans lequel une latence d'une seconde peut convenir.
Contabo propose de meilleur VPS pour moins cher, bonne journée
Je ne sais pas si c'est toujours le cas mais à l'époque, sur Aion, la vitesse d'attaque était gérée par le client. Je vous dis pas le bordel mdr
Micode on t'aime on met un j'aime et on nourrit l'algo pour toi
Passionnant !!! ❤
pour la prochaine vidéo, tu pourras parler du téléphone cmf phone 1 de chez nothing stp, tout le monde dit que c'est une dinguerie pour le prix et tout mais j'aimerais ton avis
Comment ça se passe sur un jeu comme sur R6 où tu peux justement tirer à travers les murs et tuer l'adversaire sans forcément les voir ?
J'ai une question, je joue sur des serveur en EUROPE et mon amie lui, joue depuis le bresil. Sur lol c'est impossible cela lag trop pour lui mais par contre sur Apex et sur les jeux BLIZZARD (ow,wow,diablo) il ne ressent pas le lag et on peut jouer ensemble depuis 2 l'europe ou l'amérique. comment ils font ?
Ca dépend d'abord d'où sont hébergés les serveurs. Si les serveurs d'Apex sont aux US, c'est plutôt à mi-chemin entre l'europe et le brésil, ça "ira". Après ça dépend aussi du type de jeu. Les jeux type wow/diablo ne souffrent que très peu d'une latence élevée et il est assez simple d'en masquer les effets.
Serveurs mieux situés pour vous 2 j'imagine.
Overwatch est sans doute un des meilleurs jeux niveau netcode et son spatiale. C'est de loin le jeux ou j'ai le moins de no reg.
choix d'OP dans le theme on aime
Ca aurait été intéressant d'avoir un me de triple A parler de multi compétitif également
On a invité des fantômes sur le plateau
Quand le mec explique vraiment tout les cas ou les serveurs te désavantage et que j'ai tout les cas combiné et que je suis toujours pas éligible pour une meilleure connexion 😢, maintenant je comprends mieux. M'enfin, je prie pour décembre (askip on sera éligible mais bon la commune disait qu'on serait éligible y a 5 ans déjà donc...)