2023
UE5.0.3
"After School" est un projet réalisé dans le cadre du concours universitaire Ubisoft qui met en compétition diverses universités au sein du Québec dans le cadre de la création d'un jeu vidéo en l'espace de 10 semaines.
Ce projet à été réalisé par une équipe de 8 étudiants, nous avions un chef de projet / level designer / game designer, une tech artiste, un prog IA et 3 prog gameplay. Personnellement j'ai été désigné en tant que lead programmer afin de superviser l'implémentations des mécaniques de gameplay et j'ai personnellement travaillé sur les 3C avec l'implémentation du gunplay, système de mouvement, animations et gestion de la caméra. J'ai aussi travaillé sur un système de "wave" avec un outil permettant au game designer de configurer les différentes vagues d'ennemis et leurs difficultés. Comme le projet était tout de même assez ambitieux avec un temps et des ressources limités, chaque membre de l'équipe a su se montrer polyvalent afin de mener le projet à bien. J'ai notamment travaillé sur de l'optimisation, création d'un menu 3D interactif, particules etc... L'avantage de se projet est qu'il a été développé en collaboration avec une école de playtesters que nous avons contactés ce qui nous a permis de livrer un produit fini et exempt de bugs en seulement 10 semaines.
After School est un Third Person Shooter où le but est de survivre, seul ou en coopération (split screen), le plus longtemps possible face à des hordes de monstres qui deviennent de plus en plus imposantes. Le jeu implémente diverses mécaniques de jeu permettant de rafraîchir l'expérience utilisateur face aux autres propositions sur le marché. Ici on incarne un enfant qui, après l'école, se défoule dans un parc en se combattant contre son imagination armé d'un pistolet à eau. Il sera donc important de gérer ses munitions en allant recharger son pistolet dans les divers points d'eau placés stratégiquement sur la carte. Le joueur sera aussi en capacité de placer des constructions via des ressources qu'il récupérera sur les ennemis éliminés tel que : des piscines gonflables pour recharger son pistolet; des zones antigravités permettant de ralentir les ennemis et de s'envoler; des dragons crachant des boules de feu; ou encore des bombardement d'eau. After School a été designé dans un soucis d'accessibilité à une large audience de joueurs en implémentant un gunplay unique simplifiant le control de caméra et les mécaniques de visés afin que chaque joueurs aient les clés en main pour se battre contre les hordes de monstres. After School inclus aussi un leaderboard mondial permettant de mettre en compétitions tout les joueurs afin d'atteindre le meilleur score !
À la suite de la présentation du jeu au concours Ubisoft, nous avons remporté un prix et été nominés plus 4 fois dont une fois dans la catégorie "Meilleur prototype"! Fiers de notre travail nous l'avons sorti gratuitement sur Steam et avons même récemment publié une mise à jour !
Comme à mon habitude, je me suis extrêmement impliqué dans le processus de développement d'After School. Je me suis occupé de l'implémentation de nombreuses des features principales du jeu tel que le gunplay, les 3C et le système de manche.
Le gunplay, ou gameplay relatif au systèmes de tir, est un point crucial dans la qualité de l'expérience utilisateur dans un TPS. Pour after school, le challenge a été de proposer un gunplay intuitif et accessible au plus grand nombre. Celui-ci repose donc sur de la visée automatique sur les cibles présentes en face du joueur en adaptant en conséquence l'orientation de l'arme du personnage.
Ce système prend en compte un cône de détection qui suit la caméra du joueur. Lorsque celui-ci tir, le système va chercher l'ennemi le plus proche présent dans le cône de détection et oriente automatiquement le tir. Dans la phase de prototyping du jeu (voir gif ci-dessus), le système de visée automatique est très proche du produit final mais le tir en lui-même à été porté vers des projectiles physiques dans la version finale du jeu (voir gif ci-dessous). Cependant tout le long de l'élaboration du jeu, ce système a été à la fois pensé pour simplifier la prise en main du jeu à un large publique, mais aussi pour respecter la gestion de la caméra que nous avons décidé de bloquer sur un seul axe de rotation (axe horizontal) afin de simplifier au maximum la prise en main.
Character
Je me suis chargé de l'implémentation de l'intégralité du gameplay relatif à la prise en main et au visuel du personnage. Déplacements, animations, accessoires etc... Le plus dur a été de faire en sorte que le personnage apparaisse vivant et fluide afin que le simple fait de le faire se mouvoir dans l'environnement soit agréable pour le joueur. Cela s'effectue par un ajustement minutieux de la vitesse / accélération / friction du personnage mais aussi et surtout sur l'aspect purement esthétique via les animations. J'ai mis en place des animations qui réagissent à l'environnement et au système de visée automatique tout en gardant les mouvements du personnage fluides
Controls
Le défi du control du personnage a été de le rendre le plus simple et intuitif possible. Ce défis à été plus un défi de design que technique, ici j'ai eu à implémenter les contrôles du personnage à la manette en attribuant les bons inputs aux bonnes interactions. J'ai aussi implémenter diverses vibrations de manettes dépendament de ce qu'effectue le joueur : recharger de l'eau dans son pistolet, tirer, prendre un power up, etc...
Camera
La principale particularité de After School est que l'axe vertical de la caméra est verrouillée, en effet la gestion de la caméra à toujours été un défis à la fois pour les développeurs que pour les joueurs en eux même. Quand on est pas habitué il est très difficile de rapidement prendre en main les contrôles d'une caméra libre. Le principal défis de cette caméra verrouillé à été de garantir une excellente visibilité au joueur peu importe sa position dans la carte. Pour résoudre ce problème j'ai implémenté une inclinaison dynamique de la caméra du joueur dépendamment de sa distance au sol. Plus le joueur est haut, plus la caméra s'inclinera vers le bas afin de maintenir une visibilité accrue sur ce qui se passe.
Le deuxième point important du jeu a été de créer un système personnalisable de gestion des manches permettant au designer de choisir quels types de monstres apparaissent à partir de quelle manche et en quelle quantité. J'ai donc développé un système complet de manche dans lequel le designer a pu : changer les emplacement d'apparition des ennemis; Créer des vagues avec des ennemis prédéfinis; Choisir le temps d'apparition entre chaque type d'ennemis, leur ordre d'apparition, leur nombre; Créer des paternes de vagues répétitives pour les hautes manches; Choisir des facteurs d'incrémentation de la difficultés pour les hautes manches; Configurer les manches spéciales (ce sont des manches avec un mini-boss et des citrouilles / oeufs d'arraignés à détruire); Et pleins d'autres paramètres que j'ai dû ajouter tout au long du développement afin de subvenir aux besoins du game designer.
Ce projet est à ce jour celui dont je suis le plus fier car c'est le premier jeu qui a su toucher un publique beaucoup plus large que mon simple cercle d'amis, d'autant plus que celui-ci est grandement apprécier par les joueurs. De plus, After School m'a permis de développer grandement mes capacités à travailler en équipe de manière efficace, notamment grâce à notre chef de projet / game designer Enzo Medina qui a su donner des directives et des deadline pour chacune de nos expériences utilisateurs. Le fait de devoir superviser toute la partie technique du gameplay m'a aussi permis d'acquérir énormément de connaissances en échangeant sans-cesse avec les dev de l'équipe tout en leur partageant l'expérience que j'ai pu accumuler via mes précédents projets. Projet incroyable dans sa totalité, tant bien au niveau du développement que du produit final, et je me prends de temps en temps à jouer à After School pour me détendre :)