 |  | [Général]essayer de creer un mmorpg Section : Jeux de rôle massivement multijoueur Mmog et mmorpgs | [Général]essayer de creer un mmorpg : Discussion sur le forum Jeux de rôle massivement multijoueur (Mmog et mmorpgs : Informations et discussions sur les jeux massivement multijoueur : mmog, mmorpg et univers persistants.) 01/09/2006, 14h27 | #76 | | Ombre
| Re : [Général]essayer de creer un mmorpg | | Je ne suis pas d'accord ave quelques trucs que tu dit toftof.
 | Citation |  |
| | |
| | | | taille de la matrice en 2D ou 3D représentant le monde, | |  | |  |
|
bon courage si tu compte fair eune matrice 3d pour faire un mmorpg. Temps de calculs et échange client-serveur interminalbe.
2 solution :
- soit le serveur gère le jeu en 2d l'altitude est apparente mais on ne peut pas en tenir compte, a ce moment la la matrice 2D est utilisable.
- soit tu te sert d'un système de collision propre a ton moteur 3d utilisé coté serveur et qui envoie le résultat au client.
 | Citation |  |
| | |
| | | | utiliseras tu des logiciel faisant des models 3D pour en créer ou créras tu toi même ton propre language 3D (sinon faudra que t'apprenne comment communiquer avec direct x et lire les extansions de fichiers déja existante) ? | |  | |  |
|
Créeras tu ton propre language 3d ? Oo
Alors.... SI j'ai bien compris tu parle de logiciel 3d (donc 3ds max, blender, maya etc...)
Alors si tu compte que chaque personne qui crée un jeu en 3d créer son logiciel de 3d et bien bon courage... Ou même son language bon courage....
Ensuite comme plus haut la communication avec directX, déjà loin d'être obligatoire ... choix d'openGl (plus portable) ou même choix d'un moteur 3d qui évite de dialoguer avec openGL ou directX, ce moteur se charge tout seul d'interpréter les extensions qui lui sont souvent propre.
 | Citation |  |
| | |
| | | | Quelles protocoles utiliser pour communiquer entre client/serveur (pour les MMORPG) et quelles variables seront en commun ? | |  | |  |
|
Il n'y as pas de variable en commun entre un client et un serveur, tout d'abord parcque ce n'"est pas la même machine donc tu peut utiliser n'importe qu'elle variable ca ne changeras rien (tant qu'une variable n'est aps déclaré comme global tu peut même l'utiliser plusieurs fois dans un même code alors sur deux programmes différents la question ne se pose pas)
 | Citation |  |
| | |
| | | | Et puis quelles programmes gèreras la connexion du client au serveur avec mot de passe ? | |  | |  |
|
Ca n'as pas enormément d'intéret de le savoir le nom du programme n'est qu'une futilité il peut s'appeler n'importe comment ca ne change rien. Le client se connecte a une machine et non pas au programme serveur, qui lui est allumé et attend les connections, il identifieras le client sous un certain nom, les noms des deux programmes ne jouent aucun rôle.
 | Citation |  |
| | |
| | | | (1 pour chaque map), | |  | |  |
|
Bon courage pour mettre en place un serveur pour chaque map ce n'est même pas ce qui s'applique dans le milieu commercial. Pour ragnarok par exemple il existe un grand nombre de serveur mais pas un pour chaque map ce sera de la folie et de l'inutilité un serveur ne va pas lagger au niveau d'une map.
 | Citation |  |
