Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jeu "on line"

Comment faire ???

    21 juin 2007 à 1:08:32

    Je veux créer un jeu "on line" (en ligne) en c/c++ mais je ne sais pas comment faire pour que plusieur personnes puisseent y jouer en ligne.

    Pouvez-vous m'éclairer S.V.P.


    Merci d'avance !!!
    • Partager sur Facebook
    • Partager sur Twitter
      21 juin 2007 à 1:11:15

      Hep !

      Je sais bien que je suis fatigué mais je vois pas encore double. :lol:

      Je vient de répondre à ton post sur le forum C.
      Pas de double post s'il te plait.
      • Partager sur Facebook
      • Partager sur Twitter
        21 juin 2007 à 1:15:11

        Oui, je sais pour le doube post mais, je l'ai m'y dans c et dans c++ car je ne savait pas si c'était dans un ou l'autre.
        • Partager sur Facebook
        • Partager sur Twitter
          21 juin 2007 à 4:54:30

          Le syndrome WOW a encore frappé ^^

          Réaliser un jeu online n'est pas à la portée d'un programmeur qui travaille seul, même s'il est génial et compétent. La complexité de ce genre de programme est telle qu'il est nécessaire de mettre en place des équipes.

          Pour ce qui est de la gestion réseau, Kevin Leonhart a donné des pistes sur le forum C, elles sont valables également en C++.

          Pour ce qui est de savoir où poster, c'est à toi de savoir dans quel langage tu veux faire ton programme, la solution d'un problème peut être identique en C et en C++, mais ce n'est pas toujours le cas. Suivant la problématique, il est même tout à fait possible que l'approche C et l'approche C++ soient très différentes voir même antagonistes.
          • 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
            21 juin 2007 à 13:07:02

            Premièrement, pour ce qui est d'être plusieur, nous somme un petite équipe de programmeur rubit, pithon, c, html, etc.

            Deuxièmement,oui c'est vrai je devrait plus le poster dans le c car je le connait beaucoup plus.

            Merci !!!
            • Partager sur Facebook
            • Partager sur Twitter
              23 juin 2007 à 15:01:44

              Bonjour.
              Si tu veut faire un jeu "on-line", il faut que tu utilise les socket ^^ . Si tu es un utilisateur de la SDL, il y a l'extension SDL_net qui est plus simple à utiliser ;) .
              C'est grâce au socket, tu vas pouvoir établir une connexion réseau.
              Je te propose donc mon tutorial sur les socket en C ;) .
              • Partager sur Facebook
              • Partager sur Twitter
                23 juin 2007 à 17:36:50

                Citation : int21h

                Le syndrome WOW a encore frappé ^^

                Réaliser un jeu online n'est pas à la portée d'un programmeur qui travaille seul, même s'il est génial et compétent. La complexité de ce genre de programme est telle qu'il est nécessaire de mettre en place des équipes.

                Pour ce qui est de la gestion réseau, Kevin Leonhart a donné des pistes sur le forum C, elles sont valables également en C++.

                Pour ce qui est de savoir où poster, c'est à toi de savoir dans quel langage tu veux faire ton programme, la solution d'un problème peut être identique en C et en C++, mais ce n'est pas toujours le cas. Suivant la problématique, il est même tout à fait possible que l'approche C et l'approche C++ soient très différentes voir même antagonistes.



                C'est loin d'être irréalisable, après sa dépend quel jeu ;) tu veut faire. Je te conseille plutôt winsock2 que les SDL_net car tu n'est pas obligé d'utiliser la SDL et si tu veut fair un jeu avec plus de 2 joueurs, il est indispensable de faire un serveur qui servira de "relai" entre tout les clients (=joueurs).
                • Partager sur Facebook
                • Partager sur Twitter
                  23 juin 2007 à 19:39:55

                  Le plus interessant serait d'utiliser un serveur en multi thread, utilisant une base de donne.

                  Un petit systeme que j'utilise pour mon emulateur wow.

                  Tu dois avoir une thread pour le serveur admin :

                  Cette thread te permet de rependre les donne vers tout les joueurs. Par exemple en cas de deplacement d'un joueur tu enregistre la position dans Mysql ensuite tu envoie les donne joueurs par joueurs avec une boucle. Enfin la tu te debrouille.

                  Une thread pour le monde :

                  C'est elle qui va se charger de calculer toute les informations a propos de comment le monde se comporte, deplacement des monstres, interpretation IA...

                  Il te faut genere 2 thread par client :

                  la premiere te servira a recevoir les donnes, c'est elle qui te servira a choisir si il faut passer par le serveur admin ou par une autre fonction.

                  La deuxieme elle sera cree pour envoyer des donnees a ce client specifique. En cas d'un chargement d'une map (prefere utiliser le chargement de map en streaming pour eviter que quelqu'un s'amuse a modifier tes maps.


                  C'est un petit exemple apres des personnes contesteront mon systeme et peut-etre que d'autre trouveront mon systeme interessant.

                  Je ne dis pas que mon systeme est parfait je dis seulement que ca marche. Il y a des crash mais cela depend soit d'une mauvaise communication

                  Un petit shema (je suis nul en design) :p
                  Image utilisateur
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 juin 2007 à 21:21:03

                    Tu oublie un thread qui attend la connection d'un client :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      23 juin 2007 à 22:58:06

                      Tous ces threads... :-°
                      On peut faire plus simple (et plus élégant :soleil: ), sans utiliser tant de threads. Une boucle principale bien conçue et ça roule !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 juin 2007 à 23:19:26

                        Citation : wetneb

                        Tous ces threads... :-°
                        On peut faire plus simple (et plus élégant :soleil: ), sans utiliser tant de threads. Une boucle principale bien conçue et ça roule !



                        Justement non, prenons l'exemple d'un simple jeu en SDL, si tu met des échange de données dans ta boucle principale (même bien concue), cette boucle risque d'être ralentie par des échanges de donnes intensif, mieux vaut faire un thread principal qui gère la fenètre, les évènements... et un autre thread qui s'occupe de touts les échanges clients/serveurs (et inversement). Sa te permet en plus de bien séparer ton code je trouve sa plus clair.
                        Mais cela n'et que mon propre avis et chacun pense ce qu'il veut.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          24 juin 2007 à 10:12:25

                          Sur ce point-là, d'accord. Mais si on reprend le schéma de tenmaCA, il utilise 3 threads par client, et ça c'est inconcevable !
                          Sur les forums de games-creators.org, j'avais vu une discution à ce sujet, et elle était plutôt chaude. Mais les personnes qui soutenaient l'utilisation des threads n'en mettaient pas 3 par client :-° .

                          Allez, je vous passe même le lien... ^^
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 juin 2007 à 19:56:31

                            Citation : wetneb

                            Sur ce point-là, d'accord. Mais si on reprend le schéma de tenmaCA, il utilise 3 threads par client, et ça c'est inconcevable !
                            Sur les forums de games-creators.org, j'avais vu une discution à ce sujet, et elle était plutôt chaude. Mais les personnes qui soutenaient l'utilisation des threads n'en mettaient pas 3 par client :-° .

                            Allez, je vous passe même le lien... ^^



                            Ah oui ok pour le serveur je suis daccord: un thread par client plus un thread principal suffit largment. Et je pense (mais je ne suis pas sur) que si on utilise plusieurs threads travaillants sur le même sockets, des envois et des réceptions peuvent se faire en même temps et provoquer certains bugs. Et puis, je pense que pour un jeu plutôt simple (j'entend par là pas un jeu réalisé pendant des professionels pendant 5ans) ce n'est pas la peine de compliqué le serveur avec plusieurs thread (qu'o^n peu facilement combiner);
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Jeu "on line"

                            × 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