Dodge Tracker - Post Mortem
Avec Pierrick (le sound designer avec qui j’ai travaillé pour Dodge Tracker), on voulait vraiment faire une game jam où on produirait un jeu qui serait vraiment centré sur le gamefeel. On avait déjà bossé trois fois ensembles dans les mois précédents pour des jams et le constat était souvent un peu le même. On faisait toujours de l’overscope, et même si on réussissais à faire les bons compromis pour avoir un jeu bien polish visuellement et musicalement, et qui plaisait plutôt bien sur la fin de la jam, ça manquait toujours de gamefeel, de feedback.
Du coup, quand on a su qu’il y avait la VGL jam organisée par At0, que le designer graphique avec qui on bosse en général serait pas dispo et qu’on n’arriverait pas à le remplacer, au final on a vu ça comme une aubaine. C’était l’occasion de passer moins de temps à gérer la coordination entre les différents participants (ce qui m’avait pris pas mal de temps sur les jam précédentes), et de partir sur un concept simple qui nous donnerait pas mal de temps pour pouvoir se concentrer sur les parties où on sentait qu’on était moins bons dans nos projets.
A l’annonce du thème, on a pas trop été surpris par celui-ci. On savait que ce serait un truc assez général, du coup « Arcade », ça correspondait à ce à quoi s’attendait. On a eu un peu peur au début de galérer à trouver un concept sympa, surtout qu’on pourrait pas se planquer derrière une DA top pour rendre le tout plus agréable, ça devait se baser sur des mécaniques de gameplay simples mais qui seraient efficaces, le tout fait avec des formes très simples. Après un peu de temps à balancer plein d’idées, on a finit par dégager quelque chose qui nous plaisait à tous les deux, et dont le concept a pas trop bougé jusqu’à la fin de la jam. Un jeu qui se baserait sur de l’esquive d’obstacle, avec la possibilité de tirer sur certains d’entre eux pour les détruire, et surtout où absolument tout serait basé sur le rythme. Visuellement, tout se ferait avec ce qui est proposé de base dans Unity 3D : des cubes, des cylindres et des effets de particules de base. Je précise que mon sens du rythme est tellement lamentable que plusieurs personnes se sont demandées si j’avais pas un problème de perception du rythme, et aussi que j’ai quasiment jamais utilisé le particle system de Unity, ni autre chose que Unity2D. Donc perso, ça rajoutait un petit challenge qui me plaisait bien.
Finalement, le développement pendant le week-end c’est bien passé. Assez vite, on s’est mis d’accord pour avoir trois monde, séparés en plusieurs niveaux, avec pour chaque monde un thème qui lui est propre et autant de parties dans ce thème que de niveaux dans le monde correspondant. On n’a pas rencontré trop de problèmes (excepté un petit problème de typage de variable que j’ai remarqué très très tard, mais n’en parlons pas, après tout utiliser un int à la place d’un float c’est pas si dramatique hein ?).
On s’est posé beaucoup de questions sur comment faire pour que le jeu ne soit ni ennuyant ni frustrant pour le joueur, tout en restant constamment constamment calé sur le rythme du morceau. C’est suite à ces considérations qu’on a décidé de faire en sorte que la mort entraînait une réapparition au début du niveau, que les ennemis réapparaissaient à chaque nouveau tour, et que les objets à récupérer pour terminer le niveau soient validés dès qu’ils ont été récupérés une fois, peu importe que le joueur meurt ou non dans la suite du niveau. Un autre choix a été de mettre les obstacles a des distances régulières. Chaque obstacle arrive au niveau du joueur sur une croche impaire, du coup si le joueur arrive à bien se caler dans le rythme, en rentrant les inputs sur les croches paires (intuitivement ou non) alors il esquiverait l’obstacle.
Aussi, on a eu la chance de pouvoir faire tester un peu le jeu avant à quelques amis, une fois qu’on avait finit les premiers niveaux du troisième monde. C’est grâce à ça qu’on a pu relever le fait que la période où le joueur était mort ne devait pas l’empêcher d’être encore actif, c’était trop frustrant et ça pouvait provoquer des morts à répétition sur le premier obstacle du niveau. Suite à ça, on a donc permis au joueur de se déplacer même lorsqu’il était mort, que ce soit pour essayer de travailler les chemins à prendre, ou juste pour pouvoir appuyer sur les touches en rythme en attendant le début du niveau (et c’est en gros comme ça que c’est surtout utilisé semble-t-il).
Niveau gamefeel par contre, on a vraiment réussi à produire ce qu’on voulait en rajoutant pas mal de détails qu’on aimait bien. Le vaisseau a un peu de recule quand on tire, la position du vaisseau est sauvegardée entre les niveaux, le vaisseau oscille un peu tout au long du niveau, la sensation de vitesse nous semblait bonne, et les différentes parties des morceaux s’enchaînent vraiment comme on le voulait entre les niveaux, sauf sur Cerberus Puddle. Pour ce dernier, le problème vient du fait que ça a été le premier qu’on ait fait, et qu’on s’est mal compris sur quel distance impliquait une mesure. Pour faire simple, une mesure (donc 4 temps), correspondent à 32 mètres. Mais au début j’ai travaillé en pensant qu’une mesure corresponderait à 16 mètres. J’ai pu adapter certains niveaux, mais les troisièmes, cinquièmes et sixièmes niveaux sont deux fois trop court pour correspondre parfaitement à la musique, et du coup la transition entre les parties peut être décalée. Ceci dit, pour tous ceux qui ont testé le dernier niveau du jeu, vous devez vous dire que le fait qu’il soit deux fois plus court qu’il le devrait c’est ptet pas un mal. Et à vrai dire, c’est pas un drame non plus vu que le défilement du niveau restait en rythme, c’était juste pas aussi propre que voulu à la base. Au final on n’aura pas eu à faire tant que ça de grosses concessions sur le week-end, juste quelques petites comme renoncer à des transitions plus douces entre les différentes parties des thèmes qui sont un peu brutes dans ce qu’on a posté.
Au final la partie qui m’aura le plus pris de temps, c’est de gérer les highscores, parce que j’ai nommé les variables pour les sauvegardes absolument n’importe comment et du coup c’était une horreur à manipuler, et jusqu’à la fin ça aura été la plus grosse source de bugs (et au final y avait encore un bug dans la version finale que j’avais pas vu, le highscore du dernier niveau du jeu s’affichait pas).
Une autre question qui s’est posée tout du long de la jam pour nous, c’était de savoir si on ferait un build web ou non. Pour le son, on passe par Wwise. Et Wwise, c’est vraiment excellent, ça permet de gérer de la musique adaptative très facilement coté Unity, et l’intégration est vraiment pas désagréable à utiliser. Mais par contre, Wwise, ça permet pas de build pour le web, et qui dit build Windows dit en général jeu qui est pas trop testé, malheureusement. Du coup on a vraiment envisager de faire deux versions, dont une web où on passerait tout en AudioClip sous Unity. Ça aurait pris un temps fou, ça aurait été probablement un peu dégueu, mais on se disait qu’au moins le jeu aurait été joué. Au pire, juste le faire pour avoir un des trois mondes pour avoir une « démo » en version web. Mais au final, plus ça allait, plus ça nous posait problème de perdre du temps à faire une version moins bien, surtout quand on connaît la tendance des builds webgl à exploser la qualité audio d’un jeu, alors qu’on a un jeu centré sur l’audio. Et on a bien fait, vu qu’on a eu la chance d’être sur une jam où les gens étaient très ouverts et bienveillant, et qu’en testant beaucoup de jeux et en discutant pas mal le jeu a été finalement beaucoup testé, malgré l’absence de build web.
Et du coup, nous voilà arrivé la nuit du dimanche au lundi, il est une heure du mat’, j’ai cours le lendemain à 8h, je suis un peu éclaté (mais moins que sur les précédentes jams), et on rend le jeu après avoir galéré à trouver un nom (et grandement ressenti l’absence de notre designer graphique quand il fut temps de faire un vignette pour le jeu - avoir quelqu’un dont le métier c’est de faire des logos dans l’équipe, ça aidait vachement).
Maintenant, faut parler des retours qu’on a eu durant la semaine de vote. Pour parler des défauts soulevés d’abord, y en a eu quand même quelques uns. Celui qui m’aura le plus gêné c’est le fait que le niveau 2 du deuxième monde ait été aussi bloquant pour beaucoup de joueuses et joueurs. On savait que beaucoup de gens ne finiraient pas les trois mondes, le jeu devenant exigeant à partir des derniers niveaux du deuxième monde, et vraiment très difficile dans le troisième. Le 2-2 aurait dû être encore accessible, mais j’ai mal pensé un petit passage du niveau ce qui le rendait bien plus dur que ce à quoi je m’attendais, et on se retrouvait dans une situation où globalement soit les gens atteignaient les trois derniers niveaux du jeu (et soit ils les finissaient, soit ils abandonnaient à l’un d’entre eux), soit ils abandonnaient au 2-2.
En autre soucis, on a eu quelques légers bugs gênants (le son de la mort trop fort quand on percute un ennemi, ou la musique qui déconnait quand on faisait un restart juste après une mort), une cadence de tir qui s’est avérée un peu trop faible, un élément d’interface un peu trop petit, et surtout un système de mort qui devenait vraiment un problème sur le dernier niveau du jeu. Quand un niveau se fait sur une boucle de quelques secondes, refaire le niveau en étant mort c’est pas trop grave. Quand par contre on meurt en boucle au premier obstacle d’un niveau qui fait une quinzaine de secondes, là ça devient vraiment frustrant, et pour tout ceux qui ont atteint le niveau 3-6, vous voyez de quoi je parle je pense.
Mais en dehors de ça, on a vraiment réussi à proposer l’expérience qu’on voulait aux joueurs. Globalement, tout le monde a aimé (à l’exception d’un inconnu qui nous aura mis une triplette de notes à une étoile et qui n’a semble t il pas apprécié beaucoup de jeux pendant la jam), les joueurs se sont bien amusés et on prit plaisir à le tester semble-t-il. On avait réussi à remplir nos objectifs de début de jam, et du coup on est hyper satisfait de ce qu’on a pu proposer.
Maintenant, il va s’agir de voir ce qu’on va en faire de ce Dodge Tracker. Une première update a déjà été mise en ligne pour régler les problèmes les plus simples du jeu, maintenant y a encore pas mal de choses à corriger et potentiellement, à ajouter !
Files
Get Dodge Tracker
Dodge Tracker
Jeu de rythme/course/shmup à grande vitesse réalisé pour la VGL Jam
Status | Released |
Authors | MrPouletBZH, TenthDalek |
Genre | Rhythm, Racing |
Tags | Low-poly |
More posts
- Dodge Tracker 1.02 out!Dec 16, 2021
- Dodge Tracker 1.01Nov 19, 2021
Comments
Log in with itch.io to leave a comment.
Un jour, le 1 partout.
Un jour. J'y crois.