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

Moteurs de jeux vidéo Discussion :

Structures de données pour une carte


Sujet :

Moteurs de jeux vidéo

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 640
    Points : 408
    Points
    408
    Par défaut Structures de données pour une carte
    Bonjour,

    Je développe un moteur pour un jeu de stratégie et j'aimerais avoir vos avis sur la meilleure manière de représenter les données de la carte et les objets du jeu.

    La carte est composée de cases regroupées en provinces. La particularité du jeu est que toutes les cases (de continents) sont habitées et contiennent de multiples bâtiments qui produisent des ressources.

    Dans la première version (qui sera bientôt prête), j'ai simplement une classe représentant une case, qui contient toutes les données (concernant l'affichage ou non) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    TMapCell = class
    //type de terrain
    fTerrainType : byte;
    //ressources
    fResources : array[0..2] of TResource;
    //nombre de travailleurs disponibles
    fIdleCitizens : integer;
    //groupes de bâtiments
    fActivities : TList;
    //joueur qui contrôle la case
    fPlayer : TPlayer;
    //identifiant de la province à laquelle la case est rattachée
    fProvince : TProvince
    //booléen indiquant la présence d'une ville
    fHasCity : boolean;
    //Armées
    fArmies : TList;
    //visible par le joueur ?
    fVisible : boolean;
    end;
    La carte est un tableau 2D d'objets MapCell que je vais parcourir pour l'affichage. J'affiche l'image correspondant au type de terrain, je calcule dynamiquement les transitions et les frontières puis je les affiche, j'affiche l'image de la ville si nécessaire et enfin j'affiche l'image correspondant au type de la première armée.

    Mais en lisant différents articles sur la manière de représenter la carte et les données du jeu j'ai l'impression que ce n'est pas la meilleure approche.

    http://www.gamedev.net/page/resource...ersion-12-r728
    http://archive.gamedev.net/archive/r...rticle727.html
    http://www-cs-students.stanford.edu/...leObjects.html
    http://archive.gamedev.net/archive/r...is8/page3.html

    Je pense donc complètement revoir ce fonctionnement dans une prochaine version du jeu. Par exemple je pourrais gérer d'un côté les tuiles à afficher (terrain de base, végétation, ressources, transitions...) avec un tableau par niveau et de l'autre les données du jeu (habitants, production...), ce qui me permettrait de réutiliser la carte pour d'autre jeux.

    Quelle approche me conseillez-vous ?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 894
    Points : 219 532
    Points
    219 532
    Billets dans le blog
    124
    Par défaut
    Bonjour,

    Je dirai que si vous n'avez pas de problème direct avec cette solution, vous devriez continuer avec, tout simplement et faire en sorte que votre jeu fonctionne.
    Je ne vois pas spécialement en quoi c'est une bonne ou mauvaise solution, ni pourquoi d'autre serait meilleure ou pas.

    Il est vrai que sémantiquement, je n'aurais peut pas mis l'armée sur la case, car à chaque fois vous allez devoir vider votre liste vous allez la copier dans une autre.

Discussions similaires

  1. [Info] Quelle API graphique pour une "carte habitée"
    Par loz dans le forum SIG : Système d'information Géographique
    Réponses: 16
    Dernier message: 07/11/2008, 00h15
  2. quel modèle de données pour une carte 2d/3d?
    Par kain_tn dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 23/01/2008, 17h00
  3. 2 cartes graphiques pour une carte mère
    Par SteelBox dans le forum Composants
    Réponses: 19
    Dernier message: 02/08/2005, 12h09
  4. Problème d'installation de driver pour une carte réseaux
    Par black is beautiful dans le forum Matériel
    Réponses: 3
    Dernier message: 19/07/2004, 21h33
  5. Accès au port 700h pour une carte d'interface
    Par haypo dans le forum Matériel
    Réponses: 3
    Dernier message: 07/11/2002, 11h30

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