Pilou

Pilou, c’est l’adorable petit chien que mes parents ont adopté début 2020 : il nous a servi d’inspiration pour un projet de confinement, réalisé sous Godot.

Craquant, non ? Si craquant, d’ailleurs, que tout les passants ne peuvent s’empêcher de l’admirer et de vouloir lui faire des papouilles.

Lorsque Pilou passe à portée (dans la collision zone spécifique) d’un promeneur, celui-ci le caresse et lui transmet du virus

Or en pleine pandémie, de tels épanchements peuvent s’avérer dangereux : Pilou dispose d’une barre de « vie », correspondant à son niveau d’infection au virus, et celle-ci augmente avec chaque caresse.

La barre permet de savoir où en est le degré d’infection de Pilou (le temps écoulé depuis le début du jeu est également précisé)

Heureusement, des gels hydroalcooliques ont été oubliés un peu partout dans le parc, permettant de se désinfecter un peu les poils et ainsi de faire redescendre le niveau d’infection.

Le gel se déclenche lorsque Pilou passe dessus, et diminue son taux d’infection

Le but du jeu est d’esquiver les passants, qui repèrent Pilou dès qu’il passe dans leur champ de vision, et le suivent alors jusqu’à le reperdre de vue (leur déplacement par défaut est aléatoire). Le tout est codé via des algorithmes de raycasting et de navigation mesh.

Champ de vision et collision zone d’un promeneur
Les obstacles sont en négatif sur la navigation mesh, afin que les promeneurs soient contraints de les esquiver

Le jeu se termine lorsque Pilou retrouve ses parents, et est gagné si la barre d’infection se trouve alors sous les 50%.

Petite danse finale des parents heureux de retrouver leur Pilou

Nous avons également expérimenté, dans la partie ‘bac à sable’ de ce projet, avec quelques algorithmes de flocking, bien que nous ne les ayons pas intégrés directement.

Pour jouer ou jeter un œil au code, rendez-vous sur GitHub.

Publié le
Catégorisé comme Godot