| | |
| | | | Et enfin avant de taper cela en C++ il faudra faire le logigramme de chaque programme. C'est le plus dur mais comme sa, t'auras plus qu'a recopier dans le compilateur. Le C++ sa n'intervient qu'a la fin. | |  | |  |
|
Le C++ n'est pas une fatalité. Dernière modification par slade991 : 01/09/2006 à 17h45. | | |
02/09/2006, 19h38 | #77 | | Griffon
| Re : [Général]essayer de creer un mmorpg | |  | Citation |  |
| |  | Posté par slade991 |  |
| |
| | | |
bon courage si tu compte faire une matrice 3d pour faire un mmorpg. Temps de calculs et échange client-serveur interminalbe.
2 solution :
- soit le serveur gère le jeu en 2d l'altitude est apparente mais on ne peut pas en tenir compte, a ce moment la la matrice 2D est utilisable.
- soit tu te sert d'un système de collision propre a ton moteur 3d utilisé coté serveur et qui envoie le résultat au client. | |  | |  |
|
Pour la gestion de l'altitude, il y a la possibilité de faire une matrice en 3D, faut arreter de se renfermer dans les idées qu'un tableau ne peut être qu'en 2 dimensions. Mais je crois que le compilateur considére une matrice 3D en un empilement de matrice 2D et donc la si c'est vrai, sa risque de faire quelque probleme de memoire. Donc t'a peutêtre raison.
Pour le problème échange serveur/client, pas forcément.
Rien n'oblige le serveur a communiquer tout le contenu de la matrice du serveur au client. Il peut trés bien n'envoyer qu'une petite partie au client, celles qui contiennent les informations qu'il peut voir en tant que joueurs (monstres, décors, joueurs proches).
En fait la matrice serait le repère que l'on devrait dessiner sur une feuille pour représenter le monde du jeu. Où chaque case de la matrice contiendrait les données concernant le terrain et sur ce qu'il y a dessus (enfait ça se fait plutot pour les trucs du genre Zelda sur Gameboy ou SNES)
Mais bon c'est vrai que ça peut prendre de la place dans la RAM du serveur
D'ailleur j'avait pas pensé a utiliser les coordonnées sans avoir de véritable représentation du repère comme j'avais voulu le faire avec une matrice. (cest pas trés clair, je sais, mais j'arrive pas a expliquer ce que je pense)
Faut voir.
 | Citation |  |
| |  | Posté par slade991 |  |
| |
| | | |
Créeras tu ton propre language 3d ? Oo
Alors.... SI j'ai bien compris tu parle de logiciel 3d (donc 3ds max, blender, maya etc...)
Alors si tu compte que chaque personne qui crée un jeu en 3d créer son logiciel de 3d et bien bon courage... Ou même son language bon courage....
Ensuite comme plus haut la communication avec directX, déjà loin d'être obligatoire ... choix d'openGl (plus portable) ou même choix d'un moteur 3d qui évite de dialoguer avec openGL ou directX, ce moteur se charge tout seul d'interpréter les extensions qui lui sont souvent propre. | |  | |  |
|
Et bien pour se dire véritable créateur et ne pas a avoir a payer de droit, vaut mieu refaire le plus possible. En comme ça c'est moin embétant puisque l'on peut se permettre de pouvoir tout modifier sans avoir à se plier aux exigences du moteurs déja conçut que l'on a choisit.
Mais bon c'est vrai que pour faire des trucs aussi beau que Half-Life ² ou Doom 3, vaut ptet mieu prendre un truc déja fait. Puisque a refaire seul, c'est trés trés long, le travail de tout une vie presque.
 | Citation |  |
| | |
| | | | Il n'y a pas de variable en commun entre un client et un serveur, tout d'abord parcque ce n'est pas la même machine donc tu peut utiliser n'importe qu'elle variable ca ne changeras rien (tant qu'une variable n'est aps déclaré comme global tu peut même l'utiliser plusieurs fois dans un même code alors sur deux programmes différents la question ne se pose pas) | |  | |  |
|
Euh je pige pas trop la, ya un truc pas logique. Si tu utilise plusieurs variables ayant le même nom, exprimant différentes choses dans un même programme, comment veux-tu que le programme les différencient ? Faut quand même qu'elles aient un moyen de se différencier.
Et puis il veut mieu définir a l'avance ce que le serveur et le client se communiqueront (enfin c'est ce que j'entendais dans mon post).
 | Citation |  |
| | |
| | | |
Ca n'as pas enormément d'intéret de le savoir le nom du programme n'est qu'une futilité il peut s'appeler n'importe comment ca ne change rien. Le client se connecte a une machine et non pas au programme serveur, qui lui est allumé et attend les connections, il identifieras le client sous un certain nom, les noms des deux programmes ne jouent aucun rôle. | |  | |  |
|
Ce que je voulais dire c'est quelle programme se chargera de la communication avec le client et jusqu'a quelle limite ? juste l'identification (pseudo, mot de passe) avant de donner au client l'adresse du vrai-serveur ou toutes les communications (attaques,positions,objets visibles). Et puis quels programmes s'occupera de quoi ? (communication externes mais aussi entre les différents programmes, les cartes, la BDD ou tout en 1)
 | Citation |  |
