• Aucun résultat trouvé

Gameplay une définition qui se rapporte à quels types de traitements de variables cela se réfère précisément

5.3.4. Mise à jour des définitions associées aux Briques Gameplay

En nous appuyant sur le Tableau 1 et les modifications opérées entre temps grâce aux

critiques des étudiants (cf. 2.3) et des professionnels (cf. 2.4), nous pouvons élaborer une

version 2 des définitions et écritures formelles associées aux différentes Briques Gameplay.

Nom Définition textuelle Définition formelle

ATTEINDRE Cette brique est de type Objectif. Elle vérifie si l’ensemble des

variables d’une instance donnée, impliquées dans la validation d’un objectif local ou global du jeu, correspondent aux valeurs des variables d’une autre instance ou à une liste de valeurs de référence. Si tel est le cas, ATTEINDRE indique que l’objectif visé est atteint. A noter : EVITER est la brique opposée de ATTEINDRE.

Soit Inst = Instance (1) Soit Inst2 = Instance (2) Soit V = {1 ; … ; v } Soit R = {1 ; … ; r }

avec Inst, l’instance de référence à prendre en compte ; avec Inst2, une seconde instance;

avec V l’ensemble des variables à ATTEINDRE pour l’instance et v le nombre de variables ;

avec R l’ensemble des résultats attendus pour l’instance Inst et r le nombre de résultats ;

Sachant que le nombre de variables v = le nombre de résultats r :

Si (Inst.V = R ou Inst.V = Inst2.R) alors ATTEINDRE = 1

(Si pour l’instance Inst, l’ensemble des éléments de V correspond à l’ensemble des éléments de R (R pouvant être inclus ou non dans une seconde Instance Inst2) alors ATTEINDRE renvoie la valeur 1 (Vrai))

EVITER Cette brique est de type Objectif.

Elle vérifie si l’ensemble des variables d’une instance donnée, impliquées dans la validation d’un échec local ou global du jeu, diffèrent des valeurs de variables d’une autre instance ou à une liste de valeurs de référence. Si tel est le cas, EVITER indique que l’objectif à ne pas viser est atteint.

A noter : ATTEINDRE est la brique opposée de EVITER.

Soit Inst = Instance (1) Soit Inst2 = Instance (2) Soit V = {1 ; … ; v } Soit R = {1 ; … ; r }

avec Inst, l’instance de référence à prendre en compte ; avec Inst2, une seconde instance;

avec V l’ensemble des variables à ATTEINDRE pour l’instance et v le nombre de variables ;

avec R l’ensemble des résultats attendus pour l’instance Inst et r le nombre de résultats ;

Sachant que le nombre de variables v = le nombre de résultats r :

(Si pour chaque instance, l’ensemble des éléments de V correspond à l’ensemble des éléments de R (R pouvant être inclus ou non dans une seconde Instance Inst2) alors EVITER renvoie la valeur 1 (Vrai))

CREER Cette brique est de type Résultat

(Verte). Elle est reliée à une brique d’Objectif (Orange) ou de Moyen (Bleue) ou une Métabrique. Si la brique reliée en fait la demande,

CREER génère les éléments

souhaités (Instances, variables et données).

A noter : DETRUIRE est la brique opposée de CREER.

Soit BG ó BO ou BM ou M Soit Inst = Instance (n) Soit V= {1 ; … ; v } Soit D = {1 ; … ; d }

avec BG, une Brique Gameplay de type Brique d’Objectif (BO) ou de type Brique de Moyen (BM) ou de type Métabrique (M) reliée à la Brique CREER ; Avec Inst l’ensemble des n instances à générer ; avec V l’ensemble des variables associée à chaque Instance n et v le nombre de variables ;

avec D l’ensemble des données à associer à chaque variable de V et d le nombre de données ;

Sachant que le nombre de variables v = le nombre de résultats d : Si (BG == 1) alors { Générer Inst Générer Inst. V V = D } Avec n>0, v>0 et d>0.

(Si BG renvoie 1 (Vrai) alors générer un nombre n d’instances et un nombre v de variables reliées à chaque instance avec les données d associées)

DETRUIRE Cette brique est de type Résultat

