GL-MPRI-2014 / Ocawai

OCAWAI
8 stars 3 forks source link

Mesure de l' "état de victoire" du joueur #188

Closed tbazin closed 9 years ago

tbazin commented 9 years ago

Bonjour à tous !

Briévement (pour ceux qui auraient eu envie de répondre TLDR) : besoin avec @Artymort d'un mapping entre l'état exporté du jeu pour un joueur donné et son "niveau actuel de bonheur" (il gagne, il est vraiment dans le mal...). Des indications sur ce qu'on peut aller récupérer, et où ?

Version déveoppée : Maintenant que tous les outils sont (enfin) en place et fonctionnent pour ce que @Artymort et moi-même souhaitons développer, il nous faudrait un peu d'aide. Je ne suis pas tout à fait au fait de tout ce qui s'est fait dans les autres branches et en particuliers je ne sais pas quelles sont les informations qui sont exportées au client .

Or, nous avons besoin pour notre générateur d'un mapping entre l'état du jeu -- pris individuellement pour chaque Player -- et des "humeurs" ("calme plat", "conquérant", ""victorieux", "menacé", "mis en difficulté", "défaite"). Une fois ceci fait, on définira blocs musicaux élémentaires pour chaque humeur, avec -- en simplifiant -- du mineur quand ça va pas et du majeur quand ça va bien, puis on tirera aléatoirement des blocs à chaque mesure en fonction de l'état actuel du jeu. (Avec des blocs de transition d'une humeur à une autre pour la fluidité du tout.)

On a pensé avec @Artymort à définir une mesure en envoyant dans des entiers (positifs ou négatifs selon la valeur de "bonheur" que ça représente pour le joueur des données telles que : quantité de ressources à disposition, nombre de bâtiments occupés, nombre d'unités alliés vivantes, nombre d'unités ennemies en vue... puis de définir les humeurs comme des intervalles de la somme de toutes ces valeurs. (Plus la somme sera faible, moins ça ira bien pour le joueur.)

Vous avez des indications à nous donner sur les données exportées que l'on pourrait récupérer ?

TheoWinterhalter commented 9 years ago

Je pense qu'on veut plutôt voir ça avec l'interface qu'avec le moteur qui n'en n'a rien à faire de la musique (et ne devrait pas l'entendre si tout va bien).

Le module Update (il faut bien que je le vende) devrait être là où tu trouveras ton bonheur. C'est déjà un lieu de cohabitation avec le son, puisque les effets sonores y sont joués. Le module voit tout (et au compte goutte donc c'est plus facile à décomposer), il est donc raisonnable de penser que tu puisses greffer ici et là des petits bouts d'estimation.

Je ne sais pas trop comment fonctionne ton truc en revanche. On peut donc imaginer que ton module se met à jour depuis le mien à chaque mise à jour lue (par exemple… ce n'est pas obligé, tu pourrais aussi recalculer tout à chaque fois en te servant plutôt de ClientData.client_data).


Si tu veux plus de détails, n'hésite pas. Je ne sais pas si tu es satisfait de ma réponse.

tbazin commented 9 years ago

(Oui, effectivement, c'est plus pertinent de prendre interface qu'engine.) Je vais regarder ça, de ce que tu me dis, ça me semble pas mal ! Merci pour ta réponse.

TheoWinterhalter commented 9 years ago

Je crois que c'est réglé puisque vous avez le module Mood maintenant. :)