JeuWeb - Crée ton jeu par navigateur
Gestion des PNJ, quêtes etc... - 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 : Gestion des PNJ, quêtes etc... (/showthread.php?tid=4482)



Gestion des PNJ, quêtes etc... - Kassak - 13-12-2009

Bonsoir,

Je voudrais savoir votre solution pour gérer les PNJ, les dialogues avec eux, les quêtes etc...

Vous rentrez tout en bdd ? Tous les textes, les conditions, le degré de la quête etc...?

Une page pour chaque pnj ?

Ou autre ?

Pour la solution une page par pnj, je l'avais déjà fait dans un autre projet, et cela permet pas mal de liberté quand aux quêtes, au choix de dialogue etc... vous trouvez ça énorme ? 40 PNJ, 40 pages...

Merci !


RE: Gestion des PNJ, quêtes etc... - Crimson - 13-12-2009

Tout dépend de la manière dont tes quêtes sont formées. Mais comme pour le sujet pour les sorts, je dirais des fonctions pour les généraux et des fonctions pour les cas particuliers.

Apres pour les textes j'utilise un framework qui gère la localisation donc ça facilite pas mal la récupération des textes.
Mais si tu fais des fonctions tu devras les stocker quelque part.

40 PNJ, 40 pages ce n'est pas forcément énorme mais ton jeu va t'il se limiter à 40 pnj ? Car si ce chiffre est amené à évoluer tu vas rapidement te retrouver avec encore plus de fichiers.

Pour mon projet j'ai stocké toute la structure de mes quêtes dans la base de données et j'ai une fonction qui gère tout. Mais je dois encore améliorer ça.


RE: Gestion des PNJ, quêtes etc... - My Hotel - 13-12-2009

Pour moi, faut déjà essayer de trouver des grands groupes de quêtes : genre "aller chercher un truc", "tuer x machins", "voler x"...
Ca te permet de mieux classer tout ça. Ensuite, tu peux ajouter des contraintes à chaque mission genre "temps". Si tes quêtes sont classifiables ainsi, tu peux les rentrer dans ta BDD. De même pour les PNJ. Évidemment, ça impose quand même une rigueur.
Et tu procèdes de même pour les PNJ et sorts : tu trouves des points communs.
Genre pour un sort : t'as "categorie : attaque, defense, soin...", puis "force : XPV, ATT, ce que tu veux", puis "temps de rechergement...". Et là tu peux coder la plupart des sorts possibles, non?

Avec, ce système, y'a quand même de quoi faire! Smile

Bye


RE: Gestion des PNJ, quêtes etc... - Zamentur - 13-12-2009

Perso je me demande si un formalisme du type grafcet ou réseau de pétrie ne serait pas intéressant.

C'est un peu ce que faisait Age Of Empire dans son éditeur de carte avec le système des déclencheurs. l'intérêt évident c'est que çà permet à termes de développer une interface pour qu'un non programmeur (par exemple un animateur du jeu) puisse créer un PNJ et çà avec une gestion assez fine de ce dernier.

Évidement je n'ai pas beaucoup réfléchit à cette question, mais çà me semble une piste intéressante.

Pratiquement il s'agirait de modéliser un Graphe avec pour chaque élément la transition pour y accéder et l'action à faire pendant que l'étape est active.

On peut imaginer un système d'évènement pour gérer bien le tout.

Les dialogues pourraient être modélisé de cette façon aussi ainsi que la gestion des réponses.

Évidement je suis aussi de l'avis d'utiliser un système de gestion de texte en plus à ce niveau (comme pour tous les textes (semi-)fixes du jeu en fait)


Mais bon il y a peut être des problèmes/limitations avec un tel système


RE: Gestion des PNJ, quêtes etc... - NicoMSEvent - 14-12-2009

Pour ma part, j'ai une page (formulaire) qui peut accueillir un lieu nommé, un autre qui peut accueillir un pnj, et un troisième qui peut accueillir un PNJ.

Les champs principaux pour ces formulaires(les données sont dans la BDD, qui s'en serait douté? ^^) sont :
Pour le PNJ : Nom, position sur la carte (identifiant mis a jour quand on drag/drop le pnj vers une case affichée a l'écran), type de PNJ (faune, groupe de raid, boss, pnj)
Pour le lieu nommé : Nom, position
Pour la quete : Nom de la quete, pnj a qui il faut parler pour la déclencher (liste), texte de début, de réussite ou d'échec + les divers bonus (or, xp, objets a recevoir, ...)
sous-table pour la quete (dans le meme formulaire)
conditions de réussite/d'échec pour la quete (je ne détaille pas ça ici)
prérequis pour pouvoir prendre la quete (ou interdisant la quete)

Si ce n'est pas clair, je pourrais toujours poster quelques capture d'écran Smile

Donc, en résumé, il ne faut pas entrer une seule ligne de code pour créer un pnj, ou une quete. N'improte quel joueur qui aurait le droit de le faire, pourrait le faire Smile