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
PATH
asgodot4
- 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 build
andcargo 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.godot
file by double clicking it. - With entering
command b
or 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 aPreset
for your Operating System (This might require an additional autmatic download) - Select
Export Project
at the bottom and chose a name and target directory, deselectExport With Debug
and 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
.