| | |
| | | |
Bon courage pour mettre en place un serveur pour chaque map ce n'est même pas ce qui s'applique dans le milieu commercial. Pour ragnarok par exemple il existe un grand nombre de serveur mais pas un pour chaque map ce sera de la folie et de l'inutilité un serveur ne va pas lagger au niveau d'une map. | |  | |  |
|
Et bien cela existe. Certes dans Lineage 2 il n'y a qu'un seul programme de map. Mais dans Dragon Raja il y en a plusieurs (je peux l'affirmer), un par map.
Mais rien n'oblige de faire une machine pour une map, ce que j'entendais apr serveur c'était le programme lui-même.
Faire un programme pour chaque map sa permet une plus grande souplesse (on peut choisir sur quelle machine est telle map et aussi si on décide ou non d'activer cette map).
Je suppose aussi qu'à l'époque du tout début du jeu, les serveurs ne pouvait contenir des centaines de joueurs simultanément sans lager, enfin ceux qui ne lagait pas, coutait trop cher. Et donc ils ont choisit de pouvoir si il le souhaite pouvoir héberger certaines map sur l'une et d'autre sur l'autre machine.
 | Citation |  |
| | |
| | | | Le C++ n'est pas une fatalité. | |  | |  |
|
Oui mais c'est pour dire qu'avant d'avoir a apprendre le C++, il faut déja réfléchir au reste et en faire une sorte de cahier des charges. Apprendre un language ne sert a rien tout seul.
L'avantage d'un logigramme c'est qu'il marchera avec n'importe quels languages de programmation. Et donc on pourra le garder si on décide finalement de passer en java par exemple ou en basic sans avoir a tout refaire. Juste a réécrire les lignes de codes. | | |
04/09/2006, 17h47 | #78 | | Ombre
| Re : [Général]essayer de creer un mmorpg | |  | Citation |  |
| | |
| | | |
Pour la gestion de l'altitude, il y a la possibilité de faire une matrice en 3D, faut arreter de se renfermer dans les idées qu'un tableau ne peut être qu'en 2 dimensions. Mais je crois que le compilateur considére une matrice 3D en un empilement de matrice 2D et donc la si c'est vrai, sa risque de faire quelque probleme de memoire. Donc t'a peutêtre raison.
Pour le problème échange serveur/client, pas forcément.
Rien n'oblige le serveur a communiquer tout le contenu de la matrice du serveur au client. Il peut trés bien n'envoyer qu'une petite partie au client, celles qui contiennent les informations qu'il peut voir en tant que joueurs (monstres, décors, joueurs proches).
En fait la matrice serait le repère que l'on devrait dessiner sur une feuille pour représenter le monde du jeu. Où chaque case de la matrice contiendrait les données concernant le terrain et sur ce qu'il y a dessus (enfait ça se fait plutot pour les trucs du genre Zelda sur Gameboy ou SNES)
Mais bon c'est vrai que ça peut prendre de la place dans la RAM du serveur
D'ailleur j'avait pas pensé a utiliser les coordonnées sans avoir de véritable représentation du repère comme j'avais voulu le faire avec une matrice. (cest pas trés clair, je sais, mais j'arrive pas a expliquer ce que je pense)
Faut voir. | |  | |  |
|
Merci je sais ce qu'est une matrice 3D ^^. J'ai justement étudier le problème avec quelqu'un qui a utilisé la solution matrice 2D . Et la matrice 3d est véritablement ingérable ! Tout d'abord, rien qu'au niveau du code cela te fait déclarer un tableau énorme, sans réele nécessité, et comment compte tu faire les différence d'altitude , pour un minimu de réalisme il faudrait une valeur de hauteur aussi enorme que le reste. Tu te voit manipuler une matrice faisant 100*100*100 ? surtout qu'a l'heure actuel la plupart des moteur 3D mettent a disposition des fonctions permettant de gerer les collisions.
 | Citation |  |
| | |
| | | | Et bien pour se dire véritable créateur et ne pas a avoir a payer de droit, vaut mieu refaire le plus possible. En comme ça c'est moin embétant puisque l'on peut se permettre de pouvoir tout modifier sans avoir à se plier aux exigences du moteurs déja conçut que l'on a choisit.
Mais bon c'est vrai que pour faire des trucs aussi beau que Half-Life ² ou Doom 3, vaut ptet mieu prendre un truc déja fait. Puisque a refaire seul, c'est trés trés long, le travail de tout une vie presque.
| |  | |  |
|
Même la plupart des profésionnel ne font pas ça, exemple : lineage2 utilise le moteur d'unreal tournament etc.. ca ne sert a rien de réinventer la roue , tout d'abord partcqu'on est amateur et que c'est pas cette partie du devellopement qui est la plus nécessaire, et ensuite parcque ca prendrait bien trop de temps. Pour ce qui est des droits il existent énormément de moteur 3d libre de droit (ogre, irrlishte) ou avec des licenses a moindre coût (torque = 100$).
 | Citation |  |
| | |
| | | | Euh je pige pas trop la, ya un truc pas logique. Si tu utilise plusieurs variables ayant le même nom, exprimant différentes choses dans un même programme, comment veux-tu que le programme les différencient ? Faut quand même qu'elles aient un moyen de se différencier.
Et puis il veut mieu définir a l'avance ce que le serveur et le client se communiqueront (enfin c'est ce que j'entendais dans mon post).
| |  | |  |
|
Je te rappel que dans la poo les variables n'entre en conflit que si elles se trouvent dans la même classe (et si leur nom est précédé de self.) ainsi tu peux déclarer 3 variables trucmuches dans 3 def() différentes sans qu'elles n'entrent en conflits.
 | Citation |  |
| | |
| | | | Ce que je voulais dire c'est quelle programme se chargera de la communication avec le client et jusqu'a quelle limite ? juste l'identification (pseudo, mot de passe) avant de donner au client l'adresse du vrai-serveur ou toutes les communications (attaques,positions,objets visibles). Et puis quels programmes s'occupera de quoi ? (communication externes mais aussi entre les différents programmes, les cartes, la BDD ou tout en 1) | |  | |  |
|
Ca le serveur s'en fout, c'ets dans le client que tu doit gérer c'ets dans ton architecteur client. Il n'y asq qu'un programme qui est en contact avec le serveur, les autres programmes se servent de lui pour communiquer avec le serveur.
 | Citation |  |
| | |
| | | | Et bien cela existe. Certes dans Lineage 2 il n'y a qu'un seul programme de map. Mais dans Dragon Raja il y en a plusieurs (je peux l'affirmer), un par map.
Mais rien n'oblige de faire une machine pour une map, ce que j'entendais apr serveur c'était le programme lui-même.
Faire un programme pour chaque map sa permet une plus grande souplesse (on peut choisir sur quelle machine est telle map et aussi si on décide ou non d'activer cette map).
Je suppose aussi qu'à l'époque du tout début du jeu, les serveurs ne pouvait contenir des centaines de joueurs simultanément sans lager, enfin ceux qui ne lagait pas, coutait trop cher. Et donc ils ont choisit de pouvoir si il le souhaite pouvoir héberger certaines map sur l'une et d'autre sur l'autre machine. | |  | |  |
|
Je te rappel que l'on parle d'un dévellopement amateur, avec donc des moyens amateurs.
 | Citation |  |
| | |
| | | | Oui mais c'est pour dire qu'avant d'avoir a apprendre le C++, il faut déja réfléchir au reste et en faire une sorte de cahier des charges. Apprendre un language ne sert a rien tout seul.
L'avantage d'un logigramme c'est qu'il marchera avec n'importe quels languages de programmation. Et donc on pourra le garder si on décide finalement de passer en java par exemple ou en basic sans avoir a tout refaire. Juste a réécrire les lignes de codes. | |  | |  |
|
+1 | | |
Emplacement : | Utilisateurs regardant cette discussion : 1 ( membre(s) et 1 invité(s)) | | | | Rechercher dans cette discussion | | |
Fuseau horaire GMT +2. Il est actuellement 21h12. |
| |  |