TourDeJeu, le réseau des jeux en ligne alternatifs : jeux web multijoueurs, jeux par forum. En savoir +

Flux RSS des discussions du forum : pour les joueurs, et pour les créateurs et MJ
  Reply to this topicStart new topicStart Poll

> Logique Ou Pas ?, base de donnée
Actarus
Ecrit le : Jeudi 10 Avril 2008 à 23h41
Quote Post


Newbie
*

Groupe : Membre
Messages : 4


Bonsoir a tous

Depuis quelque temps je bricole en php/sql pour faire un semblant de jeu ( pour mon plaisir personnel ) mais;

je bloque sur la logique de ma bdd et j’aimerais vous en faire part, a votre avis et il préférable de mettre toutes les infos d’un joueur dans la table joueur, ou faut il que je fasse d autres tables par exemple ajouter la table possession, guilde, armement, richesses etc etc

Bien sur je ne compté pas mettre toutes les données dans une seul table mais je bloque sur cette satané table joueurs.

Merci pour vos réponses
PMEmail Poster
Top
Rataflo
Ecrit le : Vendredi 11 Avril 2008 à 10h32
Quote Post


Pro
*

Groupe : Membre
Messages : 82


Je ne sais pas si tu t'est deja penché sur Merise mais si tu ne connais pas il serais intéressant que tu regarde. C'est pas super compliqué mais ca va te donner les clés pour résoudre ce genre de probléme somme toute basique.

Imagine ton joueur il posséde plusieurs objets, tu te vois créer un champ pour chaque objet possedé dans la table joueur (objet1, objet2,....)?
Non tu crée une table JOUEUR_OBJET avec ID joueur et ID objet en PK.


--------------------
PMEmail Poster
Top
Oelita
Ecrit le : Vendredi 11 Avril 2008 à 23h04
Quote Post


Alien
*

Groupe : Admin
Messages : 1589


A tout hasard, tu peux jeter un oeil sur ce vieil article TdJ sur les bases de données : http://www.tourdejeu.net/focus/index.php?num=11 , qui donne un exemple de base de données.


--------------------
Oëlita la Gentille Hérétique
Admin TourDeJeu
user posted image

Le moyen le plus efficace pour me contacter ? @Oelita sur Twitter
PMEmail PosterUsers Website
Top
Actarus
Ecrit le : Samedi 12 Avril 2008 à 00h22
Quote Post


Newbie
*

Groupe : Membre
Messages : 4


je ne connais pas trop la méthode Merise (juste de nom)
je vais me documenté et je regarde le focus


merci bien


heuuuu en faite je crée une table objet qui possède tous les objets du jeu et qui sont appeler le moment voulu par leurs id (je suis sur la bonne piste je suis pas très logique des fois) smile.gif
PMEmail Poster
Top
Oelita
Ecrit le : Samedi 12 Avril 2008 à 11h11
Quote Post


Alien
*

Groupe : Admin
Messages : 1589


oui, en général, on a une table objet, qui contient les caractéristiques de chaque type d'objet (image, poids, type d'objet, point d'attaque si c'est une arme, etc selon tes besoins) et qui donne un identifiant (id) à chaque type d'objet.

Ensuite, si ton joueur ne peut possèder qu'un seul objet à tout moment, alors tu peux mettre une colonne objet dans ta table joueur, qui contient l'id de l'objet. Tu peux faire ça aussi pour indiquer l'arme et l'armure du joueur s'il ne peut porter qu'un de chaque...

