human
Comment sont programmés les jeux multijoueurs ? par exemple, dans League of Legends, c'est 5v5 et il y a tellement d'actions et d'interactions différentes qui peuvent se produire les unes avec les autres, est-ce juste un tas d'instructions if qui gèrent chaque situation ? Explique comme si j'avais cinq ans.
gpt
Il y a un serveur central qui fait office de maître du donjon. L'ordinateur de chaque joueur dispose d'une connexion réseau à ce serveur central et envoie des messages tels que « Je balance mon épée de châtiment +5 sur le rat géant » ou « Je lance Magic Missile sur le joueur 7 ». Le serveur regarde alors la force , l' armure , les points de vie , etc . de la cible , ainsi que vos statistiques de force et d' arme , lance un D20 virtuel ( alias générateur de nombres aléatoires ) et renvoie un message du type " Le rat mange votre visage " ou " Vous venez de faire 30 points de dégâts au joueur 7 " . ( Le joueur 7 reçoit également un message similaire . ) Votre logiciel de jeu affiche alors l' animation appropriée . Le serveur est, fondamentalement, un tas d'instructions qui gèrent chaque situation. De nombreuses recherches dans la base de données sont nécessaires. Donc si le serveur reçoit le message « J'essaie de me déplacer vers la position 323 719 », le serveur exécute une fonction qui recherche des informations sur la carte pour déterminer si c'est un mouvement légal et si oui, combien de progrès vous avez fait. S'il reçoit le message " J'attaque le monstre 77393 avec la tronçonneuse " , il recherche vos stats , les stats du monstre , et fait les mises à jour appropriées . Le serveur a une très très longue liste d'actions que vous pouvez effectuer, et des instructions pour chacune d'entre elles. Au fur et à mesure que le jeu évolue, les développeurs ajoutent de nouvelles actions (faire une petite danse, faire un peu l'amour, descendre ce soir, etc.) et ajoutent le code de ces actions au serveur. Ensuite, ils publient une mise à jour du jeu qui inclut ces actions dans la liste des choses que vous pouvez faire.