JeuWeb - Crée ton jeu par navigateur
Bien le bon jour. Création d'un RPG par Naviguateur - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Bien le bon jour. Création d'un RPG par Naviguateur (/showthread.php?tid=3078)

Pages : 1 2 3 4 5 6 7 8


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Zamentur - 24-09-2008

Bon si j'ai bien compris c'est ton navigateur (et non celui de sjoueurs) qui fait tourner le javascript qui met à jour les données dans la bdd.

Il serait déjà plus éfficace de faire un script php qui tourne sans fin, grace à une boucle ou à la fin tu utiliserais la fonction sleep(); de php qui permet d'attendre un certains nombre de seconde...

Mais même çà il ya un hic, tu aurra des UPDATE toutes les secondes, donc test tables vont être très souvent vérouillé en écriture comme c'est déjà le cas avec ton système.
Ca entrainera des lenteurs.

Et c'est bien pour çà que Pascal te conseillait de lire ce sujet

Evidement de prime abord ce n'est pas adapté à la modélisation de table qui est mauvaise.
En effet rien que le fait d'avoir une table par membre est mauvais, car mysql n'aime pas avoir un trop grand nombre de table. Sans compter les éventuels problème liées au membre qui s'appelerait par le nom d'une autre table, ou un mot interdit en mysql "force", "as", "o'neil" (enfin effectivement tout ceci peut se filtrer)

La question c'est pourquoi tu ne réunirais pas tes tables membres en une seul table `membres`
nom_membre, type, production_lvl,stockage_lvl,points,ressources,troupes,maximum,vitesse

Sachant que tu arrais plusieurs lignes avec des nom_membres identiques.

Il faudrait penser à mettre une clef de type index afin d'accélérer la recherche dans cette table

Ce serait encore mieux.

Mais çà ne serait qu'une réparation de fortune.

Pour moi il faut revoir entierement la conception de ta base de donnée tant qu'il en est encore temps, sinon tu sera obligé de faire une v2 (dans le sens de repartir à 0) avant même la sortie d'une betatest.

Là tu crées des tables fourre tout. C'est ce que sont tes tables $membre, car elle mélange les troupes, avec les ressources.
D'ailleurs quand on regarde, on voit des cases vide qui montre qu'il ne s'agit pas de la même chose

Donc effectivement faut que tu vois une modélisation de table qui soit bonne, le mieux srait de nous expliquer un peu ton jeu, afin qu'on le ensemble à partir de tes spécification ce qui ferait au passage un bon tuto sur le sujet.


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Webcc - 24-09-2008

Bien merci de ta réponse étant le plus claire, mon jeu, vu avec un ami sera un peu comme un jeu existant : Ikariam, sauf qu'il différera,

Mon idée de jeu étant au départ de type Age of empire, un joueur crée son compte, là c'est pas compliqué,

Il construit des bâtiments d'abord à des fins de production de ressources
4 resteront non attaquables et d'autres seront constructibles sur la carte, saut que les batiments de productions, eux seront protégés, les batiments militaires, cnostruits sur la carte, eux seront destructibles mais avec beaucoup de temps, et beaucoup de militaires pour l'ennemi

Ensuite vient la création d'unités militaires d'après les batiments, qui seront déplaceables sur la carte, qui sera évidement très grande, j'ai fabriqué un petit navigateur interne, qui permet comme sur Ikariam, de n'afficher que les coordonnées alentours, à des coordonnées, la carte étant dans un fichier, non pas géré par la bdd.

X +10 -10
Y +10 -10

Là, les joueurs gagneront de l'expérience en combat, ce qui générera un classement combat.

Ensuite, il y aura des combats par groupes de militaires, qui pourront attaquer d'autres, là, ce sera celui qui attaque qui commence le système d'attaque au tour à tour, avec une fuite possible, qui décalerait, enfin là, c'est la partie combat.

Tout fonctionne, je le précise, mais disons que c'était pour gérer tous cela que j'avais crée la table, juste pour le membre, j'ai trouvé un moyen plus adapté, les fichiers de données, simplement mysql, je le voyais un peu trop comme un fichier de données access, ceci surement du à ma formation professionnelle Smile Mais merci, maintenant je sais comment faire.

J'aurai surement dû lire les ressources mysql avant de m'y lancer, c'est ce que je commence à faire, un ami qui s'y connais plus m'a expliqué que pour les sessions, il était indispensable d'écrire en ligne, ceci déja pour la facilité de lecture, et afin d'éviter de ne pas repeter les *select à outrance, je tiens à remercier ceux qui m'auront aidés, je reviendrais surement vous redemander assistance bientôt si j'ai encore des problèmes.

Merci encore pour les quelques réponses constructives que j'ai pu apercevoir de certains d'entre vous, certains se reconnaitront, d'autres ce ne sera que leur égo qui se reconnaitra Wink mais merci


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Plume - 24-09-2008

Tu devrais t'abstenir de remarque sur l'égo d'autrui. On peut pas dire que tu sois un exemple de vertu.

@tchaOo°


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Webcc - 25-09-2008

Plume, disons nous que je maitrise parfois la dérision, donc oui, ce n'est pas un critère de vertu, mais je m'assume, dit au passant, j'ai retaillé ma base de donnée : 69 colonnes pas idéal lol


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Anthor - 25-09-2008

maîtrise de la dérision, de l'asynchrone. Je comprend mieux maintenant.

69 colonnes ce n'est pas énorme, ni problématique.
Même si vu ton jeu c'est étonnant.


RE: Bien le bon jour. Création d'un RPG par Naviguateur - keke - 25-09-2008

Coucou Webcc ^^,

