Freestyle Freaks Trailer

Dans le cadre d'un projet scolaire, nous avons dû créer un platformer 2D en deux mois. Nous étions un groupe de 14, composé de cinq développeurs, sept artistes et deux sound designers. Nous avions l'interdiction d'utiliser le système de physique du Rigidbody de Unity et étions donc contraints de refaire notre propre système. Dans ce projet, j'ai participé à la création de la state machine et de la physique du joueur, du système de caméra et à l'intégration des animations du joueur.
Concernant la physique, j'avais au tout début du projet tenté de recréer un système similaire à la vraie physique de notre monde. Ainsi, lorsque notre joueur rencontrait une collision, le script calculait la force contraire pour ensuite l'ajouter et limiter son mouvement. Des fonctions telles que AddForce, AddImpulse ou encore OverrideDirection étaient donc disponibles pour faciliter la manipulation de la physique.
Mais ce système de collisions avait deux gros points noirs. Malgré l'adaptation de la vélocité pour correspondre à l'angle, les pentes ne réagissaient pas de la bonne manière, ce qui causa un autre bug : il était possible de rentrer dans les murs à cause des sols anguleux.
Pour tenter de pallier ces deux soucis, j'ai repensé tout le système de collision. Cette fois-ci, au lieu d'ajouter une force contraire en cas de collision, j'ai décidé de recalculer la position du joueur et de réécrire sa vélocité en fonction de la différence entre l'ancienne et la nouvelle position. Cette version a permis de complètement régler le souci des murs, mais les pentes restaient un problème.
In fine, la physique du joueur présente dans le jeu n'est pas la mienne, car je n'ai pas pu régler les problèmes liés aux pentes. Cependant, j'ai pu réutiliser les connaissances acquises grâce à cet échec pour concevoir la physique de la caméra.
J'ai aussi changé plusieurs fois de système de caméra pour trouver le bon. Au tout début, nous pensions qu'une caméra suivant la vélocité du joueur et se décalant en fonction de cette dernière pourrait être la meilleure option. Mais après l'avoir intégrée, nous nous sommes rendu compte que, peu importe les paramètres, le rendu ne nous convenait pas. Elle était beaucoup trop sensible à la verticalité.
Après des recherches, nous nous sommes tournés vers une caméra avec bordures. Celle-ci ne bougeait que si le joueur sortait de ces dites bordures. Ce système était bien plus agréable et c'est celui présent dans le jeu.
J'ai aussi ajouté la possibilité d'insérer des points de fixation pour que la caméra reste statique sur un point tant que le joueur se trouve dans une certaine zone. Cet ajout rend certaines phases beaucoup plus maniables.
Un système de transition est également présent pour rendre les changements d'état plus fluides. Il est personnalisable avec des courbes.
Nom d'équipe : Beaufort d'ete
Gameplay Programmer
Bierre Gregory
Peyrat Louis
Guillon Allyre
Baur Brian
Lupon Dylan

Artiste
Thomas Antoine
Jullien Lamballe Bastien
Mermet Noemie
Cisneros Gabriel
De Prittwitz Justine
Pereira Lucas
Petit Arthur

Sound Designer
Bistolfi Noe
Kalousdian Thomas

You may also like

Back to Top