Giter VIP home page Giter VIP logo

dodge-r's Introduction

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 [email protected]: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 [email protected], with Reserved Font Name Xolonium, SIL open font license version 1.1. Details are in dodge-the-creeps/godot/fonts/LICENSE.txt.

dodge-r's People

Contributors

franziskusz avatar

Watchers

 avatar

dodge-r's Issues

Build Tests

The exported builds within the Release section have not yet been tested on their specific platform. If you encounter any problems running the binaries or building them from source, feel free to report that here.

  • macOs x86_64
  • macOs aarm
  • Linux x86_64
  • Windows x86_64

Notes:

  • Windows build started but showed only the blue background on WIndows 10.
  • macOS aarm build tested on M3 chip.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.