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

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 10
    Points : 7
    Points
    7

    Par défaut Besoin d'aide pour un jeu 2D en ligne

    Bonjour a tout le monde , alors voila j aurais besoin qu on m éclaire au sujets des sockets ,je créer un jeu 2D en ligne , j arrive a connecter plusieurs clients au serveur mais voila mon probléme :
    je voudrais créer une entité graphique pour chaque client connecter au serveur et que chaque entités soit visibles par les autres clients tous sa avec les librairies swing et 2Dgraphics mais je ne sais pas trop comment m y prendre j aurais besoin juste d une idéés globale de la chose et comment elle fonctionne ... merci pour votre aide.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    juin 2007
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 060
    Points : 7 118
    Points
    7 118

    Par défaut

    Tout dépend de tes contraintes réseaux et de la complexité des éléments à afficher. Il y a pleins de techniques différentes.
    Supposons que le nombre d'éléments à afficher est très petit et que les changements ne sont pas trop fréquents. En très gros, voici l'idée : le serveur contient la description de tous les éléments graphiques. Le client envoie un ordre (genre le joueur appuie sur une touche). Le serveur calcule les nouvelles positions des éléments graphiques et envoie les changement à tous les clients. Lorsque le client reçoit des modifications, il affiche le résultat en calculant l'affichage ) partir des nouvelles données.
    Plus le jeu est "lourd" plus il faut déporter les calculs d'affichage sur le client.
    Si cela se prête à ton type de jeu, le client calcule tout en local et envoie toutes les modifications au serveur. Régulièrement (à toi de voir selon tes besoins : toutes les secondes ? minutes ? heures ?), le client se synchronise avec le serveur pour tout mettre à jour.

    Mais sans info supplémentaire sur tes contraintes (réseau, temps de réponse, nombre de joueurs, ...), on ne peut pas répondre correctement à ta question.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Expert éminent sénior

    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    6 810
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 6 810
    Points : 14 247
    Points
    14 247

    Par défaut

    c'est une forme de programmation et conception ardue je conseille de commencer par une programmation poste à poste

    Citation Envoyé par Altarois Voir le message
    mais je ne sais pas trop comment m y prendre j aurais besoin juste d une idéés globale de la chose et comment elle fonctionne ... merci pour votre aide.
    si tu n'as pas idée de ce que tu fais alors on ne peut pas t'aider et c'est le serpent qui mord sa queue

    Citation Envoyé par Altarois Voir le message
    je voudrais créer une entité graphique pour chaque client connecter au serveur et que chaque entités soit visibles par les autres clients tous sa avec les librairies swing et 2Dgraphics
    Dans un jeu client serveur l'intérêt est que le programme serveur "redispatche" les événéments des joueurs vers les clients ( déplacement,tir...)
    Donc si une entité bouge donc le client il faut envoyer un message "entité a bougé", le serveur recçoit et met à jour les autres entités en conséquence
    Ce dont on ne peut parler il faut le taire ( Wittgenstein )

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 10
    Points : 7
    Points
    7

    Par défaut

    Citation Envoyé par dinobogan Voir le message
    Tout dépend de tes contraintes réseaux et de la complexité des éléments à afficher. Il y a pleins de techniques différentes.
    Supposons que le nombre d'éléments à afficher est très petit et que les changements ne sont pas trop fréquents. En très gros, voici l'idée : le serveur contient la description de tous les éléments graphiques. Le client envoie un ordre (genre le joueur appuie sur une touche). Le serveur calcule les nouvelles positions des éléments graphiques et envoie les changement à tous les clients. Lorsque le client reçoit des modifications, il affiche le résultat en calculant l'affichage ) partir des nouvelles données.
    Plus le jeu est "lourd" plus il faut déporter les calculs d'affichage sur le client.
    Si cela se prête à ton type de jeu, le client calcule tout en local et envoie toutes les modifications au serveur. Régulièrement (à toi de voir selon tes besoins : toutes les secondes ? minutes ? heures ?), le client se synchronise avec le serveur pour tout mettre à jour.

    Mais sans info supplémentaire sur tes contraintes (réseau, temps de réponse, nombre de joueurs, ...), on ne peut pas répondre correctement à ta question.
    Merci de ta réponse le jeu est asser léger pas plus de 4 joueurs plus des projectiles en meme temps du coups j ai vu un tuto qui mettait en oeuvre un broadcast avec un datagramm socket pour envoyer des infos a tous les utilisateurs je pense que je vais opter pour cette méthode mais d'apres mes etudes le datagramm socket fonctionne avec l udp et il peux y avoir des pertes d'information , sa reste avoir en tous cas merci de m'avoir éclairer

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 10
    Points : 7
    Points
    7

    Par défaut

    Citation Envoyé par Mat.M Voir le message
    c'est une forme de programmation et conception ardue je conseille de commencer par une programmation poste à poste

    si tu n'as pas idée de ce que tu fais alors on ne peut pas t'aider et c'est le serpent qui mord sa queue



    Dans un jeu client serveur l'intérêt est que le programme serveur "redispatche" les événéments des joueurs vers les clients ( déplacement,tir...)
    Donc si une entité bouge donc le client il faut envoyer un message "entité a bougé", le serveur recçoit et met à jour les autres entités en conséquence
    Oui c est un sorte de labyrinte ou les joueurs peuvent se déplacer et tirer des projectiles , un peu comme bomberman , en effet j avance doucement mais surement ...

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    décembre 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 10
    Points : 7
    Points
    7

    Par défaut

    Du coup j arrive a faire passer des message via un datagramSocket mais juste pour 1 seul client , sur unbuntu on peux en executer plusieurs sans probléme mais sur windows je ne sais pas trop comment faire :/ ,j ai essayer avec des threads faudrait t il que je lance plusieurs intances d'eclipse ??

Discussions similaires

  1. [Python 3.X] Besoin d'aide pour un jeu éducatif
    Par Revistars dans le forum Tkinter
    Réponses: 6
    Dernier message: 05/04/2017, 15h13
  2. [Python 3.X] Besoin d'aide pour un jeu éducatif
    Par Revistars dans le forum Programmation multimédia/Jeux
    Réponses: 1
    Dernier message: 26/03/2017, 18h41
  3. [Python 3.X] Besoin d'aide pour tkinter jeu taquin
    Par cilouc dans le forum Général Python
    Réponses: 1
    Dernier message: 18/04/2016, 23h04
  4. Réponses: 2
    Dernier message: 29/08/2012, 15h44
  5. besoin d'aide pour un jeu
    Par pearl9108 dans le forum Débuter
    Réponses: 3
    Dernier message: 12/01/2011, 13h11

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