Forum TourDeJeu · Règles du forum | Aide Recherche Membres |
Bienvenue invité ( Connexion | Inscription ) | Recevoir à nouveau l'email de validation |
Seren |
Ecrit le : Mardi 23 Janvier 2007 à 15h54
|
Kid Groupe : Membre Messages : 37 |
Pour le stockage des constantes ( ou quasi constante du jeu), c'est à dire les prix, les caractérisitques des objets,..., j'hésite entre plusieurs solutions.
Fichiers: - 1. un fichier "constant.php" - 2. fichier CSV Database: - 3. une table A priori, je penche pour la solution 1. Le désavantage c'est de devoir charger le fichier de constante complet à chaque fois qu'on pourrait en avoir besoin. Donc gâcher de la bande passante inutilement. (Le fichier devrait pas faire plus de quelques Ko. ) La solution 3 ça permet plus facilement de récupérer uniquement l'info qui m'intéresse au coup par coup. Par contre, ça demande plus de ressources processeur, ça augmentre le nombre de requêtes. Sachant que les caractérisitques des objets risquent d'être utilisées assez souvent. Est-ce qu'il y a des raisons pour adopter l'une ou l'autre solution ? ( Au final, je peux toujours essayer les deux et comparer. ) |
Haiken |
Ecrit le : Mardi 23 Janvier 2007 à 18h50
|
Ouf Groupe : Membre Messages : 360 |
Si c'est constant, solution 1 sans hésiter. Je ne vois pas en quoi ça gâche de la bande passante, tout reste sur le serveur.
-------------------- Association Nainwak, aide & hébergement des jeux web
Le Blog de l'assoc', encore mieux que l'assoc' tomate ! |
Seren |
Ecrit le : Mardi 23 Janvier 2007 à 19h08
|
Kid Groupe : Membre Messages : 37 |
Bonne remarque.. je sais pas à quoi je pensais...
|
Manest |
Ecrit le : Mercredi 24 Janvier 2007 à 15h34
|
Ouf Groupe : Membre Messages : 503 |
Si t'as un gros CSV, t'es obliger de systématiquement lire tout le fichier, stocker le contenu dans le format qui te convient et utiliser le résultat?
L'ouverture, la lecture et le traitement d'un fichier ne prend il pas plus de temps qu'une requête BD? L'idéal serait d'avoir les données directement stocké dans les structures d'accueils... Dans un fichier php que l'on inclut. plutôt qu'un CVS que le PHP devrait ouvrir, lire etc... du genre Hache à une main;2,5;30 épée à une main;1,4;25 Il faudrait un truc dans le genre <?php $tab_arme = array("nom" => "Hache à une main", "degat" => "2,5", "poid" => "30"); $tab_arme = array("nom" => "épée à une main", "degat" => "1,4", "poid" => "25"); etc... ?> Seulement ce fichier ne peut plus être gérer par Excel directement... Y aurait il un moyen de générer le fichier php directement sans passer par un script ou une implémentation manuelle ? -------------------- |
Nambew |
Ecrit le : Mercredi 24 Janvier 2007 à 16h19
|
Kid Groupe : Membre Messages : 43 |
Pour ma part, je dirais la base de données, ça me semble plus simple et plus logique. Même si ce n'est pas compliqué, tu vas devoir créer du code pour accéder aux informations. Et si l'inventaire n'est pas affiché au complet, ça signifie que tu dois récupérer dans la base de données les objets à afficher comme dans le cas d'un inventaire du perso ou d'un magasin, donc tu peux très bien récupérer les infos au besoin en même temps avec une jointure.
|
LoK |
Ecrit le : Mercredi 24 Janvier 2007 à 20h50
|
Ouf Groupe : Membre Messages : 210 |
Je n'ai pas testé la solution mais certains ont-ils essayé les bases de données SQLite ?
Ce sont des bases de données "normales" mais qui sont stockées dans des fichiers. Très rapide en lecture (10 fois plus qu'une requête classique si je me souvient bien de ce que j'avais lu) mais plutôt lent lors de l'écriture (idéal pour stocker les variables qui bougent peu donc). |
the-gtm |
Ecrit le : Mercredi 24 Janvier 2007 à 22h52
|
Pro Groupe : Membre Messages : 130 |
Mon conseil c'est d'aller au plus simple, et avec ça de faire un jeu (pas un programme).
Ensuite quand le programme pose problème au jeu (trop lent, trop long à mettre à jour), il sera toujours temps de mettre les constantes à un meilleur endroit. |
selenia |
Ecrit le : Jeudi 25 Janvier 2007 à 19h57
|
Pro Groupe : Membre Messages : 163 |
@the-gtm : ...mouais on prend ca comme on veut mais je serais plutôt du style a faire bien dès le debut.
Sinon tu peux te faire un script qui génère automatiquement à partir de la base de donnée un fichier de constante. L'avantage serait pour la facilité de mise à jour. En gros ca serait comme si tu avais un fichier qui fait le rôle de compilateur. MODIFICATION DE LA TABLE > COMPILATION VIA UN SCRIPT (ca peut ête autant php que java que c++ suivant ce que tu sais) > TON FICHIER DE CONSTANTE En tout cas c'est comme ca que j'interprete les dires de Manest Version accès BD : Fait un test tu verra bien ^^ |
Manest |
Ecrit le : Jeudi 25 Janvier 2007 à 21h14
|
||
Ouf Groupe : Membre Messages : 503 |
Ça dépend si tu te places du point de vue du game designer ou de celui du développeur. J'ai plus les réflexes de la seconde catégorie. Pour ceux qui sont intéressé par mon problème d'informaticien la solution est p'tet ici. Pour les autres ça va juste vous filer un mal de crane -------------------- |
||
Seren |
Ecrit le : Jeudi 25 Janvier 2007 à 22h02
|
||
Kid Groupe : Membre Messages : 37 |
Au lieu d'utiliser Excel, tu utilises Open Office qui doit avoir une option d'export en CSV. Ensuite un petit script qui relit le fichier CSV en utilisant fgetcsv(). Il y a toujours à executer un script mais ça parait plus simple que d'essayer de récupérer les infos depuis Excel. |
||
the-gtm |
Ecrit le : Jeudi 25 Janvier 2007 à 22h08
|
Pro Groupe : Membre Messages : 130 |
L'avantage de mettre les constantes en base de données, c'est que si tu fais l'interface qui va bien, un non programmeur peu les modifier tout seul. Ca permet de laisser un maitre de jeu faire des ajustements.
Pour moi ce genre de choses est utile que si tu as effectivement un maitre du jeu non informaticien. Si tu t'occupes tout seul du jeu, mets les constantes dans un fichier et pour les mettre à jour, réupload le sur le site. Mets toi du point de vue des joueurs, qu'est ce qui les intéresse le plus : savoir que tu as fait un super framework ou avoir un jeu intéressant ? Quand tu auras répondu à cette question, tu sauras sur quoi te concentrer Après si le jeu a une vocation pédagogique (apprendre à développer), ou si ton but est de te faire plaisir, tu peux te lacher ! |
Seren |
Ecrit le : Vendredi 26 Janvier 2007 à 17h31
|
Kid Groupe : Membre Messages : 37 |
Indépendamment des questions d'objectifs personnels, sur le forum "Programmer" je pose des questions de Programmation. Les questions plus orienté jeu (gameplay, difficulté, interactions,..) je les réserve pour les forums plus approprié.
Ensuite, juste réaliser quelque chose qui "marche" pour ensuite revoir une partie du design parce qu'on a pas pris en compte un élément au départ, c'est pas du tout ma façon de voir. C'est justement à ça que sert la partie "reflexion" avant de coder. Dans le cas présent, stocker d'une façon ou d'une autre les constantes, ça ne va pas changer tout le code, c'est plutôt assez mineur. Mais je préfère prendre de bonnes habitudes au départ pour m'éviter du boulot après. |