NewbieContest

Divers => Informatique => Discussion démarrée par: micka13 le 17 Janvier 2008 à 15:11:21



Titre: Jeux en ligne .
Posté par: micka13 le 17 Janvier 2008 à 15:11:21
Bonjour,
Voila plusieur mois que je me suis posé la question de savoir comment un "simple" jeu en ligne du style Og**e peux fonctionner.
J'ai eu beaux chercher sur notre ami google et le resultat :
Citation
"Question stupide : C'est quoi comme programme pour faire un jeu en ligne?"
"Reponse : Ca existe pas , faut que t'apprenes le php".
Enfin la reponse que j'ai mis en exemple est plutot rare et c'est la plus sencée...
Mais ca reste tout de meme tres vague  ;).
J'ai pensé a 2 procedures differentes :
  • Le site ne fonctionne que grace a php/mysql.
  • Il y a du php , et derriere un programme(java) tourne en permanence sur le serveur afin de mettre a jour chaque seconde ce qui se passe.
Pour le 1er point j'ai une vague idee de se qui pourrait se passer (impossible a vous decrire ca , c'est tellement confus dans ma tete) mais je pense que le script serait un peu trop compliquer et que la reponse du serveur serait trop longue.
Je crois plutot a ma 2nd hypothese , mais je ne vois pas bien ce que pourrait faire ce programme.
Alors ma question est :
Savez vous quel est la methode employés?
Et si c'est la 2eme  , avez vous plus d'information sur ce que ce programme est censé faire?



Titre: Re : Jeux en ligne .
Posté par: the lsd le 17 Janvier 2008 à 15:54:55
J'ai commencé, fut un temps, a faire un jeu online, mais plus du genre adoptez un dragon. Le principe est simple. Tout tourne sur php/mysql (avec une bonne base de donnée quand meme), et pour ce qui est des mises a jour, la solution que j'avais trouvée etait d'utiliser un daily cron, qui chargait une page tout les jours à la meme heure.

Ca doit etre pareil pour ogame

Enjoy

The lsd


Titre: Re : Jeux en ligne .
Posté par: micka13 le 17 Janvier 2008 à 16:22:19
Hum interresant ce "daily cron" , apparement c'est une tache qui se lance toute seul à l'heure indiqué.
Mais dans le cas d'ogame , le timing est la seconde , ainsi est il possible d'avoir un cron qui fonctionne toute les secondes?Ca ne doit pas etre prevus pour je suppose.


Titre: Re : Jeux en ligne .
Posté par: Folcan le 17 Janvier 2008 à 16:35:57
Non, un cron ce fait minimum chaques minutes.


Titre: Re : Re : Jeux en ligne .
Posté par: Zmx le 17 Janvier 2008 à 21:02:51
Hum interresant ce "daily cron" , apparement c'est une tache qui se lance toute seul à l'heure indiqué.
Mais dans le cas d'ogame , le timing est la seconde , ainsi est il possible d'avoir un cron qui fonctionne toute les secondes?Ca ne doit pas etre prevus pour je suppose.

Ogame ne gere pas grand chose a chaque seconde ...
Les temps que tu voit défilé sont affiché en javascript, d'apres une date fourni par le serveur.
Ensuite, oui je voit bien un process qui tourne en permanence et qui verifie dans une table de "job" quelle tache arrive a echeance et la traite (bataille, construction, etc ...)


Titre: Re : Jeux en ligne .
Posté par: micka13 le 04 Février 2008 à 18:15:02
VOila que je suis tombé par hasard sur ceci :
http://www.rpg-creation.com/v4/?sect=11&cat=20

Bien sur ce n'est pas vraiment la meme chose que ce que je demandais , mais il s'agit la d'un exemple plutot simple et ingenieu pour se faire un petit jeu du style rpg.


Titre: Re : Jeux en ligne .
Posté par: the lsd le 04 Février 2008 à 19:10:39
Il y a aussi un paper dans la section tutos sur comment creer un jeu en php, il doit etre du meme style que ce lien, mais deux sources valent mieux qu'une (par contre, il est en anglais)

Enjoy

The lsd


Titre: Re : Jeux en ligne .
Posté par: comtezero le 08 Mars 2008 à 11:53:34
Je connais quelqu'un qui c'est lancé dans la création d'un jeu en ligne, ce qu'il fait dépassé le php/mysql. Une partie est codé en python, avec bien sûr du php pour l'interface et tout de même une base de données.

Il utilise "deux" serveurs, un qu'il appelle "interne" pour les traitements de données ou du jeu et un "externe" pour l'interface qui rend toutes les requêtes compréhensibles pour le serveur "interne".

