Harpooneers est un projet de Twin Stick Shooter / Boss rush. Il a été réalisé au sein d'une équipe de dix étudiants durant une double semaine intensive à Rubika Supinfogame.
Harpooneers est un jeu en coopération de 2 à 4 joueurs dans lequel vous controllez chacun un bateau de pêche à la baleine. Mais vous allez vite vous rendre compte que la baleine n'est pas si innocente que ça et répondra coup pour coup. Et si par malheur vous arrivez à finalement la surpasser, vous allez découvrir que votre calvaire ne fait que commencer...
Dans ce projet, je me suis concentré sur deux aspects principaux : la création d'une mer physiquée en accord avec notre design ainsi que le développement de l'architecture de l'IA du boss.
Dans notre projet la mer est devenue rapidement centrale dans le Gameplay du jeu. Nous avons donc pris la décision d'enlever une partie de la physique d'Unity pour construire nous même ce dont nous avions besoin. Il nous fallait donc une surface pouvant accepter des types de vagues différentes, capable de s'interpoler entre elles et d'affecter les déplacements des objets flottants. J'ai utilisé des compute shaders pour calculer les différentes hauteurs et normales en chaque point de la mer et pour ensuite les transmettre au shader graphique.
Voilà un rendu quand ce shader est appliqué à une surface plane :
Je me suis occupé de faire l'architecture généraliste de l'IA des boss. Pour cela, j'ai utilisé les State Machine Behaviours d'Unity afin d'avoir une interface visuelle et facilement compréhensible par les Game Designers.
Chaque pattern du boss est représenté par un état. Tous ces états sont reliés à un état "décideur". C'est lui qui va choisir le prochain pattern à effectuer en fonction de l'état du boss (ex : vie restante). Une fois dans ce pattern, on se met en attente jusqu'à que celui ci renvoie un évènement "Fin du pattern" qui nous fait repartir sur le décideur, etc...
Exemple visuel de machine à état :
Game Artists : Anaïs DIQUET - Kevin FANTESINI - Thibault MOITEL- Andréa PENZ
Game Designers : Erwann DEPAEUW - Lucas DEVILLERS - Thibault HUBERT - Antoine LECHEVALLIER
Développeurs : Loris BERTAUX - Bastien LEPESANT
L'exécutable et les sources du jeu peut être trouvé à l'adresse https://github.com/Eresia/Harpooneers/releases/tag/v1.0