V.0

***Pio*** : *Bon, ya pas de couleurs, du coup on met en page comme je le fais là, une fois qu'un truc est décidé, je le passe en texte normal et je tej' le commentaire en italique (ce qui ne veut pas dire qu'il ne faut pas discuter des points qui ne sont pas en italique!!!). Le but du jeu c'est avant tout de dégager les aspects élémentaires de v.0 avant le week-end prochain (15juin), et d'ordonner les idées qui feront partie des itérations suivantes afin de faire plusieurs ToDoList (une par version).*
*Gardons bien en tête que ce proto a pour vocation de devenir un pan du jeu final, chaque décision doit être projetée, et servir le concept initial.*

**'Edit 08/06 : En fait ya des couleurs mais c'est un chouia compliqué. A gauche de "cancel" et "save page" ya un menu, dans lequel ya "[ ] source editor". Une fois dans cet éditeur faut faire précéder ses paragraphes par : `<div style="color:#C5E8ED;">` et les achever par `</div>`**

**Voila, c'est un tout petit peu chiant mais c'est plus lisible. On peut changer la couleur en changeant le code hexa après "color:" et trouver une couleur qui nous plait ici par exemple. On peut aussi dire que tout ce qu'on rajoute de nouveau on le met en gras, quand on a lu le texte de l'autre, on le passe en italique non gras.**

ToDoList v.0

ToDoList v.1

## Descriptif

La première mission de ce prototype est de concevoir, tester, affiner et équilibrer une mécanique de gameplay. Quand nous en serons satisfaits nous y ajouterons des fonctionnalités jusqu'à obtenir une première esquisse d'un mini-jeu. Ensuite seulement nous pourrons y ajouter scénario, graphismes etc... (Puis nous attaquer à un autre pan du jeu)

La mécanique est simple : des agents sont représentés et peuvent s'espionner entre eux. Certains sont des agents doubles, il s'agit de les identifier puis de les éliminer.

## Conditions de victoire

Les conditions de défaites sont les suivantes :

* éliminer toutes les taupes.

***Pio :** Peut être qu'on pourrait déjà penser à des conditions différentes ou secondaires, pour le moment j'ai rien en tête.*

### Écran de victoire

***Pio :** Un récapitulatif de la partie pourrait être intéressant, sous forme textuelle, présentant des statistiques, ou une animation de la partie en accéléré.*

## Conditions de défaite

Les conditions de défaites sont les suivantes :

* nombre d'agents sous un seuil critique (à définir)
* surnombre (à définir) des taupes

***Pio :** Là j'ai plus d'idées :) On peut définir une limite temporelle, et une victoire en % ("nul, vous n'avez éliminé que 20% des taupes dans le temps imparti"). Si on part du principe que les agents peuvent changer de bord dans le temps, ou qu'ils peuvent être corrompus en fonction de leur placement, la défaite est "soft" dans le sens où le joueur perd de plus en plus prise et qu'il comprend qu'il a foiré sa game avant d'arriver à un écran de défaite. Dernière idée mais non des moindres, on peut imaginer une jauge "d'information fuitée" qui, en plus de déterminer la virulence des taupes (et donc une idée de leur nombre) déterminerai la défaite (un seuil critique, et si t’arrives à stabiliser, tu gagnes). A terme on peut imaginer que chaque agent possède, ou traite, un certain type d'information, ce qui permettrait d'identifier les départements infiltrés.*

### Écran de défaite

Sur l'écran de défaite apparaîtra un bouton "révéler les taupes" qui permettra de comprendre le déroulement de la partie et d'apprendre de ses erreurs.

## Temps de jeu

