Partage
  • Partager sur Facebook
  • Partager sur Twitter

Émulation de jeux vidéos

Sujet résolu
    30 décembre 2014 à 20:07:38

    Bonjour à tous,

    Je repensais au temps où je jouais encore au jeux vidéos, et notamment aux serveurs privés de MMOPRPG :p

    Mais comment sont fait ces émulateurs de jeux ? o_O

    Merci de m'éclaircir :)

    -
    Edité par Anthonyyy 30 décembre 2014 à 20:08:26

    • Partager sur Facebook
    • Partager sur Twitter
      30 décembre 2014 à 20:20:19

      Pas mal de hack, beaucoup de biblio, et énormément de travail...

      -
      Edité par int21h 30 décembre 2014 à 20:20:50

      • Partager sur Facebook
      • Partager sur Twitter
      Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
        30 décembre 2014 à 23:16:57

        Ca répond à ma question, certes, mais bien trop vaguement :p

        Comment ça beaucoup de biblio ?

        Comment est-ce possible de "remplacer" le code original d'un jeu par un autre ? Puisque que c'est bien ça le truc, on reprend toute la partie graphique d'un jeu et on change ce que bon nous semble. Mais comment est-ce possible ? Pourquoi on émulerait pas autre chose et n'importe quoi alors ?

        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2014 à 17:59:50

          Bonjour Anthonyyy, je déplace ton sujet dans "Discussion développement" car ton problème ne concerne pas vraiment le C++.


          Sinon, pour en revenir à ta question, je dirais qu'il faut énormément de patience et de connaissance.

          Le code source du serveur n'est pas accessible puisque celui tourne sur un PC (ou plutôt un serveur dédié) de l'entreprise qui a fait le jeux.

          Toute la difficulté de la chose repose donc sur le principe de refaire un code qui fait exactement la même chose sans avoir accès aux sources.

          Pour cela, il y a donc une très grosse partie de hack coté client pour comprendre le fonctionnement du jeux.

          Voici quelque exemple :

          1/ si le client n'est pas un jeux compilé (c'est le cas de Dofus par exemple), il est possible d'extraire plus ou moins facilement le code source du client.

          En analysant comment le client traite les données du serveur, on peut se faire un idée de comment le serveur les génère et donc développer le code du serveur

          2/ il est aussi possible d'utiliser des analyseur réseau pour voir les échanges de données entre le client et le serveur

          En faisant ça, on se fait une idée des différentes données qui circulent, on sait quoi et quand envoyer donc on peut là encore tenter de développer le code du serveur qui génère ces données

          Cela prend énormément de temps donc il faut être patient.


          Le code d'un serveur est aussi très complexe puisqu'il faut gérer pas mal de chose à la fois.

          Du coup, on utilise des bibliothèque pour se faciliter la tache.

          On peut par exemple utiliser :

          - une lib SQL qui se chargera de faire des requêtes sur une base de données stockant les infos des joueurs (à condition d'avoir bien analyser le jeux pour savoir ce qu'il faut y stocker)

          - une lib réseau qui se chargera de gérer une connexion avec des centaines de joueurs

          - une lib de threading qui permettra d'utiliser tous les coeurs de la machine (sachant que de nos jours, tous les processeurs sont dual core ou cuad core, c'est assez pratique comme lib)

          • Partager sur Facebook
          • Partager sur Twitter
            1 janvier 2015 à 13:00:21

            Ah voilà qui m'éclaircis l'esprit!

            Merci pour votre réponse :)

            • Partager sur Facebook
            • Partager sur Twitter

            Émulation de jeux vidéos

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown