Réalisation d'un MMORPG, conseillez moi.

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Mr-Blonde
Messages : 7
Inscription : sam. 12/avr./2008 16:38

Réalisation d'un MMORPG, conseillez moi.

Message par Mr-Blonde »

Salut tout le monde,

Mon PC a planté et j'ai mit un certain temps à le remettre sur pieds ce qui explique ma longue absence (enfin de toute façon peut de personnes ici me connaissent).

Voila, notre équipe est constituée donc nous pouvons nous lancer dans la réalisation d'un MMORPG 2D comme nous l'avions projeté il y a quelques mois.

La location d'un serveur dédié étant trop couteuse j'avais imaginé un tout autre système. Je ne sais pas si il sera bien performant donc je viens demander conseil ici, voici mon système :

On utilise tout d'abord une base SQL pour stocker 3 choses (parmi d'autres) :
-L'ID (Le numéro du joueur)
-Map (Le Numéro de la carte où se trouve le joueur)
-X (Position en X du joueur)
-Y (Euh...)

A chaque inscription une ID est crée, au 21eme joueur inscrit, celui-ci aura l'ID 21, son numéro de carte sera 21Map et ses variables X et Y se nommeront 21X et 21Y.
Une boucle mettra à jour les position des joueurs en permanence en se connectant à la base SQL.

Tout le système marchera comme ça, là je parle juste des déplacements.

Voila voila, alors déjà 2 questions :
-Une base SQL risque-t-elle de grosses surcharges avec un tel système ?
-Connaissez vous des libraires permettant de coupler SQL et PureBasic (en fait c'est la question essentielle) ?

Merci à tous et bonne continuation !
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Oui et oui :D

C'est possible mais à mon avis autant prendre un serveur dédié genre "dedibox" à 30€ par mois. Car une base SQL avec connexions simultanées illimitées qui répond vite ça va vitre te faire chère.

Après pour utiliser les bases SQL une simple recherche sur le forum t'aidera. Sinon je crois qu'il y a des librairies sur www.purearea.net
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

pour MYSQL tu peut aussi utiliser la DLL ou le SO fournit pour apache (dispo sur le site de MYSQL) apres il suffit d'importer les fonctions et le tour est joué

Code : Tout sélectionner

    If OpenLibrary( 1 , #LibPath ) 
      Sql_init = GetFunction(1,"mysql_init")
      Sql_Errno = GetFunction(1,"mysql_errno")
      Sql_Error = GetFunction(1,"mysql_error")
      Sql_Real_connect = GetFunction(1,"mysql_real_connect")
      Sql_Real_query = GetFunction(1,"mysql_real_query")
      Sql_Store_result = GetFunction(1,"mysql_store_result")
      Sql_Field_Count = GetFunction(1,"mysql_field_count")
      Sql_Affected_Rows = GetFunction(1,"mysql_affected_rows")
      Sql_fetch_lengths = GetFunction(1,"mysql_fetch_lengths")
      Sql_fetch_row = GetFunction(1,"mysql_fetch_row")
      Sql_num_rows = GetFunction(1,"mysql_num_rows")
      Sql_close = GetFunction(1,"mysql_close")
      Sql_free_result = GetFunction(1,"mysql_free_result")
      Sql_more_results = GetFunction(1,"mysql_more_results")
    endif
Anonyme

Message par Anonyme »

Arf , je ne crois pas que les mmorpg soit gérer ainsi au niveau du réseau.
j'aurais pensé à un système plus léger qui nécessite un serveur dédié

Chaque client se connecte sur se serveur. a chaque connections réussi , tu envois l'ip du client dans une BDD.

Le serveur quand à lui , lit tout les IP dispo dans la bdd
comme ca , il peut envoyer toute les positions en temps réel de tout les joueurs à tout les pc connecter.

Temporise bien les fonctions , interpole les résultat de manière à avoir des mouvement fluides , sinon sa saccade , et si tu ne temporise pas , tu vas vite bouffer ta bande passante.

Un second PC t'es donc nécessaire pour faire serveur.
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Déjà que ma table sql ne tenais pas aux heures de pointe sur mon ancien site (pourtant elle était performante), alors pour un MMO...

Faut vraiment faire client-serveur, faut pas chipoter, faut tout coder et pas passer par d'autres application.
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message par Neosis »

wolfjeremy a écrit :Déjà que ma table sql ne tenais pas aux heures de pointe sur mon ancien site (pourtant elle était performante), alors pour un MMO...

Faut vraiment faire client-serveur, faut pas chipoter, faut tout coder et pas passer par d'autres application.

Donc en gros il faut utiliser la bibliothèque "Network"et créer un programme qui gère les informations des différents joueurs?
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

Neosis a écrit :
wolfjeremy a écrit :Déjà que ma table sql ne tenais pas aux heures de pointe sur mon ancien site (pourtant elle était performante), alors pour un MMO...

Faut vraiment faire client-serveur, faut pas chipoter, faut tout coder et pas passer par d'autres application.

Donc en gros il faut utiliser la bibliothèque "Network"et créer un programme qui gère les informations des différents joueurs?

ou via les sockets, il est surement possible de faire un truc sympa avec sqlite.
Anonyme

Message par Anonyme »

ou via les sockets
la lib native utilise déjà les sockets
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

Cpl.Bator a écrit :
ou via les sockets
la lib native utilise déjà les sockets
la lib network est plus limité par rapport a l'utilisation des socket en bas niveau. mais bon après il faut voir l'utilisation.
Anonyme

Message par Anonyme »

oui , mais bon , la lib est bien fournie je trouve , non ? :roll:
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

l'utilisation des sockets permet d'architecturer le code plus facilement sur un projet avec beaucoup de connections. Après, sur un petit projet, sur que la lib network est déjà cool.
Répondre