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 - pascal - 22-09-2008

apparemment tu ne comprends pas le système avec session.
je pense que les "grands jeux" font comme ça.

A+

Pascal


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

pascal a écrit :apparemment tu ne comprends pas le système avec session.
je pense que les "grands jeux" font comme ça.

A+

Pascal

Le système de session pour les ressources je l'évite car je ne suis pas accès calé pour une sécurisation presque totale.

Enfin, je vais devoir revoir toute ma copie écrite, 18 pages lol
J'en visage de passer au blocnote.exe, l'écrit me gave, j'ai ralenti l'écrit depuis le css, mais pas encore pour le php lol


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

l'astuce avec les sessions, c'est que les données sont seulement utilisées pour "estimer" / afficher les stocks à l'écran.

lorsqu'il y a un changement dans le stock, on sélectionne les taux de productions, stock initiaux etc... en base de données puis on vérifie que le changement ( achat, dépense...) est possible, avant de faire cette mise à jour en base.

A+

Pascal


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

pascal a écrit :l'astuce avec les sessions, c'est que les données sont seulement utilisées pour "estimer" / afficher les stocks à l'écran.

lorsqu'il y a un changement dans le stock, on sélectionne les taux de productions, stock initiaux etc... en base de données puis on vérifie que le changement ( achat, dépense...) est possible, avant de faire cette mise à jour en base.

A+

Pascal

Sa j'avais compris, en fai moi c'est de l'ajax donc c'est pas exactement sa, mais session = ligne, donc il v falloir choisir ...

Soit des *select a outrance ...
Soit des sessions...

Je commence à être assez doué en asynchrone, exemple, si le mec souhaite construire son bâtiment, sa ne sera pas compliqué, une image verte avec un V apparaitra quand ça sera possible Smile, il choisira de mnoter le level en javascript, donc aucune actualisation de la page, c'est du travail de grande société ...

Par contre pour le coté session, c'est vrai j'avais oublié, il vaut mieux en ligne, car c'est tout idiot, lire une table par session, c'est beaucoup trop, et sa me ferait passer de 4 select a 1 select pour la lecture des données coté client, et à 2 select pour les updates au lieu de 8

Mais mon problème que je vais avoir, c'est de tout recommencer lol


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

Dans une grosse compagnie, normalement t'as un gars qui se nomme le DBA ( Database Administrator ) qui va s'occuper de faire la structure de la base de données en fonction des données et seul lui à le pouvoir de faire un CREATE TABLE. En générale, il va prendre les données et appliqués des étapes de normalisations. En général, on applique les 3 premières formes normales, mais il y en plus.

Un peu de lecture : http://www.journaldunet.com/developpeur/tutoriel/sql/061215-sql-normalisation.shtml


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

Autre chose, comment font les jeux tels que sg-univers.com pour permettre à leur membres de créer leurs propres vaisseaux, avec leurs caractéristiques propres, et le nombre de vaisseaux étant illimité... je ne sais pas, c'est pour exemple de ce jeu que j'ai pensé a plusieurs lignes pour un membre

Car créer des lignes, c'est pas envisageable, créer des colonnes, non plus, et le nombre n'étant pas limité, donc ce ne sont pas des colonnes pré-créées.

Merci beaucoup pour ton lien, il réponds a ma question à peu de choses près :

Citation :La normalisation d'une base doit se faire dans la mesure : si une forme élevée amène à des données bien organisées, elle peut aussi inutilement rendre complexe les requêtes nécessaires - et même être complexe à appliquer : plus la forme est élevée, plus elle est difficile à appliquer. À chacun d'y trouver son compte, donc.

Je vais les formes 6NF et 1NF
et a choisir je vais faire en ligne + sessions

En fait j'ai compris au lieu de dire telle personne a 3 villes avec les levels de tel batiments, je vais d'abort creer le monde, et pour les villes juste dire a qui ils appartienent...


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

Ben pour creer des vaisseaux "unique" créer par les utilisateurs, il suffit de faire une table vaisseaux:
id (primary), nom, attaque, defense ,[...], image

Une autre avec le nombre de vaisseaux et éventuelement l'usure moyenne
id_possesseur, nb_vaisseaux, id_type, usure_moyenne

Et le tour est joué, aprés on peut complexifier, et décrire plus ou moins un vaisseaux. Par exemple décrire toutes les armes contenue dans un vaisseaux...

Citation :Comment t''expliquer plus CLAIREMENT, les données changent toutes les secondes ! les ressources sont faites par le moteur ajax, docn les données changent fortement
J'ai qu'une question elle change d'aprés quel parametre? si c'est un parametre de temps, j'ai montré dans le lien que Pascal a donné qu'il était inutile de faire ainsi. La solution avec les session le montre aussi. Et il y a d'autre parametre auquel cette méthode s'adapterais.

Mettre à jour en continue (toutes les secondes) n'est pas une solution! Même pas une solution envisageable. Aucun jeu qui fonctionne avec plus de 100 joueurs ne le fait!

Enfin, bon faut quand même dire qu'il y a pas mal de trucs dit que je ne tilte pas.
Genre:
Citation :Par contre pour le coté session, c'est vrai j'avais oublié, il vaut mieux en ligne, car c'est tout idiot, lire une table par session, c'est beaucoup trop, et sa me ferait passer de 4 select a 1 select pour la lecture des données coté client, et à 2 select pour les updates au lieu de 8
"lire une table par session, c'est beaucoup trop"?
Si quelqu'un peux m'éclairé parce que là j'ai l'impression soit d'être couler par un débat qui n'est pas de mon niveau, soit qu'on a du mal à communiquer genre traducteur automatique...
Ou alors il ya des mots qui sont maché? Mais en tout cas j'ai beau chercher jamais entendu qu'on lisait des tables par session, et c'est pas celle là auquel on faisait référence tout à l'heure!


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

