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

Réseau C Discussion :

Développement d'un jeu 2D en réseau local


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 30
    Par défaut Développement d'un jeu 2D en réseau local
    Bonjour,

    Je souhaiterais développer un petit jeu 2D (pas un truc ouf non plus vous inquiétez pas) en C qui se jouerais à plusieurs comme 4 ou 6 personnes, mais en réseau local.

    J'ai juste 2 ou 3 petites questions :
    - Quelle librairie est facile d'apprentissage et permet un bon rendu au niveau envoie réception de donné en réseau local ? Faut-il utiliser le protocole TCP avec les sockets même s'il s'agit d'un réseau local ?
    - Pour l'envoie et la réception de donné au serveur, comment cela se passe-t-il en gros, je veux dire, pour un jeu à 24 fps, faut-il mettre un timer qui envoie 24 fois par seconde les données au serveur suivi d'une réception de donnée ?

    Pour plus de détails, je précise que le jeu serais une SORTE de smash bros melee en beaucoup plus simpliste autant niveau graphique que niveau jeu !
    Je vous remercie pour vos réponses.
    Je tiens à signaler que mon but n'est pas de faire un projet que je n'arrive pas à boucler, je pense avoir les compétences pour faire jeu 2D en lui-même, mais ce qui est réseau je suis beaucoup moins avancé ... surtout en local ...

  2. #2
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Je pense que l'utilisation des sockets suffit. Il n'y a pas besoin d'autre librairies
    De plus pour un jeu vidéo le protocole UDP est plus utilisé car ce n'est pas un mode connecté. C'est à dire qu'on à pas besoin de savoir que tous les octets ont été reçus intégralement (les lags quand tu joues sont dus à ça :p ).
    Le fait que ce soit un réseau local ne gêne absolument pas.

    Sinon pour le reste je ne sais pas j'ai pas fait de jeu réseau

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Ou aller voir Raknet, aussi...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 30
    Par défaut
    Merci de vos réponses rapides.

    Je vais donc plancher sur les sockets et faire avec winsock je pense, même si le programme ne sera plus portable.

    Sinon, les jeux sont donc fait en protocole UDP le plus souvent ? je vais aussi me renseigner sur ça.
    Sur ceux, a plus !

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par Enkel
    Sinon, les jeux sont donc fait en protocole UDP le plus souvent ? je vais aussi me renseigner sur ça.
    Sur ceux, a plus !
    Oui, parce que les développeurs de jeux (surtout lorsqu'ils programment en C) sont souvent des maniaques de la performance or UDP est plus léger que TCP (qui est dans la catégorie des protocoles dits "lourds").

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    TCP est toutefois utilisé aussi dans le domaine du jeu, mais c'est en général pour maintenir explicitement une liaison connectée entre les postes. Il n'y a pas forcément beaucoup de données qui circulent dessus.
    Il est également parfois utilisé pour le transfert "lourd" de données en début / fin de partie, comme par exemple l'envoi des cartes de jeu aux partenaires ou les tableaux de scores.
    Dernier point, il peut également être utilisé pour le mode "chat privé" entre joueurs.

    Mais pour la MAJ des données en jeu, UDP est la règle sur un réseau local. En mode de jeu Internet, les solutions sont différentes car les paquets UDP sont nettement plus sensibles à la perte que les paquets TCP, et la latence du réseau induit des contraintes différentes également qui rendent TCP un peu moins coûteux.
    De plus, UDP peut être émis en diffusion (un seul envoi, et tout le monde reçoit) tandis que TCP est forcément point à point (il faut envoyer une copie à tout le monde).

    Là encore, dans le domaine Internet, il est souvent moins coûteux pour le serveur de faire réceptionner TOUTES les données (via TCP), puis de retransmettre à chaque client les données spécifiques dont il a besoin (TCP toujours). C'est encore plus crucial dans les MMO au vu du nombre de clients simultanés. UDP est alors utilisé pour mettre à jour l'environnement local du joueur, l'environnement "mondial" étant plutôt mis à jour par extraction des données du "monde" vers le joueur.
    L'effet produit est le "fog of war", ou la "distance de vue" : on ne voit que ce dont on est suffisamment proche (l'environnement "local"), et on voit parfois des éléments arriver à soi de façon un peu figée.
    Mais une fois un élément à l'intérieur de cette "bulle de proximité", sa mise à jour est bien fluide.


    En général, comme ça devient vite l'usine à gaz de maintenir ça soi-même, on utilise un framework dédié. Raknet est un des plus connu, mais potentiellement tu peux utiliser n'importe quel framework ayant des possibilités de diffusion, communication point à point et transfert de données "lourd", comme par exemple ICE.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. [Methodologie] Methode de développement d'un jeu en réseau
    Par gamerome dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 26/01/2006, 13h10
  2. Activer/Desactiver une connexion au réseau local
    Par Yodagobah dans le forum MFC
    Réponses: 7
    Dernier message: 05/01/2005, 17h17
  3. Configurer un réseau local avec 3 pc Win xp
    Par stkam dans le forum Développement
    Réponses: 3
    Dernier message: 26/02/2004, 19h13
  4. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40

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