04-04-2013, 11:38 AM
La meilleur représentation d'un dialogue pour moi est un arbre décisionnel
exemple :
la base de l'arbre est l'entré de la discussion, généralement dans les RPG, c'est une question du PNJ (que me voulez vous? que désirez vous acheter? etc...)
Ensuite tu as autant de branches que de réponse possible et tu ajoutes les prérequis sur les branches.
Pour modéliser ça je ferais :
- le tronc : une table discussion avec les éléments génériques de la discussion : le PNJ, le pré requis de base par exemple et l'id du premier élément de discussion
- les noeuds : une table discussion_element avec le libellé de la discussion
- les branches : une table discussion_response avec l'id de l’élément "précédent", le libellé, l'id de l'élément "suivant"
- une table discussion_prerequis avec l'id de la réponse et le préquis.
De cette façon, devant un PNJ tu recherches la discussion via son id, tu récupères l'élément attaché et les réponses associés en fonction des prérequis.
Pour les prérequis, il faut déjà avoir une idée de ce que ça peut être : un lieu déjà visité,un objet dans l'inventaire, une quête achevée. Pour représenter ensuite en base, je créerais une colonne par type de prérequis
j'espère avoir été un minimum clair et que ça te donne des pistes pour débuter...
exemple :
la base de l'arbre est l'entré de la discussion, généralement dans les RPG, c'est une question du PNJ (que me voulez vous? que désirez vous acheter? etc...)
Ensuite tu as autant de branches que de réponse possible et tu ajoutes les prérequis sur les branches.
Pour modéliser ça je ferais :
- le tronc : une table discussion avec les éléments génériques de la discussion : le PNJ, le pré requis de base par exemple et l'id du premier élément de discussion
- les noeuds : une table discussion_element avec le libellé de la discussion
- les branches : une table discussion_response avec l'id de l’élément "précédent", le libellé, l'id de l'élément "suivant"
- une table discussion_prerequis avec l'id de la réponse et le préquis.
De cette façon, devant un PNJ tu recherches la discussion via son id, tu récupères l'élément attaché et les réponses associés en fonction des prérequis.
Pour les prérequis, il faut déjà avoir une idée de ce que ça peut être : un lieu déjà visité,un objet dans l'inventaire, une quête achevée. Pour représenter ensuite en base, je créerais une colonne par type de prérequis
j'espère avoir été un minimum clair et que ça te donne des pistes pour débuter...