Mais (c'est le cas général), si ton joueur peut porter plusieurs objets, il faut que tu fasses une table à part pour l'équipement des joueurs, qui représente l'inventaire. Elle comporte une colonne id du joueur et une colonne id de l'objet , mais on peut rajouter aussi, par exemple, le nombre d'objets de ce type (il porte 3 torches, par exemple), ou bien l'état d'usure, ou je ne sais quoi d'autre.


--------------------
Oëlita la Gentille Hérétique
Admin TourDeJeu
user posted image

Le moyen le plus efficace pour me contacter ? @Oelita sur Twitter
PMEmail PosterUsers Website
Top
blueman
Ecrit le : Mardi 12 Août 2008 à 17h57
Quote Post


Kid
*

Groupe : Membre
Messages : 13


En fait merise permet de formaliser ta pensée et de procéder a la normalisation qui permet d'optimiser surtout l'espace disque. Pas besoin d 'être un expert en merise pour commencer a t'amuser. Met plutot l'accent sur le game design. Si tu fais du php orienté objet, tu peux la jouer "une table = une classe".

Si tu recherche la performance brute, je te conseil d'aller lire les blogs sur le sujet du tuning des serveurs mysql.

(http://ebergen.net/wordpress/2006/03/06/3-minute-mysql-tuning/ donne de bons articles.)

Tu pourra y apprendre quelques astuces de conceptions concernant la structure des tables, l'utilisation des index, des clés étrangeres, etc. Et garde a l'esprit que souvent, le plus couteux est d'établir une connexion plutot que de rechercher dans une table de 10 000 inscrits.

Pour une maquette de jeu, regroupe tous tes champs dans une seule table. Ca ne sera ni beau ni performant, mais ca sera une maquette. Et si tu te rends compte lors de la mise en ligne que les acces BDD sont trop longs, trouve une personne sachant " normaliser" une table qui voudra bien construire ce projet avec toi :-) Maisil est probable que le goulot d'etranglement ne sera pas ta BDD.

Tu peux me contacter par Mp si tu cherche un coup de main bien précis (j'insiste sur le *bien précis*, évite les questions trop ouvertes), je pourrai peut être de donner le bon tuyau.

***************************************
OUPS, désolé pour le déterrage de topic :-D

Alors il en est ou ce jeu ?

Ce message a été modifié par blueman le Mardi 12 Août 2008 à 18h03


--------------------
user posted image
PMEmail PosterUsers Website
Top
Actarus
Ecrit le : Samedi 20 Septembre 2008 à 01h32
Quote Post


Newbie
*

Groupe : Membre
Messages : 4


salut et merci, même tardive les réponses sont les bienvenues

En faite le jeu n'est pas construit complètement en php le gros morceau est un
(client téléchargeable) en C
seul la création du compte/perso, la gestion de l'hôtel des ventes, la messagerie,les sauvegardes, et quelques autres bricoles seront gérés par des pages php "enfin bricole c'est deja pas mal" smile.gif

j'ai découvert un soft génial pour ma bdd MPD designer

Merci pour ta proposition d'aide il se peut que je te fasse appel, pour des trucs bien précis



Acta
-----------------------------------------------------------
mon jeu avance il n'est plus au stade embryonnaire

PMEmail Poster
Top
Guile
Ecrit le : Samedi 20 Septembre 2008 à 10h25
Quote Post


Pro
*

Groupe : Membre
Messages : 66


Pour moi c'est devenu simple la modélisation :
"Tu écris des phrases qui décrivent le fonctionnement de ton jeu" c'est la première étape importante.
Puis tu souligne ce qu'on appelle des entités (en gros les noms de choses comme personnages, possessions, guildes, etc.)
Tu essaies ensuite de dire :
- est ce que telle entité est liée à telle autre entité? (en gros : est que les possessions sont liées aux personnages. Evidemment c'est oui!) Si c'est oui, tu te poses 2 questions : combien de machins pour 1 truc, combien de trucs pour 1 machin? Les réponses c'est "plusieurs, et au moins une", "de zero à plusieurs", "zero ou une", "une et une seule" (ex: combien de possessions pour un personnage, ici c'est plusieurs mais pas forcément; combien de personnages par possessions, euh... dans ce sens je dirai un et un seul (car selon mon interprétation personnelle, une possession est forcement possédée par un personnage). C'est l'étape la plus importante, car c'est déterminant sur la façon de concevoir ta base de données. Il est possible de revenir par la suite sur la bdd, mais c'est très chronophage.
- à partir de ces choses, il faut modéliser la base de données physiquement. Si les 2 étapes précédentes ont été bien faites, tu auras une belle base de données.

Certains diront que suivre la norme à outrance n'est pas garants de performance. Car la norme optimise la taille des données, mais pas la vitesse d'exécution. Après, il faut un peu d'expérience pour optimiser le tout.


--------------------
AvP Evolution : jeu de rôle au gameplay simple et à l'ambiance surchauffée!
Terres d'Alliances : la Campagne On-Line. Un jeu de stratégie médiéval... Mais qui n'a jamais été démarré
user posted image
PMEmail Poster
Top
« Sujets + anciens | Programmer | Sujets + récents »

Reply to this topicStart new topicStart Poll