Bon, alors avec l'exemple que je t'ai donné précédement ... l'idée principale est la suivante :
'Est-ce que sur un bateau qui tangue à cause d'une tempête, tu as tendance à t'accrocher au gréement qui est mobile ? ou est-ce que tu t'accroche au mat ?"
Aucun rapport ? pas sur ... ce que tu as, ce sont des données mobiles ... y'a rien de plus volatile que le temps ... 55secondes, 56 secondes ... C'est un problème historique qui a près des décennies à être maitrisé par l'homme. L'invention du calendrier, puis de l'heure a sauvé l'humanité... et va venir à ton secours.

Au lieu de te positionner sur des données mobiles, réfléchis avec des données statiques.
Ton batiment va être traité dans 825 secondes ? (données mobile) mais il va aussi être fini à 11h55 et 32 secondes (données solides)
Là où je veux en venir, c'est qu'il ne faut pas que tu raisonnes avec la durée, mais avec l'heure a atteindre.

Ta BDD est de la forme ?
batiment ; nb_seconde_avant_terme.

Il faut la remplacer par :
batiment; heure_de_fin_de_construction

Ainsi, aucun update à faire... pas de temps réelle à gérer. De plus, ton AJAX, tu te le garde pour des choses plus intéressante.
Ton Javascript peut tout à fait faire le compte à rebours (heure_de_fin_de_construction - heure_actuelle) et se rafraichir toutes les secondes.

As-tu compris mon idée ? Je ne dis pas qu'il ne te reste pas du boulot à faire ... mais au moins, tu va éviter de polluer les réseaux internet par ton flux Ajax !

Kéké.
PS : Mon égo est impacté lorsque l'on touche des membres intéressants de cette communauté. Je te prierais de ne pas critiquer (insulter ?) des membres qui ont pourtant, à leurs manières, cherchés à t'aiguiller sur ce problème ... qui pourtant est archi-basique.
PS : J'ai 120 tables pour un jeu qui a 3 ans. Je veux pas jouer à qui à la plus grosse, mais il me semble que tu pourrais effectivement suivre le conseil d'apprendre à concevoir une base de donnée... Maintenant, c'est ta vie et tes problèmes.
PS : je n'utilise pas MSN.
PS :
Citation :Mon idée de jeu étant au départ de type Age of empire, un joueur crée son compte, là c'est pas compliqué.
Ce qu'il ne faut pas lire. Les gars d'Ensemble Studio n'ont pas eu besoin de travailler à 26 pendant près de 2ans ... Et on parle d'Ego ici...


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Webcc - 25-09-2008

Bien, kéké, tu devrais revoir le css de ton site web, c'est disons quoi, juste illisible, mais sinon, relis, j'ai répondu à une attaque, tout à fait basique comme réaction primaire dont on ne pourrait me tenir rigueur.

Amc Marc


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Plume - 25-09-2008

Plop !

Là, tu commences à aller trop loin Webcc.
J'peux avoir l'adresse de ton site ? J'voudrais te faire fermer ton clapet.

Fais moi ce plaisir ! :]

@tchaOo°

[Edition] C'est bon, je l'ai. Attends que je rentre chez moi, et tu vas avoir un belle surprise.


RE: Bien le bon jour. Création d'un RPG par Naviguateur - pascal - 25-09-2008

Webcc a écrit :ce qui me dérange vraiment, c'est de ne faire qu'une ligne par membre dans mysql, si quelqu'un aurait une explication au pourquoi toujours une seule ligne.. et sinon un exemple visuel d'une base de donnée.

une seule ligne par membre, c'est à cause d'une erreur de design de la base de données.

on va prendre l'exemple des numeros de téléphone, est-ce que l'on a :
- un carnet d'adresses par contact, avec dans ce carnet une seule page remplie correspondant à ce contact ?
oubien :
- un seul carnet d'adresses avec une page par contact ?

un seul carnet, évidemment.

la correspondance avec les membres en base de données donne :
- un seul carnet d'adresses <=> une seule table 'membre'
- une page du carnet pour un contact <=> une ligne de la table pour un membre

comment retrouver les membres ?
- dans le carnet d'adresse, on retrouve un contact via son nom;
- dans la table membre, on trouve un membre via son identifiant unique (un numero géré par la base de données)

comment relier les membres au reste de la base de données ?
- quand on parle d'un contact, on utilise son nom, et si tu parles d'un contact à un ami, il saura qui est ce contact, car il le connait via son nom;
- dans la base de données, on relie un membre précis aux autres tables (ressources, vaisseaux..) en utilisant l'identifiant unique du membre.

voilà en gros ce qu'il faut faire, au lieu d'une table par membre.

A+

Pascal


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Plume - 25-09-2008

Bien à moi maintenant.

Tu reproches à keke de devoir revoir son CSS. Déjà, j'aurais aimé savoir pourquoi. Mais ce n'est pas ce qui me dérange le plus. Surtout le fait que tu t'en prends à des gens expérimentés - accessoirement professionnels pour certains - et tu n'en prends pas bonne note en martelant que tu as sûrement LA réponse à tout.

Ensuite, j'te montre un truc. J'ai fait des comparaisons sur la page d'accueil et la page la plus mauvaise !

Un site dégueu : http://webcetc.com
Page d'accueil
Accessibilité : 1 erreur
CSS : 3 erreurs
XHTML : 71 erreurs

http://webcetc.com/dep_domicile.php?page=crea ET http://webcetc.com/dep_domicile.php?page=dep_domi
Accessibilité : 5 erreurs
CSS : 4 erreurs
XHTML : 109 erreurs

Tu crois pas que t'as du boulot avant de l'ouvrir ?

Comme dit un ami tu te prends pour un pro mais avec ta poutre dans l'oeil t'es pas sorti de ta caverne.

@tchaOo°