This is part of a project to evaluate the godot-rust bindings gdext.
It is derived from the Dodge-the-creeps example game: gdext dodge-the-creeps, which is a finished Rust version of the game featured in the "Your first 2D game" tutorial in the godot documentation.
Language: Rust
Renderer: Vulkan Mobile
The evaluation project consists of four Repositories:
- overview repository (contains raw data, results and a description of the evaluation process)
- this
- GDScript Version
- process-logger
- python-pandas-plotter
- Installing Support for the Vulkan Renderer might be required.
If the prebuild executables should not work for you, you can build the project from source with the following steps:
- Install Rust
- Download Godot 4.2
- Setup gdext by making the Godot executable available. Either way by:
- putting it in your
PATHasgodot4 - or as an environment variable called
GODOT4_BIN, containing the path to the Godot executable.
- putting it in your
- Clone this repository by opening a shell and entering:
git clone git@github.com:franziskusz/dodge-r.git(requires having a ssh key setup)- or
git clone https://github.com/franziskusz/dodge-r.git
- Change to the just cloned repository directory with
cd dodge-r(Unix) - Run
cargo buildandcargo build --release(this project is configured for performance. A full release build is expected to take over 10 minutes) - Open the
dodge-the-creeps/godot/project.godotfile by double clicking it. - With entering
command bor clicking the triangle on the top right you can run the project within the editor in debug mode - In the menu select
Project -> Export...to export the release build - Select
Add..at the top/center to add aPresetfor your Operating System (This might require an additional autmatic download) - Select
Export Projectat the bottom and chose a name and target directory, deselectExport With Debugand click onSave
- To dodge breaking changes of the gdext bindings I included a local version within this repository (
/gdext/). It is an unmodified Version from early January 2024. - I am new to Godot and Rust. This whole project is also a learning experience for me. If the way some things are implemented gives you headaches, I apologize. I am open for any kind of criticism.
- .csv logging is based on the Rust crate csv
- The additional calculation workload is based on godot-rust-benchmark
- This applications writes performance logs to timestamped .csv files within the
/app_userdata/DodgeR/stats/directory. See godot file paths for details. This directory will never get cleared automatically!
dodge-the-creeps/godot/logo.png, dodge-the-creeps/godot/art/background, dodge-the-creeps/godot/art/crab, dodge-the-creeps/godot/art/creep1, dodge-the-creeps/godot/art/creep2, dodge-the-creeps/godot/art/creep3 Copyright © 2024 franziskusz, CC BY-NC 4.0: Attribution-NonCommercial
dodge-the-creeps/godot/art/House In a Forest Loop.ogg Copyright © 2012 HorrorPen, CC-BY 3.0: Attribution. Source: https://opengameart.org/content/loop-house-in-a-forest
Font is "Xolonium". Copyright © 2011-2016 Severin Meyer sev.ch@web.de, with Reserved Font Name Xolonium, SIL open font license version 1.1. Details are in dodge-the-creeps/godot/fonts/LICENSE.txt.

