franziskusz / dodge-r

Part of a project to evaluate the Rust bindings for the Godot Engine (gdext)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DodgeR (gdext evaluation project)

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:

Setup

If the prebuild executables should not work for you, you can build the project from source with the following steps:

  1. Install Rust
  2. Download Godot 4.2
  3. Setup gdext by making the Godot executable available. Either way by:
    • putting it in your PATH as godot4
    • or as an environment variable called GODOT4_BIN, containing the path to the Godot executable.
  4. 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
  5. Change to the just cloned repository directory with cd dodge-r (Unix)
  6. Run cargo build and cargo build --release (this project is configured for performance. A full release build is expected to take over 10 minutes)
  7. Open the dodge-the-creeps/godot/project.godot file by double clicking it.
  8. With entering command b or clicking the triangle on the top right you can run the project within the editor in debug mode
  9. In the menu select Project -> Export... to export the release build
  10. Select Add.. at the top/center to add a Preset for your Operating System (This might require an additional autmatic download)
  11. Select Export Project at the bottom and chose a name and target directory, deselect Export With Debug and click on Save

Notes

  • 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!

Screenshots

main_menu run

Copying

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.

About

Part of a project to evaluate the Rust bindings for the Godot Engine (gdext)

License:GNU General Public License v3.0


Languages

Language:Rust 98.8%Language:GDScript 0.7%Language:C 0.5%Language:Shell 0.0%