Mars Mechanica est un projet que j’ai réalisé dans le cadre du cours Rust & WebAssembly à l’Efrei. L’objectif était de développer un programme simulant un essaim de robots sur la planète Mars, chaque robot ayant un rôle spécifique au sein de la colonie.
Pour la réalisation, l’utilisation de la bibliothèque Ratatui nous était suggérée, mais le professeur nous laissait la liberté d’explorer d’autres outils, notamment Bevy. Étant donné que cela faisait un moment que je souhaitais développer un projet en Rust, utiliser le moteur de jeu Bevy m’a paru être le meilleur choix.
Cependant, cela n’a pas été de tout repos. En effet, n’ayant jamais programmé en Rust auparavant, les débuts ont été particulièrement difficiles. De plus, le manque de documentation sur Bevy a considérablement compliqué le développement. Les différentes versions du framework/moteur de jeu étant souvent incompatibles entre elles, la majorité des ressources disponibles en ligne n’étaient pas directement exploitables.
Malgré les difficultés rencontrées, j’ai pris beaucoup de plaisir à travailler sur ce projet. Il s’agit de ma première véritable expérience en Rust. Même si le projet est encore loin d’être terminé, je suis assez satisfait du résultat obtenu. J’ai notamment pu développer quelques outils de débogage, inspirés d’imgui (qui n’était pas compatible avec la version de Bevy utilisée).
Au final, j’aurai consacré près de 53 heures à ce projet. Pas si mal pour un projet scolaire. 😉