(Verte). Elle est reliée à une Brique d’Objectif (Orange) et/ou de Moyen (Bleue). Si la brique reliée en fait la demande, DETRUIRE supprime les

éléments souhaités (Instances,

variables et données).

A noter : CREER est la brique opposée de DETRUIRE.

Soit BG ó BO ou BM ou M Soit Inst = Instance (n) Soit V= {1 ; … ; v }

avec BG, une Brique Gameplay de type Brique d’Objectif (BO) ou de type Brique de Moyen (BM) ou de type Métabrique (M) reliée à la Brique DETRUIRE ;

Avec Inst l’ensemble des n instances à supprimer ; avec V l’ensemble des variables associée à chaque Instance n et v le nombre de variables ;

Sachant que le nombre de variables v = le nombre de résultats d :

Si (BG == 1) alors { Supprimer Inst Supprimer Inst. V

}

Avec n>0 et v>0.

(Si BG renvoie 1 (Vrai) alors supprimer un nombre n d’instances et un nombre v de variables reliées)

GERER Cette brique est de type Condition (Violette). Elle doit être associée à

l’une des Briques de Moyen

(Bleues). GERER vérifie la

disponibilité des ressources

nécessaires. Si tel est le cas, GERER accorde le déclenchement de la Brique de Moyen associée, sinon c’est refusé.

Soit BG ó BM

Soit V(BG) = {1 ; … ; v } Soit R = {1 ; … ; r }

avec BG, une Brique Gameplay de type Brique de Moyen (BG) reliée à la Brique GERER ;

avec V(BG) l’ensemble des Ressources disponibles au regard de BG et v le nombre de variables ;

avec R l’ensemble des Ressources nécessaires et r le nombre total de ressources à vérifier ;

Si (V(BG)>= R) alors GERER= 1 sinon GERER= 0 (Si chaque variable de V(BG) a une valeur supérieure ou égale à chacune des valeurs de R alors GERER renvoie la valeur 1 (Vrai) sinon 0 (Faux)

CHOISIR Cette brique est de type Moyen. Elle inscrit dans une ou des variables d’au moins une instance donnée le ou les choix réceptionnés.

Soit Inst = Instance (n) Soit V(Inst) = {1 ; … ; v } Soit C = {1 ; … ; c }

avec Inst l’ensemble des instances ciblées ; avec n correspondant au nombre d’instances ; avec V(Inst) l’ensemble des variables v liées à des valeurs de choix pour Inst ;

avec C l’ensemble des variables c liées aux choix opérés ;

Si (CHOISIR == 1) alors { V(Inst) = Select (list, C) }

Avec list correspondant à la liste des items parmi lesquel il convient de faire des choix.

(Si un choix est perçu, il convient de renseigner chaque variable de l’ensemble V(Inst) par l’ensemble des choix C opérés parmi la liste list)

DEPLACER Cette brique est de type Moyen (Bleue). Elle modifie le ou les variables liées aux coordonnées spatio-temporelles, rotations et les vitesses d’au moins une instance (Déplacements en X (Horizontal), en Y (Vertical), en Z (Profondeur), en T (Temps), en R (Rotations) avec

Soit Inst = Instance (n) Soit Vx= {1 ; … ; v } Soit Vy= {1 ; … ; v } Soit Vz= {1 ; … ; v } Soit Vt= {1 ; … ; v } Soit Vr= {1 ; … ; v }

assimiliés à des vitesses de

déplacement)). avec Vx, Vy, Vz, Vt et Vr les ensembles de variables v

en lien avec les coordonnées X (Abscisse) ou Y (Ordonnées) ou Z (Cote) ou T (Temps) ou R (Rotations dans l’espace) pour Inst ; Si (DEPLACER == 1) alors { Vx (Inst) = Vx(Inst) + dX Vy (Inst) = Vy(Inst) + dY Vz (Inst) = Vz(Inst) + dZ Vt (Inst) = Vt(Inst) + dT Vr (Inst) = Vr(Inst) + dR }

Avec dX, dY, dZ, dT et dR les variables du pas de déplacement correspondantes à une valeur de type nombre réel R. Plus le pas est grand, plus cela représente une vitesse importante.

