IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PostgreSQL Discussion :

Debutant, cast, heritage


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Concepteur Jeux Vidéos
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Concepteur Jeux Vidéos
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut Debutant, cast, heritage
    Bonjour

    Tout d'abord bravo à l’équipe de Developpez.com et aux participants des forums. J'ai trouvé ici de bonne choses et les articles/réponses sont de bonne qualité.

    Pour me présenter rapidement, je suis développeur de jeux vidéo pro depuis 11 ans et jusqu’à présent j'ai essentiellement bossé sur console (PS2, DS, Wii, X360). La situation actuelle fait que mon prochain jeu sera sur PC.

    Je travaille sur un jeu de type "Wipeout". Le coeur du jeu (la partie course) est terminé. J'ai sorti il y a quelques mois une version pour smartphones.

    J'ai commencé une version PC. Vous pouvez avoir quelques infos ici:
    http://www.raggededge-online.com/
    Le jeu sera couplé avec une base de donnée. J'ai choisi PostgreSQL.

    Je me suis acheté le libre "SQL" de Frédéric Brouard, qui si j'ai bien compris est modérateur ici. Très bon livre, je le lis et relis pour comprendre progressivement les concepts et instructions.

    Je suis débutant donc je me pose des questions sur la manière d'architecturer mes données.

    Le point particulier de mon jeu est qu'il est "customisable". Par l'a j'entends que chaque joueur peut modifier des paramètres des données du jeu pour créer ses propres éléments.
    C'est moi qui choisi les paramètres que j'externalise du jeu, leur type, leurs bornes et je souhaite stocker cela dans la BDD.

    Par exemple:
    Le joueur pourra faire des courses dans x "environnements" (=décor) differents (et pour chaque choisir entre y "circuits" (=pistes) ).
    Pour chaque environnement, je souhaite stocker des paramètres comme:
    Texture de fond ("Skybox") (Choix dans une liste), Gravité (float), Condition climatique (choix dans une liste)
    Tous les environnements ayant les même paramètres, je vois vaguement comment je vais pouvoir faire cela.

    Mon problème est au niveau des modes de jeux.
    Le jeu comportera x modes de jeux differents et chacun aura ses paramètres (la ils peuvent être tous differents).

    Exemple: (Mode : Paramètres )
    CONTRE LA MONTRE : Aucun paramètre
    VS : Nombres d'adversaires, Nombre de tours, ...
    CHECKPOINTS : Nombre de tours, Espacement des checkpoints, temps de depart, nombre de drones, type de drones, ...

    Pour chaque mode, il y aura plus de paramètres, l'idée c'est qu'un maximum de données soient réglables par le joueur pour créer de nouveaux mode de jeu, qui seront partagés aux autres joueurs.

    Je pourrai créer une table mode de jeu avec un mélange de tous les paramètres de tous les modes. Mais je trouve cela vilain. Car impossible de savoir lequel est utilisé pour tel ou tel mode (et puis j'ai envie d'apprendre à faire les choses bien si possible).
    Idem si je dois utiliser un unique paramètre text, et stocker toutes mes infos la dedans la queueleuleu. Vilain.

    En C++, j'utiliserai la notion d’héritage pour créer une classe mère et des classes filles spécifiques. Et quand je fais un lien vers un mode de jeu, je peux le typer en "classe mère" et mettre dedans n'importe quelle classe fille.

    Donc je verrai une table mère "MODE DE JEUX".

    Et des tables filles "CONTRE LA MONTRE", "VS", ... qui hérite de "MODE DE JEUX".

    Ce que je ne sais pas, c'est si il est ensuite possible de faire une table "COURSES" dans laquelle je pourrai préciser qu'il y a une données de type "MODE DE JEUX" (une clé étrangère , c'est ca ?), et dans laquelle je pourrai faire un lien avec n'importe laquelle des tables filles, (et donc une entrée dans cette table) et que ca puisse me paramètres d'aller lires les données spécifiques des tables filles.

    Ou alors il faut faire des CASTS ?

    J'aimerai savoir si dans l'idée globale je suis sur la bonne piste.

    Et si quelques uns ont des aides pour le détail, je suis curieux également.

    Merci d'avoir lu.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Citation Envoyé par Christophe78180 Voir le message
    Ce que je ne sais pas, c'est si il est ensuite possible de faire une table "COURSES" dans laquelle je pourrai préciser qu'il y a une données de type "MODE DE JEUX" (une clé étrangère , c'est ca ?), et dans laquelle je pourrai faire un lien avec n'importe laquelle des tables filles, (et donc une entrée dans cette table) et que ca puisse me paramètres d'aller lires les données spécifiques des tables filles.
    Non en modélisation relationnelle, on ne peut pas faire un lien qui va tantôt vers une table tantôt vers une autre avec le SGBD qui se débrouillerait dynamiquement pour aller chercher les données au bon endroit. Y compris et même notamment avec la fonctionnalité d'héritage de structure de table présente dans postgresql.

    En revanche une modélisation assez courante pour des entités avec des attributs communs consiste à faire une table principale avec les attributs communs, et des tables secondaires avec leurs attributs spécifiques et une clef externe vers la table principale.

  3. #3
    Membre averti
    Homme Profil pro
    Concepteur Jeux Vidéos
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Concepteur Jeux Vidéos
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut
    Merci pour ta réponse.
    Je vais continuer a potasser pour la comprendre maintenant.

Discussions similaires

  1. pb cast heritage
    Par DEVfan dans le forum C++
    Réponses: 9
    Dernier message: 14/03/2008, 10h50
  2. [Debutant]Généricité & Héritage
    Par Drannor dans le forum Débuter
    Réponses: 21
    Dernier message: 17/09/2006, 17h07
  3. cast et heritage
    Par BigNic dans le forum C++
    Réponses: 11
    Dernier message: 30/03/2006, 08h07
  4. [debutant]probleme cast et compilation
    Par Battosaiii dans le forum C
    Réponses: 7
    Dernier message: 31/10/2005, 20h00
  5. [Debutant] Probleme de (simple) heritage
    Par Invité dans le forum Langage
    Réponses: 7
    Dernier message: 08/12/2004, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo