Project Reindeer is a simple game/prototype/proof-of-concept meant to visualize my solution for Day 16 (Reindeer Maze) of Advent of Code 2024.
What started out as a simple idea of seeing how the reindeer would jump around tiles to navigate the maze quickly outgrew its scope as I thought of new features to add (I assure you, dear reader, that joypad support with configurable rebinding was absolutely essential for this project) and discovered fun and thematically fitting game assets online.
None.
Supported Platforms:
- Linux (x86_64)
- Windows
- MacOS (Experimental)
- Go to the Project Reindeer itch.io page.
- Download the version that fits your operating system, and extract the
.zipto a folder of your choice.- If on Mac, contents should not be extracted in Downloads as Gatekeeper breaks Godot's internal paths due to security reasons. To resolve this, extract or move the project to e.g., the
/Applicationsfolder.
- If on Mac, contents should not be extracted in Downloads as Gatekeeper breaks Godot's internal paths due to security reasons. To resolve this, extract or move the project to e.g., the
- Run the game by running (e.g., double-clicking) the
ProjectReindeerapplication/binary/executable.
First, create your own maze or load the default one by pressing Load Maze or Load Default.
If the maze is valid, you should be spawned into a forest clearing with the maze in the middle.
Use WASD to move, and Spacebar and Left Control to ascend/descend.
Pause the game with Escape.
See Controls in the in-game menu for all controls.
| Dependency | Version |
|---|---|
| Cargo/rustc | 1.94.1+ |
| git-lfs | 3.6.1+ |
| Godot | 4.5 |
^ Project Reindeer is made with Godot 4.5, though newer version of Godot might also work fine. Earlier versions of rustc and git-lfs might also work, but this is not guaranteed.
- Download the project (either by
git cloneor downloading a release). - Navigate to the root of this project (i.e., the location of this README.md).
- Build the project using
cargo build.- This is needed in order to register all Rust-defined classes.
- Open the project by opening the Godot editor and selecting project.godot.
This project is written almost exclusively in Rust, and is thus highly dependant on the excellent work on Rust bindings for Godot by the godot-rust team.
All assets, art, music, fonts, and sound effects are created by volunteers that have chosen to release their creation under an Open Source License. Huge thanks to the contributers on sites like https://opengameart.org/, https://sketchfab.com/feed, https://itch.io/, and a special thanks to Kenney of https://kenney.nl/ whose 3D models serve as the foundation of this project.
All contributers as well as the Licenses used are listed here.