(Si une instruction de déplacement en X, Y, Z, T ou R est perçue, il convient d’incrémenter de la valeur dX, dY, dZ, dT ou dR les variables de Vx, Vy, Vz, Vt et Vr au sein de Inst)

ECRIRE Cette brique est de type Moyen

(Bleue). Elle inscrit dans une ou des variables d’au moins une instance donnée la suite alphanumérique (nombres, mots ou mélanges des deux) réceptionnée.

Soit Inst = Instance (n) Soit V(Inst) = {1 ; … ; v }

avec Inst l’ensemble des instances ciblées ; avec n correspondant au nombre d’instances ; avec V(Inst) l’ensemble des variables v liées aux données alphanumériques pour Inst ;

Si (ECRIRE(x) <> "") alors { V(Inst) = x

}

Avec x correspondant à la valeur alphanumérique renvoyé par ECRIRE.

(Si une donnée alphanumérique x est perçue (différente de rien), il convient de renseigner chaque variable de l’ensemble V(Inst) par x)

RANDOMISER Cette brique est de type Moyen (Bleue). Elle inscrit dans une ou des variables d’au moins une instance donnée la ou les données aléatoires générés. Les données sont de type alphanumériques (nombres, mots ou mélanges des deux).

Soit Inst = Instance (n) Soit V(Inst) = {1 ; … ; v }

avec Inst l’ensemble des instances ciblées ; avec n correspondant au nombre d’instances ; avec V(Inst) l’ensemble des variables v liées à des données aléatoires pour Inst ;

Si (RANDOMISER == 1) alors { V(Inst) = aléatoire (list)

}

Avec list correspondant à la liste des éléments (données alphanumériques) parmi lesquel il convient de faire un tirage aléatoire.

(Si une demande de tirage aléatoire est perçu, il convient de modifier chaque variable de l’ensemble V(Inst) par un élément choisi aléatoirement dans la liste list)

SHOOTER Cette brique est de type Moyen (Bleue). Elle solicite la Brique de Résultat CREER (Verte) pour générer au moins une instance de type « Tir » avec un déplacement spatio-temporel et une vitesse associés. Si le déplacement est nul, il s’agit d’un tir à bout portant pouvant être assimilé à coup.

Soit Instance (n) = Tir (n) Soit V= {1 ; … ; v } Soit D = {1 ; … ; d }

Avec Instance (n) une instance de type « Tir » à générer n fois ;

avec V l’ensemble des variables associée à chaque Instance de Tir (n) et v le nombre de variables ;

avec D l’ensemble des données à associer à chaque variable de V et d le nombre de données ;

Sachant que le nombre de variables v = le nombre de résultats d :

Si (SHOOTER == 1) alors { CREER. Tir(n).(V, D) DEPLACER. Tir(n) = 1 }

Avec n>0 et v>0 au moins une variable v est de type déplacement en x et/ou en y et/ou en z et/ ou en t. (Si une demande de tir est détectée (SHOOTER

renvoie 1 (Vrai)) alors générer un nombre n d’instances de type Tir avec un ensemble V de variables dont les données sont issues de l’ensemble D), enfin indiquer que ces instances de Tir mobilisent un déplacement associé (DEPLACER = 1)

VOCALISER Cette brique est de type Moyen (Bleue). Elle inscrit dans une ou des variables d’au moins une instance donnée la hauteur de l’onde enregistrée à un instant T.

Soit Inst = Instance (n) Soit V(Inst) = {1 ; … ; v }

avec Inst l’ensemble des instances ciblées ; avec n correspondant au nombre d’instances ; avec V(Inst) l’ensemble des variables v liées aux données alphanumériques pour Inst ;

Si (VOCALISER == 1) alors { V(Inst) = x(T)

}

Avec x correspondant à la valeur renvoyée par VOCALISER à l’instant T.

(Si VOCALISER est activé, il convient de renseigner chaque variable de l’ensemble V(Inst) par la valeur x qui correspond à une hauteur d’onde enregistré à l’instant T)

Le Tableau 15 classifie les différentes Briques Gameplay selon leurs familles d’appartenances