This is a simple godot 4 learning project. The goal is to solve a maze in fewer steps than any of the AIs. After solving the maze, the path you took to solve the maze is compared to a couple AI's paths.
The game logic is re-implemented in GDScript, C#, and Rust: all of the source files have rough equivalents in the other 2 languages. Only the maze generation and solving code is implemented, and the first person controller is third party. I hope to use this as a by-example way to answer "How do I translate X from GDScript to C# or Rust?"
maze_grader.mp4
This is coded by someone with some experience, looking to fill in the gaps. If my Rust code is ugly this is why:
- 7 years C#
- 4 years Unity
- 0 days GDscript
- ~1 month toying with Rust
Please give me your code style or performance suggestions if you have any!
Particularly on the Rust implementation: I have a sneaking suspicion I could have used a full std::future::Future
impl instead of my hacky coroutine structs.
If I noticed something unfamiliar to me during the implementation, I tagged it with #WEIRD
.
Usually these are features GDScript doesn't have which I've grown accustomed to in C#.
Or missing features/awkward experiences while learning Rust.