***Pio :** comment le temps se déroule? On peut commencer par du tour par tour, plus simple à coder, puis passer sur du temps réel. La question étant de savoir lequel des deux servirait le mieux la mécanique, et le jeu dans son intégralité. J'ai tendance à me dire que le tour par tour a tendance à hacher le déroulement de la partie, et qu'il transforme le jeu en jeu de réflexion, de stratégie, tandis que le temps réel (qu'on peut imaginer mettre en pause ou accélérer) est plus logique dans un aspect "gestion". La discussion est ouverte.*

## Inputs

Le joueur peut :

* Agir sur le déroulement du temps (mettre en pause, accélérer, ou passer au tour suivant)
* Éliminer un agent
* Ordonner à un agent d'en espionner un autre
* Obtenir des informations (à définir) sur ses agents

***Pio :** Je pense qu'une mécanique intéressante pour v.1 ou v.2 est le placement des agents et leur conversion entre eux. On peut imaginer deux représentations : la première par proximité, où on pourrait modifier le placement des agents, avec le risque qu'une taupe corrompe son voisin, et la deuxième, par salle (surement à l'itération suivante vu que ça commence à se complexifier) dans laquelle on regroupe les agents, avec risques de corruption par salle, mais efficacité de l'espionnage accru si deux agents sont dans la même.*
***Pio :** If faudrait définir ce que le joueur obtient comme information sur ses agents quand il clique dessus. A terme ce serait intéressant de pouvoir écrire des notes sur les agents directement dans le jeu, mais au début on se contentera d'un bloc note IRL :)*

## Outputs

Le joueur voit :

* Une représentation de chaque agent
* Une représentation du temps
* Les résultats des espionnages ("taupe / pas taupe / je ne sais pas" ou un quantificateur de suspicion en %)
* Le résultat d'une "élimination d'agent" (taupe / pas taupe)

***Pio :** Il faudrait garder, d'une façon ou d'une autre, une représentation graphique des espionnages précédents. On peut imaginer des flèches de couleurs entre les agents pour les premières versions mais c'est loin d'être satisfaisant car pas adapté aux itérations plus complexes et au jeu final. L'idée qui me vient comme ça : chaque agent est vert au début, mais tu peux changer sa couleur avec deux boutons, un qui le rend de plus en plus rouge, et un qui le ramène vers le vert. C'est simple et transposable (on peu imaginer une jauge de soupçon, que le joueur altère à sa guise) mais ça représente pas les résultats des espionnages passés. A creuser.*Un historique des rapports pourrait être assez cool, combiné avec la jauge de suspicion, tu pourrais ainsi associer les ancien rapports avec leur véracité potentielle.

## IA Adverse

L'IA doit se comporter comme un joueur, comme le patron d'une agence concurrente. Il faut définir les informations qu'elle possède, et comment elle les interprète. Il faut ensuite définir ses actions.

***Pio :** Je pense que l'IA connait, dans un premier temps, toutes les actions que le joueur effectue, on équilibrera ça par la suite. Il faut donc se concentrer sur ses stratégies potentielles. Elle peut décider d'un bouc émissaire, que toutes les taupes accuseront. Mais pas très malin parce que si tu t'assures que le bouc émissaire est trustable, t'identifies toutes les taupes d'un coup. A voir quand elle emploi cette tactique. Peut être que c'est uniquement quand un agent est déjà suspecté à tort (comment l'IA défini qu'il est suspecté, est-ce qu'elle est sensée avoir accès a cette info?) Elle peut définir différents degrés d'infiltration des taupes, certaines sacrifiables qui seront balancées par des taupes d'un rang supérieur. Elle peut décider de ralentir le joueur, en n'obtenant aucun résultat. Il faut définir un max de stratégies différentes, et quand elle les utilise, pour qu'on puisse apprécier le jeu et se faire berner même quand on connait l'IA.*
**Commentaire du matin : En fait c’était pas si con ton "ya pas d'adversité". Parce qu'en l'état actuel, l'IA cherche pas trop a te baiser. Faut donc imaginer (au fil des itérations) des mécaniques qui encouragent cette adversité.**

## IA Alliée

Ou comment définir les rapports d'espionnage fournis par les agents.

***Pio :** Au départ on peut juste faire une proba de réussite, avec un ptit coup de random (5% d'accuser un agent, 25% de cramer une taupe et 70% de rien trouver) mais au final c'est un des points qui mériterait une surcouche de complexité : Certaines taupes sont plus facile à cramer, pourquoi? Est-ce fonction de stats? D'actions qu'elles effectuent? ...*
**Idée du matin : on pourrait définir dans des versions ultérieures des conditions de découverte de la taupe. Une de ces conditions pourrait être le risque que la taupe prends au moment de l'espionnage, et ça marche pas mal avec la jauge de "leak d'information". En gros les taupes leak des infos, et pour que tes agents la crame, il faut qu'ils soient en train de l'espionner au moment où elle le fait. Ça ajoute tout un pan de stratégie, pour l'IA comme pour le joueur, et ça ajoute pas mal de counterplay. On peut aussi imaginer qu'avant qu'elle leak, elle doive elle même espionner un agent, ce qui donnerait des rapports d'espionnage du genre : "j'ai cramé agent A entrain d'espionner agent B chef", et au joueur de voir si c'est lui qui a ordonné cet espionnage. Et surtout d'éviter de faire espionner n'importe qui par n'importe qui, puisque ce faisant il donner l'opportunité aux taupes de récupérer des informations.**

## Déroulement d'une partie et Stratégies

***Pio :*** *C'est ce qu'il y a de plus complexe, il faut résoudre ces questions :*\* *Comment on obtient un degré suffisant de certitude*
* *Quand doit on l'obtenir pour que le jeu soit fun*
* *Comment équilibrer le jeu*
* *Quelles sont les stratégies viables*

*Bon, une grande partie de ces questions seront étudiées quand on aura un proto testable mais ça empêche pas d'y réfléchir.*

**Idée du matin : pour éviter une stratégie abusive du genre "tous mes agents espionnent agent X au tour 1" on peut imaginer des conditions favorables aux rapports utiles : si tu fais cette strat, agent X lâche un petit commentaire du genre "et les mecs jpeux aller pisser ou vous voulez qu'on y aille tous les 10?!" ce qui fait comprendre au joueur que X sait qu'on l'espionne, et que s'il était une taupe, les rapports ne donneraient rien.**

## Projections sur le Jeu Final

### La Jauge de Leak

**Elle pourrait exister pour chaque équipe, et un seuil critique représenterait différents malus. On peut imaginer qu'elle varie en continu de façon cachée, et que le joueur doive effectuer des actions, ou subir des événements, pour la révéler à un moment donné. (Événement "capture de 5 agents dans le bloc communiste", la jauge de Leak de l'équipe "traitement des agents extérieurs" se met à jour, elle est sacrément haute. Une mécanique du contre espionnage pourrait actualiser une jauge, une mission particulière pour un agent secret ou un pot de vin à un fonctionnaire d'une agence concurrente. A fortiori on peut imaginer qu'un niveau de renseignement suffisamment haut à l’étranger permet d'actualiser la jauge automatiquement, de façon régulière.)**
**Pour ce qui est des malus en fonction des équipes :**
* **Recrutement => Probabilités de taupes augmentées**
* **Recherche => Malus à la place des bonus atttribués aux agents qui sont équipés par les gadgets corrompus**
* **Traitement des agents secrets => Malus de "discrétion", les agents se font cramer plus vite.**
* **Contre-Espionnage => Un truc vraiment vénère parce que c'est l'équipe où tu veux vraiment pas de taupe. Par exemple, augmentation du leak dans toutes les équipes.**

**On peut imaginer que cette "jauge de leak" reste secrète mais qu'elle applique les malus. Elle serait estimée par le joueur grâce à la mécanique de "vision infrarouge" que j'explique dans Gameplay. Le mouse-over d'une équipe "rouge" dans cette vision, indiquerait tous ce qui permet à l'IA de déduire qu'une taupe y est présente. (5 gadgets dysfonctionnants dans les 20 dernières missions, taux de recherche ralenti de 20%, information obtenue par l'agent T-28 lors de sa mission d'infiltration dans tel pays). Les couleurs du mode infrarouge se mettraient à jour comme expliqué dans le paragraphe précédent, et le joueur pourrait voire une équipe passer du vert au rouge suite à un événement.**
### L'espionnage Interne

**Il faut voir à quel point on veut que le joueur passe son temps à faire ce "mini-jeu" dans le jeu final, mais il serait intéressant d'avoir à répartir ses agents traitants intelligemment pour qu'ils puissent s'espionner entre eux sans corrompre toutes les équipes par des mutations trop fréquentes. (Une taupe qui se balade entre les services risque de foutre la merde partout.) On peut penser à intégrer un agent traitant particulier, une sorte de "cherche-taupe" qui occuperait un slot dans une équipe (diminuant donc sa productivité) mais ayant de grandes chances de démasquer les taupes. Cet agent serait à usage unique (puisque cramé une fois sa mission achevée) et couterait une blinde, mais permettrait aux joueurs de se soustraire au mini-jeu "cherche la taupe" si cela devient fastidieux, ou de se sortir plus facilement de situations critiques.**
### Comportement des taupes

**Faut voir au fil des versions ce qui marche le mieux, mais à terme chaque agent sera traité par une IA, et il faudra déterminer des comportements, des conditions de réussite de leak, et des conditions nécessaire à sa capture. A discuter donc.**
## Multi

***Pio :** Bon jme dit qu'en multi ca peut être dingue. Surtout pour tester au début, élaborer des stratégies pour l'IA etc..*
*Le principe est simple :*

* *Trois joueurs mini, mais ptetre plus.*
* *Chaque joueur possède son "agence" (au début c'est juste 10 agents)*
* *Chaque joueur possède 2 taupes dans chaque agence.*
* *Chaque tour, les joueurs demandent à leurs agents d'en espionner d'autres.*
* *Chaque fin de tour, les joueurs prennent connaissance des ordres que ses adversaires ont donné à leurs taupes, et décident de leur réponse.*
* *Pour finir, on peut imaginer que si une taupe espionne un agent H, le joueur à qui elle appartient découvre qui l'agent H espionne, et la réponse qu'il donne (ce tour ci ou le tour précédent).*

*Ce qui me donne bien entendu l'idée de séparer l'IA adverse en deux camps distincts dans le cas d'une partie solo...*