Une année de progrès sur Unity
Vous vous souvenez de mon prototype fait sur R ? Si oui, vous serez ravi d’apprendre que j’avais décidé de le continuer sur Unity (et si non, vous pouvez en lire plus ici). Mais c’était encore nouveau pour moi, puisque je n’y avais jamais touché. Venait donc l’heure d’apprendre, de regarder des tutoriels, et d’expérimenter.
Normalement, on commence par les bases, genre comment coder un personnage qui bouge ? Eh bien, pas pour moi ! Je venais de terminer Hollow Knight, dont j'ai adoré explorer l'univers. Je voulais créer une sensation similaire avec mon environnement 2D. Je voulais de la parallaxe ! Et c'est ce que j'ai fait.
Tout d’abord, j’ai modélisé un environnement de canyon (pourquoi pas) sur Blender. Je l’ai réparti en plusieurs plans pour ensuite les superposer dans Unity. Je n’avais plus qu’à calculer pour chaque plan une vitesse de déplacement par rapport à la caméra dépendante de leur distance relative. Ma première mission fut une réussite !
J’ai fini quand même par apprendre la base, c'est-à-dire faire bouger un personnage avec mon clavier. Je suis même allé un peu plus loin. Parce que pour rendre le tout plus attractif, il me faut habiller le monstre de son propre avatar, puis de l’animer en fonction de ses mouvements. Et ensuite, pourquoi ne pas ajouter un autre monstre contrôlé par l’ordinateur cette fois, avec quelques actions de base ? Tout ça, je l’ai fait.
Jusque là, je progressais bien ! En revanche, je me suis rendu compte du temps que ça m’a pris. Chaque petite implémentation contient beaucoup plus de codes et de manipulations que ce que j’imaginais. Mais rien de tel pour visualiser le travail derrière chaque jeu. J’ai réalisé qu’il me fallait encore beaucoup apprendre sur les interfaces, les canvas, le gestionnaire d'événements, et ainsi de suite. Arriva l’hiver, et j'ai fini par me décourager (c’est une bonne excuse non ?). J’ai donc laissé le projet pour un moment.
Et maintenant alors ?
Une année est passée et j’ai décidé de ressortir mes prototypes de la poussière, histoire de les retravailler et voir ce que j’ai appris tout le long.
Mes monstres, ou djinns de leur vrai nom ? Ce seront des formes basiques. Restons simples pour aller plus vite à l’essentiel. Puis une forme simple ne veut pas dire dénuée de vie. Je commence à programmer les mouvements et leur gestion très vite. Je rajoute une interface utilisant des morceaux de code déjà créés sur d’autres projets. J’implémente la logique de combat et de calcul des statistiques. Et voilà qu’en moins de deux jours j’ai un prototype fonctionnel. Il reprend la base que j’avais faite sur R, sans superflue.
À ce stade, je me permet de me disperser et de rendre le tout un peu plus joli. Mais pour rester rapide et efficace, j’assemble des assets de Kenney pour le décor (sérieusement, ce site c’est le graal, un grand merci à ce génie). Je travaille même sur un système d’animation procédural que je pourrais personnaliser en fonction des djinns. J’en reparlerai sûrement dans un autre devlog.
Voilà du coup qu’en quatre petits jours, j’ai un prototype assez propre. Et là je vous avoue que c’est satisfaisant. Je ressens ma courbe de progression et ça me donne une bouffée de bien-être. Même si j’ai encore du travail à accomplir dessus, notamment sur les animations, sur l’ajout de djinns, d’attaques et d’un mode multijoueur par exemple, j’ai déjà un prototype concret que vous pouvez essayer !
La morale de l'histoire ?
Regarder ses progrès est une grande source de motivation. Désolé, c'est un peu une réplique de Linkedin...