3 min de lecture.

À la découverte de Rusty Engine

publié le mois dernier

Si vous vous lancez dans l'apprentissage de Rust, vous savez à quel point le langage peut être exigeant au début. Mais si en plus, comme moi, vous n'avez jamais fait de développement de jeux vidéo de votre vie, la montagne peut paraître insurmontable. Heureusement, je suis tombé sur une pépite absolue pour expérimenter sans souffrir : Rusty Engine.

Tout a commencé lorsque je suis tombé sur cette vidéo qui m'a fait découvrir le moteur : J'ai essayé d'apprendre Rust. Ce fut le déclic.

Pourquoi Rusty Engine est parfait pour débuter

Rusty Engine est un package conçu spécifiquement pour l'apprentissage. Il enveloppe la complexité des gros moteurs pour vous donner un accès direct et simplifié aux concepts vitaux d'un jeu vidéo : la gestion de la logique par frame, les inputs (souris/clavier) et les mathématiques de coordonnées.

L'une de mes fonctionnalités préférées a été le système de Collider (collisionneur). Un programme qui vous permet de générer des zones de collision sur vos sprites, ce qui rend l'apprentissage de la physique de jeu très intuitif et gratifiant.

Pour couronner le tout, la documentation est un modèle du genre. Vous pouvez retrouver le Tuto officiel de Rusty Engine ici.

La mine d'or cachée : Le dossier Scenarios

Si vous voulez vraiment progresser, voici le meilleur conseil que je puisse vous donner : clonez directement le dépôt GitHub du moteur.

À l'intérieur, rendez-vous dans le dossier scenarios. Vous y trouverez des fichiers README qui proposent de véritables tutoriels guidés pour réaliser plusieurs mini-jeux (comme des jeux de course, de tir, etc.). Le code de chaque exemple est disponible et immédiatement exécutable sur votre machine. Il suffit de lancer la commande magique : cargo run --example.

Pour voir la liste des exemples disponible et cargo run --exemple nom_de_l_exemple pour en executer un et le code source de ses exemples est disponible dans le dossier exemples.

C'est en modifiant ce code et en observant le comportement en temps réel que j'ai vraiment compris comment manipuler la boucle de jeu et gérer le Delta Time pour obtenir un rendu fluide à 60 FPS+, peu importe la puissance de la machine.

Mon premier projet : Un Morpion (Tic-Tac-Toe) avec du caractère !

Après avoir digéré ces concepts, j'ai voulu voler de mes propres ailes. J'ai donc développé de A à Z mon propre jeu de Morpion.

Pour pimenter le tout, j'ai programmé une petite "IA" (disons plutôt un système de sélection tactique organique très imprévisible à base de boucles et de hasard !) dotée d'un générateur d'humeur contextuel. Sa particularité ? Elle n'a aucun respect. Que vous gagniez, que vous perdiez, ou qu'il y ait match nul, elle trouvera toujours une punchline bien mielleuse ou piquante pour vous vanner en fin de partie. Un excellent moyen de lier la logique de jeu à la manipulation de chaînes et de structures en Rust !

Et la suite ? Direction Bevy !

Cette première expérience avec Rusty Engine a été un tremplin incroyable. Maintenant que j'ai compris les bases de l'architecture d'un jeu, des calculs mathématiques appliqués et des performances bas niveau, je me sens prêt à passer à l'étape supérieure.

Ma prochaine destination ? Bevy, le "grand frère" de Rusty Engine. L'objectif ne sera pas seulement de faire des petits jeux jouables et exportables, mais de plonger à fond dans l'architecture ECS (Entity Component System) à grande échelle et d'exploiter la pleine puissance de Rust pour des projets encore plus ambitieux.

Si vous apprenez Rust, ne restez pas bloqués sur des lignes de commande tristes : foncez tester Rusty Engine !