Réalisé en 2025

Mars Mechanica

Autre

Mars Mechanica est un projet scolaire réalisé en Rust qui a pour but de simuler un essaim de robots sur une planète Mars.

Sections

Description

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. 😉

Fonctionnalités clés

Rich presence Discord

Le projet se connecte à l'API de Discord afin d'afficher le jeu dans notre profile en tant qu'activité courante.

Interface de debug

On ne dirait pas comme ça mais ça m'a pris un temps fou à faire. 😂

Statistiques

Dépôt GitHub mars-mechanica
Voir sur GitHub
Étoiles
0
Forks
0
Observateurs
0
Issues
0
Langages
  • Rust 100%
Other master Créé le 6 mars 2025 Mis à jour le 12 avr. 2025

Technologies utilisées

Vidéos

Démonstration de l'algorithme de déplacement
Concept d'introduction (non utilisé)
Démonstration complète

Captures d’écran

7 captures

Java 2022

Jeu d'échecs

Voir le projet
Figma Java 2021

SL-Craft

Voir le projet