Toute ce qu'il fait est disponible sur son site donc si ça intéresse quelqu'un faite le moi savoir et je vous passe l'adresse.


Titre: Re : Jeux en ligne .
Posté par: Folcan le 11 Mars 2008 à 17:15:18
Citation
Il utilise "deux" serveurs, un qu'il appelle "interne" pour les traitements de données ou du jeu et un "externe" pour l'interface qui rend toutes les requêtes compréhensibles pour le serveur "interne".

Heuu, on appel pas ca un client/serveur (comme l'est firefox et apache par exemple), l'un traite, l'autre affiche.
Je n'ai pas saisi le principe novateur, si novation il y'a.


Titre: Re : Re : Jeux en ligne .
Posté par: comtezero le 11 Mars 2008 à 20:46:47
Citation
Heuu, on appel pas ça un client/serveur (comme l'est firefox et apache par exemple), l'un traite, l'autre affiche.
Je n'ai pas saisi le principe novateur, si novation il y'a.

Donc comme tu as lu attentivement ce que j'ai mis, je n'ai pas parlé de principe novateur. Ensuite oui tu peux réduire à une relation client/serveur comme tout ce que l'on trouve quasiment sur un réseau. Merci pour la précision firefox et apache mais je sais ce que c'est.

Donc :
Citation
Le rôle du serveur externe est celui de la présentation : il obtient une requête du client, la transforme en requête compréhensible pour le serveur interne, transforme les données que ce dernier renvoie en réponse, et les traite pour les renvoyer au client sous une forme lisible et graphique.

Le serveur externe est composé du proxy pour le module XMLRPC, et de scripts pour l'interface web. Il est construit à partir d'un serveur Apache.

Citation
Le serveur interne est la partie la plus complexe techniquement parlant du projet. Son rôle est de réaliser tous les traitements de données du jeu. Cela va de l'authentification à la compilation, en passant par l'interprétation des ordres fournis.

Le serveur interne est composé du noyau, des modules fonctionnels et des modules du noyau. Il est intégralement programmé en Python.

Il me semble que les deux communique par un proxy.

Ensuite je ne disais pas ça pour le coté novateur, juste qu'à l'origine, la personne souhaitait savoir comment on peux faire un jeu en ligne comme Ogame.


Titre: Re : Jeux en ligne .
Posté par: NiklosKoda le 11 Mars 2008 à 21:04:52
Citation de: comtezero
Toute ce qu'il fait est disponible sur son site donc si ça intéresse quelqu'un faite le moi savoir et je vous passe l'adresse.

Moi je suis intéressé, je veux bien que tu me passes l'adresse :)

++
Niklos


Titre: Re : Re : Re : Jeux en ligne .
Posté par: Folcan le 12 Mars 2008 à 00:41:08
Citation
Heuu, on appel pas ça un client/serveur (comme l'est firefox et apache par exemple), l'un traite, l'autre affiche.
Je n'ai pas saisi le principe novateur, si novation il y'a.

Donc comme tu as lu attentivement ce que j'ai mis, je n'ai pas parlé de principe novateur. Ensuite oui tu peux réduire à une relation client/serveur comme tout ce que l'on trouve quasiment sur un réseau. Merci pour la précision firefox et apache mais je sais ce que c'est.

Donc :
Citation
Le rôle du serveur externe est celui de la présentation : il obtient une requête du client, la transforme en requête compréhensible pour le serveur interne, transforme les données que ce dernier renvoie en réponse, et les traite pour les renvoyer au client sous une forme lisible et graphique.

Le serveur externe est composé du proxy pour le module XMLRPC, et de scripts pour l'interface web. Il est construit à partir d'un serveur Apache.

Citation
Le serveur interne est la partie la plus complexe techniquement parlant du projet. Son rôle est de réaliser tous les traitements de données du jeu. Cela va de l'authentification à la compilation, en passant par l'interprétation des ordres fournis.

Le serveur interne est composé du noyau, des modules fonctionnels et des modules du noyau. Il est intégralement programmé en Python.

Il me semble que les deux communique par un proxy.

Ensuite je ne disais pas ça pour le coté novateur, juste qu'à l'origine, la personne souhaitait savoir comment on peux faire un jeu en ligne comme Ogame.


Te sens pas offusqué, je demandais juste des infos parce que ca me paraissais pas clair.
Merci donc pour le complement d'infos.


Titre: Re : Jeux en ligne .
Posté par: comtezero le 12 Mars 2008 à 10:55:10
Arf désolé, je vous passe le site à tous les deux pour que vous lisiez par vous même.


Titre: Re : Jeux en ligne .
Posté par: micka13 le 12 Mars 2008 à 22:04:09
Merci bien , j'aimerai de meme avoir le lien :)