Logo of the project
Created in
2025
Mars Mechanica
Portfolio
Mars Mechanica is a school project created in Rust that aims to simulate a swarm of robots on the planet Mars.
Period
March 2025 - April 2025

Description

Mars Mechanica is a project I completed as part of the Rust & WebAssembly course at Efrei. The objective was to develop a program simulating a swarm of robots on Mars, with each robot having a specific role within the colony.

For the implementation, the use of the Ratatui library was suggested to us, but the professor gave us the freedom to explore other tools, notably Bevy. Since I had been wanting to develop a project in Rust for a while, using the Bevy game engine seemed like the best choice.

However, it wasn't smooth sailing. Indeed, having never programmed in Rust before, the beginnings were particularly difficult. Moreover, the lack of documentation on Bevy considerably complicated the development. With different versions of the framework/game engine often being incompatible with each other, most of the resources available online weren't directly usable.

Despite the difficulties encountered, I really enjoyed working on this project. This is my first real experience with Rust. Even though the project is still far from finished, I'm quite satisfied with the result obtained. I was notably able to develop some debugging tools, inspired by imgui (which wasn't compatible with the version of Bevy used).

In the end, I will have dedicated nearly 53 hours to this project. Not bad for a school project. 😉

Key Features

Rich presence Discord

The project connects to the Discord API to display the game on our profile as a current activity.

Debug interface

You wouldn't think so, but it took me a crazy amount of time to do.

Technologies Used

Rust
Programming language
Bevy
Game engine designed in Rust.

Videos

Démonstration de l'algorithme de déplacement

Démonstration de l'algorithme de déplacement

Concept d'introduction (non utilisé)

Concept d'introduction (non utilisé)

Démonstration complète

Démonstration complète

Screenshots

Debug mode of discovered cells
Debug mode
Screenshot
Demonstration during development 1
Demonstration during the development of the block placement algorithm
Demonstration during development 2
Demonstration during development 3
2025 - Sofiane Lasri-Trienpont, developed on Laravel.