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

Développement 2D, 3D et Jeux Discussion :

[RPG] Déroulement du jeu : comment le représenter en mémoire ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 263
    Points
    263
    Par défaut [RPG] Déroulement du jeu : comment le représenter en mémoire ?
    Bonjour !

    Je développe un RPG et le projet est actuellement en très bonne voie.
    Le Tile engine, le gestionnaires des évènements, l'editeur de niveaux, les maps etc sont ok.

    J'ai en revanche une question technique concernant le déroulement du scenario :
    comment en tenir compte en mémoire, comment les éléments du jeu doivent ils y accéder.

    Par exemple, dans Zelda link's awakening sur game boy, il y avais cette quete annexe où link obtenais un
    objet et pouvais l'échanger contre un autre pour finalement obtenir un objet spécial.

    De manière globale, comment un RPG gére l'évolution du jeu (deblocage de zone apres avoir vaincu un boss,
    ou récupérer un objet spécifique).

    Aussi, les personnages peuvent dévoiler un message différant suivant l'avancement du jeu...
    Concrètement cela représente un gros switch pour chacun d'eux ?

    Dans les RPG 2D que l'on trouvais sur NES ou SNES, j'imagine que tout cela été code en dur au vue de
    la mémoire disponible... mais il serai possible aujourd'hui d'utiliser un tableau globale (de type
    structure avec un index et une valeur en c ou une std::Map<int, T*> en c++) en tant que pool de
    variables pour stocker toutes ces informations...

    Si vous avez des conseilles (même s'ils ne répondent pas a toutes les questions) nécessiter pas, j'aimerai
    en savoir plus avant de me lancer dans un code qui va déterminer l'architecture du reste de l'application.

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par TheDrev Voir le message
    Par exemple, dans Zelda link's awakening sur game boy, il y avais cette quete annexe où link obtenais un objet et pouvais l'échanger contre un autre pour finalement obtenir un objet spécial.
    En effet, dépendant si tu avais l'objet A, tu pouvais obtenir en parlant à X, l'objet B. Une simple vérification de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (player.hasObject (A))
      {
         displayText ("Je te pique ton A pour te filer B");
         player.replace (A,B);
      }
    peut être suffisant.

    De manière globale, comment un RPG gére l'évolution du jeu (deblocage de zone apres avoir vaincu un boss, ou récupérer un objet spécifique).
    Tu remarqueras que les anciens zelda ne faisaient pas ca. Ils te bloquaient les zones en mettant qq chose qui était impénétrable jusqu'à avoir le bon objet. Une bombe pour exploser les caillous par exemple.

    Aussi, les personnages peuvent dévoiler un message différant suivant l'avancement du jeu...
    Concrètement cela représente un gros switch pour chacun d'eux ?
    Cela dépend de ce que tu as comme language script. Maintenant, chaque personnage a plutôt son script qui gére comment il intéragit avec le perso principal.

    Ca peut-être un switch dépendant de l'avancement mais cela ressemble plutôt à un graphe d'état. Dépendant de ce qui se passe, le personnage va passer d'un état ou dans un autre.

    Dans les RPG 2D que l'on trouvais sur NES ou SNES, j'imagine que tout cela été code en dur au vue de la mémoire disponible... mais il serai possible aujourd'hui d'utiliser un tableau globale (de type structure avec un index et une valeur en c ou une std::Map<int, T*> en c++) en tant que pool de variables pour stocker toutes ces informations...
    Oui cela peut fonctionner, ton index sera donc ton état.

    J'ai une tendance à préférer un script séparé pour le scénario puisque comme ca, tu n'es plus obligé de recompiler les choses. Plus le moteur des scripts est séparé par rapport aux scripts eux-même.

    Jc

Discussions similaires

  1. [Aide Programmation de jeu]Comment faire translater un objet ?
    Par Space4Runaway dans le forum Android
    Réponses: 0
    Dernier message: 01/12/2011, 16h16
  2. Réponses: 9
    Dernier message: 29/08/2010, 22h53
  3. [OO-Conception] Moteur de jeu:comment assembler ses pieces?
    Par bachir006 dans le forum Moteurs de jeux vidéo
    Réponses: 4
    Dernier message: 13/08/2010, 11h51
  4. [JEU]Comment commencer
    Par mavina dans le forum Général Java
    Réponses: 7
    Dernier message: 04/11/2005, 09h39
  5. Comment bien gerer la mémoire avec les TStringList?
    Par david_chardonnet dans le forum Langage
    Réponses: 5
    Dernier message: 18/06/2003, 10h57

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