IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Jeu multijoueur online synchro


Sujet :

Flash

  1. #1
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut Jeu multijoueur online synchro
    Bonjour,

    Certain ont surement déjà vu des site de jeu flash dans lesquel on peut déplacer un personnage et voir en meme temps se déplacer les personnages des autres joueurs.

    Je n'ai pas beaucoup de connaissance en développement flash et je me demandé donc comment sont réalisé ces genre de jeux. Le principe qui se trouve derrieres pour récupérer en temps réel les données de chaque joueurs, leurs déplacements...

    De plus ce principe peut t il etre repris dans d'autres langage ? Applet Java, php ?

    Et enfin peut il etre implementé sur des hebergement classic ou necessite t il un systeme spécial réservé aux professionnels ?

    Merci
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  2. #2
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Le secret de ce style de jeu réside dans la synchronisation d'informations entre tous les clients (joueur) grâce à l'utilisation d'un serveur central généralement développé en Java.
    Dès qu'un joueur change de position, le client Flash (dans notre cas) envoie cette information au serveur Java qui se charge de distribuer cette information aux autres joueurs (client Flash). Lors de la réception de cette information, les client interprète le déplacement du joueur et l'affiche à l'écran.

    Pour comprendre comment communiquent un client et un serveur, penches toi sur de la documentation concernant les socket !

    Popur finir je dirai que cette techno n'est pas facilement réalisable en PHP et surtout ne présente aucun intêret dans ce langage !!
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  3. #3
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    C'est donc le serveur qui envoi les données à tous les client lorsque il y a modification d'une position d'un joueur et non pas le client qui questionne le serveur à intervalles regulieres pour voir si il y a des modifications sur la positions des autres joueurs ?
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  4. #4
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    salut,

    Citation Envoyé par Seb33300
    et non pas le client qui questionne le serveur à intervalles regulieres pour voir si il y a des modifications sur la positions des autres joueurs ?
    si c'est un jeu de stratégie un peu genre "tour par tour" ça marcherai aussi...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  5. #5
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par dom_dev
    si c'est un jeu de stratégie un peu genre "tour par tour" ça marcherai aussi...
    Je ne suis pas forcément d'accord avec cette idée qui fonctionne en théorie mais en pratique, il faut se méfier des décalages qui peuvent survenir entre les clients.
    Petit exemple qui met en avant les problèmes de synchronisation gérées par les clients : pour deux clients reliés à un serveur, la partie commence au top départ du serveur (h) avec un tour durant plusieurs secondes (n).
    Supposant que le client A mette i secondes à communiquer avec le serveur et le client B (i + j) secondes.... un premier décalage apparaît !
    Au bout de n secondes chaque client demande les nouvelles positions des autres joueurs et les obtient en décalé :
    . client A = i + i + (i+n)
    . client B = (i+j) + (i+j) + (i+j+n)
    Nous obtenons un décalage de 3*j secondes.... qui grnadira au fur et à mesure moyennant une resynchronisation des clients.

    Alors que si c le serveur qui gère tout (top départ + envoi de mis à jour sans demande de la part du client), nous tombons dans le cas de figure suivant :
    . client A = i + (i + n)
    . client B = (i+j) + (i+j+n)
    Un décalge de seulement 2*j.... le temps d'aller du message!


    Je ne sais pas si mon exemple est très parlant
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  6. #6
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Et il faut installer quoi sur le serveur pour avoir un systeme de ce genre (tout est géré par le serveur) ?

    Existe t il des tutoriels ? Est ce gratuit (ou existe t il des systemes gratuit) ?
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  7. #7
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Bah tu dois le programmer toi même le serveur en Java pour qu'il réponde à ton besoin !
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  8. #8
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    a wé <_<

    mais il en existe pas de plus ou moins "générique" ?
    Apres tout ce n'est qu'envoyé des données à tous les utilisateur en meme temps.

    Tu n'aurais pas un exemple de serveur java ? (avec les sources si possible)
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  9. #9
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Apres quelques recherches j'ai trouvé ça :
    http://www.supinfo-projects.com/fr/2..._client_flash/

    Je n'est pas tout lu mais je pense qu'il donne une idé de ce qui doit etre fait pour la creation d'un serveur java.

    Par contre il date de 2004 donc je sais pas trop si les méthodes utilisé ne sont pas un peu "viellottes" :/
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  10. #10
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Je pense que c une bonne base pour débuter... après il te suffira de te pencher sur les source Java histoire de voir ce quelles valent
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  11. #11
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    Citation Envoyé par Seb33300
    http://www.supinfo-projects.com/fr/2..._client_flash/
    le même auteur a déjà présenter son tutoriel ici même :
    http://defaut.developpez.com/tutoriel/flash/xmlsocket/
    je l'ai testé ça marche parfaitement.

    Citation Envoyé par nounetmasque
    Je ne suis pas forcément d'accord avec cette idée qui fonctionne en théorie mais en pratique, il faut se méfier des décalages qui peuvent survenir entre les clients...
    Dans ce cas la il faut utiliser une horloge logique dite de "Lamport".

    Enfin coté hébergeur c'est pas évident que trouver un hébergeur gratuit qui te laisse démarrer et gérer un serveur java sur ses machines !?
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  12. #12
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par dom_dev
    Dans ce cas la il faut utiliser une horloge logique dite de "Lamport".
    Je ne connaissais pas cette notion

    Citation Envoyé par dom_dev
    Enfin coté hébergeur c'est pas évident que trouver un hébergeur gratuit qui te laisse démarrer et gérer un serveur java sur ses machines !?
    Le mieux pour une personne qui désire utiliser une application client/serveur est de disposer de machines personnelles car je ne sais même pas si de tels hébergeurs (gratuits) existent.
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  13. #13
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Ok, mais je ne parlé pas d'hebergeur dédier, je pensé qu'il fallait installer sur le serveur une application spécialement dédié a ce genre de chose (genre apache pour php) mais vu que l'on doit se la développer nous meme elle est gratuite :p

    Par contre je ne trouve pas grand chose sur les horloges lamport
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  14. #14
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,

    laisse tomber les horloges de lamport qui ne servent qu'à synchroniser des apllications réparties, je répondais plutôt à "nounetmasque".

    par contre si tu modifies le serveur java fournit dans l'exemple pour qu'il mette à jour les données sur tes clients, il faudra bien que ce serveur java, même si c'est toi qui le développe, soit sur le disque d'un hébergeur.
    Peut être peux-tu l'installer sur ta propre machine si tu disposes d'une adresse IP fixe.
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  15. #15
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    J'ai un serveur dédié
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

Discussions similaires

  1. Cherche programmeur(s) pour jeu multijoueur
    Par Val_Graph dans le forum Projets
    Réponses: 22
    Dernier message: 14/05/2007, 18h34
  2. Réponses: 6
    Dernier message: 19/10/2006, 17h33
  3. Petit jeu multijoueur en ligne (commençons simple lol)
    Par Archaoniro dans le forum Langage
    Réponses: 25
    Dernier message: 24/03/2006, 18h31
  4. [Jeu MultiJoueurs] Quel choix de base de données ?
    Par Torpedox dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 20/03/2006, 10h23
  5. [2D] Questions sur le jeu Slayers Online
    Par Extra-Nitro dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 04/02/2006, 19h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo