- Yann Hurelle
- Maxence Juery
- Alban Lauby
- Naomi Kitch
La première tactitque à laquelle nous avon pensé quasi-instantanément a été de séparer les rouges en deux squads, une allant à droite et l'autre allant à gauche. Ainsi, il était possible d'optimiser les dégâts infligés, d'accrôitre la pression de l'équipe rouge sur la carte et de diminuer les dégâts de zone subits, puisqu'il y a deux groupes au lieu d'un. Une troisième squad aurait pu être éventuellement créée, mais pas plus. Créer trop de squads fragiliserait l'équipe plus qu'autre chose. Dans ce genre de jeu, les groupe en sous-nombre se font éliminer sans infliger suffisamment de dégâts. Exemple : Dans un combat en 6v4, la squad de 4 se fait éliminer et la squad de 6 est entièrement en vie, parfois avec 1 ou 2 morts.
Une deuxième tactique évidente était de faire en sorte que les mortiers, dont la portée est conséquente, tirent en priorité sur les mortiers adverses les plus lointains étant donné qu'il est difficile pour les drones de les attaquer.
Enfin, il a été décidé de ne pas tout le temps utiliser de random_selector, car le hasard est rarement synonyme de bonne stratégie.
Dans ce projet, nosu avons d'abord réalisé une solution pour battre les verts avec les rouges. Cela comprend donc des behaviors trees ainsi que de nouveaux scripts. Une fois la solution achevée, nous avons codé une fonctionalité permettant de passer en première personne, et de contrôler le drone choisi. Cela comprends de nouveux scripts et objets dans la scène. Enfin, nous avons rajouté deux classes : une classe de soigneur (healer) et une classe de mage (Tank). Cela comprend de nouveaux scripts, behavior trees et prefabs.
Les fonctionnalités suivantes ont été implémentées :
- Avoir accès à la vue en presque première personne ( derrière le drone, au dessus des épaules).
- Pouvoir contrôler le drone.
Les prefabs suivants ont été réalisés :
- DroneRed Heal : Le prefab du drone soigneur
- DroneRed Mage : Le prefab du drone mage (ou tank, il y a eu bagarre sur l'appellation)
- DroneGreen Heal
- DroneGreen Mage
- ExplosionGigantic : un dérivé des explosions déjà existantes
- HealMissileRed : Un missile qui soigne les alliés à l'impact
- NuclearMissile : Gros missile, gros dégâts. Il s'agit simplement d'un missile utilisant l'explosion gigantic, et ayant un plus gros rayon d'impact
- Robot_red (inachevé) : une tentative d'utilisation d'un sprite de robot avancé.
- Robot_green (inachevé)
Les scripts suivants ont été réalisés :
Scripts liés aux behavior trees :
- DroneShootHeal : un behavior qui initie un tir de soin vers un allié
- DroneShootMage : un behavior qui handicape son utilisateur, le rendant bien plus lent, mais lui permettant cependant de tirer de plus loin.
- go Left : Au début du combat, le drone part vers un point défini, en bas de la carte.
- go Right Au début du combat, le drone part vers un point défini, en haut de la carte.
- SelectAllyDroneRed : un behavior qui encourage le drone à tirer sur ses alliés
- SelectedAllyDroneRed : idem
- SelectedEnemyDroneRed : Selectionne le drone ennemi
- SelectedEnemyTurretRed : Selectionne la tourelle ennemie
- SelectedEnemyTurretRedBy Turret : Selectionne la tourelle ennemie par une tourelle alliée
Scripts liés à l'Army :
- DroneHeal : Script du drone healer
- DroneMage : Script du drone Mage
- HealMissile
- Health (modifié)
- NuclearMissile
Autre scripts (liés aux fonctionalités notamment) :
- CameraFollow : Permet à la caméra de suivre un drone
- CameraManager
- CharacterSelection : Permet de choisir le drone à suivre
- ExplosionManager (modifié) : rajout d'une explosion "gigantic"
- SwitchCam : Permet de changer de drone
- PlayerDroneController : Permet de contrôler le drone
Ont été réalisé les différents arbres de comportement pour les drones normaux, heal et mage, ainsi que pour les tourelles. Voici une explication des comportements de chacun :
Drone classique : Le drone va vers la gauche ou vers la droite, puis cible en priorité les tourelles.
Drone heal : Le drone choisis un allié dans sa zone de détection, et lui tire dessus, ce qui le soigne.
Drone Mage : Comme le drone classique, mais avec un wait supplémetaire, et une plus grande lenteur à la translation et à la rotation. Privilégie les drones aux tourelles.
Il n'a pas été facile de rajouter des prefabs dans un projet déjà existant, surtout au niveau des managers. Jusqu'à récemment, les nouveaux prefabs (drone mage et heal) ne peuvent pas mourir alors qu'ils faisaient pourtant partie d'une équipe. Ils n'étaient pas perçus par l'army manager. Ce problème s'étend à leur prise de contrôle/ suivi par caméra.
Pour y remédier, il a fallu faire hériter la classe drone aux les variantes de drones. S'en rendre compte plus tôt aurait permis de ne pas avoir à créer des scripts quasi identiques (certains scripts renvoyaient une erreur car le drone était de type droneHeal au lieu de drone)
Il serait intéressant pour la suite de pouvoir rajouter les sprites téléchargés, et d'y associer les comportements des drones. Rajouter des animations serait un gros plus.
Yann & Alban : Partie arbres de comportements et variantes de drones
Maxence et Naomi : Partie arbres de comportements et gestion de la caméra