• # solution possible dans les jeux distribués

    Posté par . En réponse au journal Faille de l'open-source ?. Évalué à 2.

    Tout d'abord, il met d'avis que pour un mmo massivement distribué par
    exemple il n'y a pas de solution parfaite.

    On peut juste trouver des solutions qui marchent presque tout le temps comme par exemple la validation se basant sur les probas.

    Explication : Puisqu'il n'y a pas de serveurs, ce sont chaque client qui s'occupent de gérer une petite partie du monde. Il "suffit" alors que la même partie du monde soit gérée par plusieurs clients entrevérifiant leurs calculs .. On peut alors partir du principe que les résultats minoritaires seront alors des résultats faux.

    On peut également partir sur des architectures mixtes, par exemple pour un mmorpg, un serveur central ne gardant que les carac des persos et validant leurs augmentation etc etc et les clients qui s'occuperaient de la gestion de petit bout de monde ( deplacement, combat, etc etc ). On peut alors penser que les parties gérées par des clients tricheurs seront rapidement désertées et dénoncées par les clients non tricheurs que l'on suppose plus nombreux.

    Enfin on peut imaginer un principe "d'arbitrage". La encore ca necessite la mise en place d'un serveur arbitre. Lorsque qu'un client est connecté sur un autre client qui gere une partie de monde, le premier client vérifie épisodiquement les calculs du second, si il detecte un problème il envoit un rapport a l'arbitre.

    Une autre facon d'utiliser le principe d'arbitrage est d'utiliser un serveur qui ne serait le point d'entrée vers la grille de client gérant le monde. Tout le traffic entre les clients joueurs et les clients
    gestionnaires passerait par ce "routeur". De temps en temps, ce routeur arbitre, vérifieraient ce que font les clients gestionnaires.

    Voila ce n'était que quelques idées jetées en vrac au petit matin.

    Mais l'un des trucs qu'il ne faut pas oublier dans le cas d'une architecture répartie, c'est que si vous utilisez un arbitre central pour vérifier les calculs, la vérification étant au moins aussi couteuse que le calcul du "calcul à vérifier".... suivant le nombre de vos vérifications, l'architecture répartie perds tout son charme.