La fiction créée en jeu de rôle prend place dans un univers imaginaire ; même s'il s'agit de « notre monde réel », c'est un monde fictif qui n'existe que dans l'imagination des joueuses, les actions qui s'y déroulent n'ont pas lieu dans le monde réel.
Lors d'une partie de jeu de rôle, il y a en permanence la création d'éléments du monde. Si les joueuses demandent : « il est comment, l'escalier », la personne en charge de l'escalier (la meneuse de jeu dans le jeu de rôle traditionnel) va probablement inventer des éléments sur le pouce (« il n'est pas très large, en bois peint en rouge, la peinture sur les marches est usée, il craque quand tu le montes »).
La description d'éléments est importante, car c'est ce qui va stimuler l'imagination des joueuses : cela va à la fois faciliter leur immersion (composante I), l'univers prenant de l'épaisseur, et cela va stimuler leur imagination. En effet, c'est à partir de ces éléments qu'elles vont prendre des décisions.
Certains éléments vont prendre une importance particulière dans la fiction : un lieu, un personnage non-joueur, un objet… Que ce soit lors de la phase de préparation ou bien en cours de partie, on peut se ramener au modèle SHID :
Approche fonctionnelle.
Une manière de concevoir un élément est de considérer ses fonctions dans la partie :
En définissant les fonctions de l'élément dans la partie, cela permettra de le faire "fonctionner", c'est-à-dire de le décrire et de l'interpréter de manière dynamique, de le faire réagir aux actions des personnages-joueurs.
Concernant la fonction S : c'est un élément qui peut marquer les joueuses, il va donc faire partie de l'imaginaire collectif des joueuses, peut-être en parleront-elles en dehors des parties. Il va donc falloir lui trouver un caractère, quelques éléments marquants qui feront que ça ne sera pas un élément vite oublié. Éventuellement, cet élément sera récurrent dans la campagne : l'auberge devient un de leur point de chute, ils vont toujours voir le même indic…
Nous voyons ici qu'en général, les fonctions sont liées : l'élément présente un défi (D) pour permettre la progression de l'histoire (H) et ce défi dépend des caractéristiques de l'élément, en cohérence avec la logique du monde (I).
Approche organique.
Tous les éléments peuvent être considérés comme un être vivant. C'est évidemment le cas pour un PNJ, mais cela s'applique à tout :
Ainsi, on peut définir
pour tous les éléments comme si c'étaient des êtres vivants.
Approche relationnelle.
L'élément est en relation avec d'autres éléments du monde. Définir ces relations permet également de faire vivre de manière dynamique cet élément au sein de l'écosystème, et surtout de faire réagir les "autres" éléments aux actions de PJ sur l'élément. Un outil classique est la carte relationnelle : un graphique où les relations sont représentées par des traits reliant les éléments.
"../Probabilités des dés en jeu de rôle/" < ↑ > "../Créer un univers/"

Ubuntu/Arrière plan dynamique (Gnome)
Mathc complexes/a41
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : wrm.h */
double **r_mZ(
double **A,
int n
int r;
int c;
 for (r=R1; r<A[R_SIZE][C0]; r++)
 for (c=R1; c<A[C_SIZE][C0]; c++)
 A[r][c] = r_I(n);
return(A);
/* ------------------------------------ */
double **r_mRZ(
double **A,
int n
int r;
int c;
 for (r=R1; r<A[R_SIZE][C0]; r++)
 for (c=R1; c<A[C_SIZE][C0]; c+=C2)
 A[r][c] = r_I(n);
 A[r][c+C1] = 0;

return(A);
/* ------------------------------------ */
double **rE_mZ(
double **A,
int n,
double E
int r;
int c;
 for (r=R1; r<A[R_SIZE][C0]; r++)
 for (c=R1; c<A[C_SIZE][C0]; c++)
 A[r][c] = r_I(n)*E;
return(A);
/* ------------------------------------ */
double **rcsymmetric_mZ(
double **A,
int n
int r = rsize_Z(A);
int c = csize_Z(A); 
double **B = r_mZ(i_mZ(r,c),n);
double **B_T = ctranspose_mZ(B,i_mZ(c,r));
 mul_mZ(B,B_T, A);
 f_mZ(B);
 f_mZ(B_T);
 return(A);
/* ------------------------------------ */
double **rcsymmetric_mRZ(
double **A,
int n
int r = rsize_Z(A);
int c = csize_Z(A); 
double **B = r_mRZ(i_mZ(r,c),n);
double **B_T = ctranspose_mZ(B,i_mZ(c,r));
 mul_mZ(B,B_T, A);
 f_mZ(B);
 f_mZ(B_T);
 return(A);
/* ------------------------------------ */
double **rEcsymmetric_mZ(
double **A,
int n,
double E
int r = rsize_Z(A);
int c = csize_Z(A); 
double **B = rE_mZ(i_mZ(r,c),n,E);
double **B_T = ctranspose_mZ(B,i_mZ(c,r));
 mul_mZ(B,B_T, A);
 f_mZ(B);
 f_mZ(B_T);
 return(A);
/* ------------------------------------ */ 
double **r_Q_mZ(
double **Q,
int n
double **T = r_mZ( i_mZ(csize_Z(Q),
 rsize_Z(Q)),n);
 orthuv_mZ(T,Q);
 Normalizeuv_mZ(Q);
 f_mZ(T);
 return(Q); 
/* ------------------------------------ */
double **r_q_mZ(
double **Q,
int n
double **T = r_mZ( i_mZ(csize_Z(Q),
 rsize_Z(Q)),n);
 orthuv_mZ(T,Q);
 f_mZ(T);
 return(Q); 
/* ------------------------------------ */

Mathc complexes/a42
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : w_a.h */
/* Standard file */
/* Help */
/* Complexes numbers */
/* Create */
/* Copy */
/* Print */
/* Basic operation */
/* ------------------------------------ */ 
/* ------------------------------------ */ 
/* Rand */
/* ------------------------------------ */

Mathc complexes/a43
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : wb.h */
/* ------------------------------------ */ 
/* Rand */
/* ------------------------------------ */

Mathc complexes/a44
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : wdbm.h */
double **MmnsD_mZ(
double **M,
double **D,
double **MmnsD
int r;
int c;
 dif_sizes_mZ(M,D, "MmnsD_mZ();","(M or D)");
 dif_sizes_mZ(M,MmnsD,"MmnsD_mZ();","(MmnsD) ");
 for ( r=R1; r<M[R_SIZE][C0]; r++)
 for ( c=R1; c<M[C_SIZE][C0]; c+=C2)
 if(((r-R1)*C2)==c-C1)
 MmnsD[r][c ] = M[r][c] - D[r][c];
 MmnsD[r][c+C1] = M[r][c+C1] - D[r][c+C1];
 else{
 MmnsD[r][c ] = M[r][c];
 MmnsD[r][c+C1] = M[r][c+C1];

return(MmnsD);
/* ------------------------------------ */
double **DmnsM_mZ(
double **M,
double **D,
double **DmnsM
int r;
int c;
 dif_sizes_mZ(M,D, "DmnsM_mZ();","(M or D)");
 dif_sizes_mZ(M,DmnsM,"DmnsM_mZ();","(MmnsD) ");
 for ( r=R1; r<M[R_SIZE][C0]; r++)
 for ( c=R1; c<M[C_SIZE][C0]; c+=C2)
 if(((r-R1)*C2)==c-C1)
 DmnsM[r][c ] = D[r][c] - M[r][c];
 DmnsM[r][c+C1] = D[r][c+C1] - M[r][c+C1];
 else{
 DmnsM[r][c ] = M[r][c];
 DmnsM[r][c+C1] = M[r][c+C1];

return(DmnsM);
/* ------------------------------------ */
double **f_eigs_uv_mZ(
double (*P_f)(double x),
double **A,
double **fA
int r;
int c;
 dif_sizes_mZ(A,fA,"eigs_f_uv_mZ();","(A or fA");
 for ( r=R1; r<A[R_SIZE][C0]; r++)
 for ( c=C1; c<A[C_SIZE][C0]; c+=C2)
 if(((r-R1)*C2)==c-C1)
 fA[r][c] = (*P_f)(A[r][c]);
 return(fA);
/* ------------------------------------ */

Mathc complexes/a45
Bibliothèque
Installer ce fichier dans votre répertoire de travail.
/* Save as : wdeignv.h */
double **eigs_V_uv_mZ(
double **A,
double **V,
double factor
int r = rsize_Z(A);
int i;
double **sA = smul_mZ(factor, A,i_mZ(r,r));
double **EigsValue = i_mZ(r,C1);
double **Ide = eye_mZ(i_mZ(r,r));
double **zIde = i_mZ(r,r);
double **AmnszIde = i_mZ(r,r);
double **Ab = i_Abr_Ac_bc_mZ(r,r,C1);
double **b = i_mZ(r, C1 );
double **Ab_free = i_Abr_Ac_bc_mZ(r,r,C2);
double **b_free = i_mZ( r, C2);
 eigsuv_mZ(sA,EigsValue);
for(i = R1; i <= rsize_Z(EigsValue); i++)
 zmul_mZ(i_Z(EigsValue[i][C1],EigsValue[i][C2]),Ide,zIde); 
 MmnsD_mZ(sA,zIde,AmnszIde);
 c_A_b_Ab_mZ(AmnszIde,b,Ab); 
 GJ_PP_FreeV_m(Ab,Ab_free,b_free);
 c_c_mZ(b_free,C2,V,i); 
 Normalizeuv_mZ(V);
 return(V);
/* ------------------------------------ */