Je crois que tu n'as pas bien compris le fonctionnement d'une base de données relationnelle, ni les concept de l'utilité de l'asynchrone...

En mettant a jour ta base de données toutes les secondes pour chaque joueur, d'une part 1&1 va te couper l'accès très rapidement, puis ton prendra un plus gros serveurs qui te "coutera plus cher", et même celui-la ne tiendra pas longtemps la "petite montée en charge que tu auras".

Si tu veux ta réponse, les grosses sociétés font probablement comme cela :
- Stockage en mémoire
- Serveur MySQL sur un deuxième serveur
- Sessions
- Deux serveurs par univers ( Un pour le web, un pour le sql )
- Aucun calcul "asynchrone", le calcul est fictif coté client, mis à jour uniquement à la fin, en tenant compte du temps écoulé, côté serveur.

Il n'y a aucune utilité a faire une table par membre, ou même une base de données par membres, c'est n'importe quoi !
Les bases de données supportent plusieurs millions de lignes sans problèmes, elles sont faites pour cela... Au grand pire si tu sens un ralentissement vers le million, tu adaptes ton script pour partitionner la table en plusieurs tables.

Bref, je pense que tu devrais revoir les bases, et reprendre ton projet de manière à ce qu'il reparte du bon côté ^^


RE: Bien le bon jour. Création d'un RPG par Naviguateur - Ter Rowan - 22-09-2008

Webcc a écrit :Je commence à être assez doué en asynchrone, exemple, si le mec souhaite construire son bâtiment, sa ne sera pas compliqué, une image verte avec un V apparaitra quand ça sera possible Smile, il choisira de mnoter le level en javascript, donc aucune actualisation de la page, c'est du travail de grande société ...

ce n'est pas comme ça que travaillent les grandes sociétés, non Smile

tu as appris tout seul et tu arrives à faire des choses que bien d'autres ont du mal à faire, c'est déjà une belle avancée mais il te reste encore des choses pour te perfectionner.

tu te débrouilles pour obtenir des résultats, en aucun cas (au vu des réflexions que tu as exprimé jusqu'à présent) tu ne maîtrises ces sujets suffisamment pour "être au niveau de professionnels"

A mon sens il te manque une culture (sur les bases de données, sur l'architecture, sur la modélisation ...) à acquérir pour mieux appréhender les réponses qu'on a pu déjà te proposer.

Puisque tu as réussi à manipuler de l'ajax, tu as les moyens intellectuels d'y arriver. Je ne peux que te conseiller d'aller éplucher des cours/bouquins.... sur les aspects plus théoriques de l'informatique, tu as la une carence que tu peux combler mais qui va te freiner rapidement si tu veux atteindre tes objectifs.


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

Ter Rowan, j'ai apprécié ton fil de discutions, pour expliquer mon moteur =

Il va chercher dans la table des niveaux des bâtiments combien ils doivent produire, et lance une auto-actualisation là dessus, en allant chercher les ressources actuelles, et en y ajoutant les nouvelles à ajouter pour chaque membres, ceci pour tous les joueurs, j'ai essayé d'insérer le code 100 fois, affiché sur 8 PC ( 6 sur une connexion cybercafé ou je suis très souvent (hum lol même par téléphone))

et 2 chez moi, et dès lors, cela fait 800 actualisations par secondes, sur 4 update de ressources, et a partir du 8 eme ordinateur, j'avais des erreur 500 de 1 and 1, donc 800 membres cela fonctionne donc 8 * 100 * 4 cela fonctionne, après cela se corse erreur 500 toutes les 10 secondes, si la personne actualise enfin

après, du coté client, ne vous inquiétez pas, j'ai fais en javascript une simulation il estime comme le moteur, mais sans updater, j'ai fais juste une incrémentation, exemple actuellement le membre a 200 ressources, la base dit a l'affichage qu'a ce moment là (une seule fois par page) qu'il produit 20 de l'heure, donc il simule a raison de 1 par seconde, ceci étant coté client, et juste simulé, je peux me le permettre et cela donne un petit effet au site.

Et dans tous les cas, j'envisage la possibilité de faire monter les bâtiments par une petite fenêtre du genre d'highslide, mais de ma conception Wink faire actualiser les ressources en haut, disons que d'une certaine manière, cela dépend de dates, puisque c'est temporel...

Concernant les bouquins, j'en ai acheté un qui ne m'a rien appris, il ne fait que voir des basiques du Web 2.0 et quelques avantages de coder en asynchrone, disons que l'asynchrone me permet juste de ne pas avoir a acheter un serveur personnel, là il est mutualisé et cela me suffit, après, j'envisage plus, mais dans l'avenir, cela me suffira

Et je repete, en aucun cas l'asychrone est coté client, enfin il l'est mais pas en ajax,

comment dire, j'ouvre la page :
J'ai 20
Je produit 20 par heure
J'attend une heure, j'ai 40 (en javascript)
j'actualise, sa relit la page
j'ai 40 et sa simule UNIQUEMENT...

L'asynchrone est uniquement du coté moteur,
je définis des niveaux de productions, et sa fait seul,

de plus, je travaille en ce moment, sur la carte que j'ai récupéré ailleurs mais que je vais adapter,
je n'ai récupéré que le code javascript que je vais faire avec pas mal d'effet,
je vous enverrai le lien une fois fini la carte.