A feature-rich, production-ready, general purpose 2D/3D game engine written in Rust with a scene editor.

Overview

RG3D

Rust Game engine 3D (and 2D)

License (MIT) CI Status Crates.io docs.rs Discord Lines of code

A feature-rich, production-ready, general purpose 2D/3D game engine written in Rust with a scene editor.

Video

Support

If you want to support the development of the project, click the link below. I'm working on the project full time and use my savings to drive development forward, I'm looking for any financial support.

Become a patron!

Community

Join the Discord server

Tutorials

Writing a 3D Shooter using rg3d:

Writing a role-playing game using rg3d

Important notes:

The engine is suitable for any kind of games, not only shooters, the fact that there are two 3d shooters that were made with the engine, and a set of tutorials about 3d shooters just means that @mrDIMAS loves 3d shooters. There will be more tutorials about games in different genre, but again - nothing stops you from making an RPG, RTS, rogue-like, etc.

Screenshots

These screenshots are from Station Iapetus which is a commercial project made with the engine.

1

2

These screenshots are from rusty-shooter which is a big demo for the engine.

3

4

5

Examples

There are many examples covering various aspects of the engine. Also don't hesitate to create an issue or ask on Discord if you need help!

Editor

editor

Features

  • Exceptional safety, reliability, and speed.
  • PC (Windows, Linux, macOS) and Web (WebAssembly) support - Check online example.
  • Deferred shading.
    • Renderer based on OpenGL 3.3 Core (released in 2010) which means that your game will run on almost any relatively modern GPU.
    • Directional light.
    • Point light + shadows.
    • Spot light + shadows.
    • Bump mapping.
    • Screen-Space Ambient Occlusion (SSAO).
    • Soft shadows.
    • Volumetric light (spot, point).
    • Instancing - render lots of objects without any overhead.
    • Fast Approximate Anti-Aliasing (FXAA)
    • Parallax mapping.
  • Custom shaders and rendering techniques.
  • Render in texture.
  • Sky box.
  • 2D support.
  • Multi-camera rendering.
  • Multiple scenes.
  • Lightmap generator.
  • Fully customizable vertex format.
  • Level-of-detail (LOD) support.
  • Scene graph with pivot, camera, mesh, light, particle system, sprite nodes.
  • Built-in save/load - save/load the state of the engine in one call.
  • High quality binaural sound with HRTF support.
  • Skinning.
  • Particle systems with soft particles.
  • A* pathfinder.
  • Navmesh.
  • FBX Loader.
  • Full TTF/OTF fonts support (thanks to fontdue and ttf-parser crates).
  • PNG, JPG, TGA, DDS, etc. textures (thanks to image crate).
  • Compressed textures support (DXT1, DXT3, DTX5)
  • Advanced node-based UI with lots of widgets.
  • Animation blending state machine - similar to Mecanim in Unity Engine.
  • Animation retargetting - allows you to remap animation from one model to another.
  • Async asset management (textures, models, sound buffers).
  • Advanced physics (thanks to the rapier physics engine)
    • Rigid bodies.
    • Rich set of various colliders.
    • Joints.
    • Ray cast.
    • Many other useful features.
  • Core library.
  • Fast iterative compilation
    • Debug: ~3 seconds
    • Release: ~8 seconds
  • Lots of examples.

Frequently asked questions

Q: Does rg3d use ECS?

A: No. It uses generational pools (arenas) which are optimized for efficient memory management to retain more static type safety.

Q: Examples running too slow on my PC, FPS is too low, help!

A: First, make sure you run examples on the discrete GPU, not on a built-in of your CPU. Built-in GPUs are very slow and not suitable for rg3d. Second, make sure your discrete GPU is powerful enough to run modern games at a decent frame rate.

Supported Operating Systems

  • Windows - full support
  • Linux - full support
  • macOS - full support
  • WebAssembly - full support
  • Android - not supported

Compiler version

rg3d requires the latest stable Rust compiler.

Contributing

Contributions are very welcome! Feel free to open Issues and Pull Requests.

Check the good first issue label to see where you can help.

Comments
  • Add file system watcher to FileSelector and FileBrowser widgets

    Add file system watcher to FileSelector and FileBrowser widgets

    Currently, if you open a FileSelector or FileBrowser and navigate to a folder and then add some content to the folder, it won't show up until you collapse\expand the folder. It can be fixed by adding file system watcher which will notify about changes in file system.

    enhancement user-interface 
    opened by mrDIMAS 37
  • wasm error with condvar mutex

    wasm error with condvar mutex

    I was able to run my game in editor and wasm_pack generated the wasm file without any issue. but when i run it in browser e.g. Chrome, it threw following errors:

    panicked at 'condvar wait not supported', library/std/src/sys/wasm/../unsupported/locks/condvar.rs:21:9

    panicked at 'assertion failed: (left == right) left: true, right: false: cannot recursively acquire mutex', library/std/src/sys/wasm/../unsupported/locks/mutex.rs:24:9

    opened by GOVYANSONG 22
  • Add CI

    Add CI

    This PR adds CI and closes #105. The CI currently checks and tests the codebase.

    Checking it via cargo check essentially makes sure the code will compile without actually compiling it. It still takes a bit to run (10 mins), but that's mainly due to the fact that it's not using incremental compilation and the library is quite large.

    Please don't merge this until the tests on my branch have passed.

    TODO:

    • [ ] Add automated releases to the CI.
    opened by gideongrinberg 17
  • Questions regarding this game engine.

    Questions regarding this game engine.

    Hi, I have some questions regarding this game engine:

    1. How does it differ to the Bevy game engine, especially in regards to its ease of use in comparison to bevy?
    2. Does it integrate its own ECS?
    3. If I used the game editor, does it do a lot of the heavy lifting for me, for example if I position a cube at a certain point, I don't have to manually code this?
    4. Am I using Rust to code my game if using the game editor?
    5. If 4 is applicable, then does (I am not sure if I am explaining this correctly) does the code get compiled to machine code, not something like where godot has some sort of linker for gdnative-rust which has some performance drawbacks or something, its all pure machine code without any costs to performance, am I correct?
    6. Is there a lot more coding compared to something like Unity if I wanted to move a simple object?
    7. If exporting my objects from Blender, what format does it support?
    opened by Joe23232 14
  • request_sound_buffer: condvar wait not supported

    request_sound_buffer: condvar wait not supported

    I run into this issue with sound manager. code snippet:

    resource_manager .as_ref() .unwrap() .request_sound_buffer(path.as_ref())

    Just want to confirm that it is not caused by block_on etc. in the codebase.

    opened by GOVYANSONG 10
  • Fedora Dependencies

    Fedora Dependencies

    I saw this repo has a "Dependencies" section but those packages are for Ubuntu. How to install dependencies on Fedora?

    This is what I get when I run cargo run:

    cargo run --package editor --release                                                                                                                                    (*master) 19:16:38 
       Compiling editor v0.1.0 (/home/forkerion/macroquarto/platformer/editor)
    error: linking with `cc` failed: exit status: 1
      |
      = note: "cc" "-m64" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.0.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.1.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.10.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.11.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.12.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.13.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.14.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.15.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.2.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.3.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.4.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.5.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.6.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.7.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.8.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.editor.7b682385-cgu.9.rcgu.o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13.2gl7w1w3xwk6wjry.rcgu.o" "-Wl,--as-needed" "-L" "/home/forkerion/macroquarto/platformer/target/release/deps" "-L" "/usr/lib64" "-L" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/forkerion/macroquarto/platformer/target/release/deps/libplatformer-5e0ef23b9444c5bb.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfyroxed_base-d3e0d678d6a3bbc5.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfyrox-554f37c6646fe82d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libinflate-27ca30933bdcf3c6.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libthiserror-29366fe6e3533868.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfyrox_ui-e154a3a9e71dd4f8.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfontdue-142a7ea6f5c3b890.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libttf_parser-928a14f823bc4a87.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libhashbrown-94ebaf924496cf8e.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libahash-6a78d2841aec63e4.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcopypasta-ea0e706fad09f9fc.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libx11_clipboard-67f1bf1e96e216a0.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libxcb-38c45ac53f7e6497.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsmithay_clipboard-cb89969dd8d28ec4.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsmithay_client_toolkit-02defd43e17bd9b3.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmemmap2-e614981961b21930.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnix-09d06ca764323b4f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsysinfo-8e3e09432ba0f2b2.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libtbc-bf28e012a1c05481.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libglutin-9d36ea0a3bec2ed6.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwayland_egl-ae975ada6bb7f248.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libosmesa_sys-598db0dcbf5a4c7d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libshared_library-7c34a661f07f54e5.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwinit-1ccd882b973070af.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmio-3cc9502301bfc89a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libpercent_encoding-76ddf766122c0991.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsmithay_client_toolkit-74005cd920b551eb.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwayland_cursor-d0273abed19944eb.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libxcursor-e507a98350a79d5c.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnom-eaa7f21f57a4c645.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmemmap2-53c164f6de68451e.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwayland_protocols-64eabe8578976a19.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwayland_client-bc20886a694563f9.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libscoped_tls-0b744f8f60832483.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwayland_commons-40516ff02fff4754.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwayland_sys-22968ddca960fafc.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcalloop-fe55eacce0dfe666.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnix-d4c5e1b6fdd66b5b.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libdlib-0b189043d9d00809.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblibloading-4d297f1e65c5d66d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libraw_window_handle-d4b5a7fee2f51af4.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcty-9adac7fba50eda29.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libparking_lot-3ef6acc3f1c437c4.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libparking_lot_core-f29573a8f0af0590.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libglutin_glx_sys-67b49a3323617c4a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libx11_dl-cb7bf3539a89f455.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libglutin_egl_sys-2af7ae7f2be278b2.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librayon-1d0e9de07040f26d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librayon_core-ae13286505bb7240.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librapier2d-d35b7f866cd6e073.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libparry2d-fd4a0fea145323b7.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librapier3d-f3b125fbf412720b.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libbit_vec-462469194546b74e.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrossbeam-498c3a0d796f49ab.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrossbeam_channel-7dfc13e093196bcd.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrossbeam_deque-ad2ee0adc1413af3.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrossbeam_queue-8848485febd9a06f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrossbeam_epoch-8705a04f825f1a22.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrossbeam_utils-0b32a26c63afdeea.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libonce_cell-afc9b5fb31f3f39c.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libparry3d-e7dc49feb80886c0.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librustc_hash-8480148b5359f3c2.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libspade-4aff83dd2a8978d5.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librobust-1a32a39c3f602d51.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liboptional-3e2831268e1a385f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libdowncast_rs-93cde496da83a4c2.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libeither-7335581cdff27c32.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libimage-ed4cba635158dfe1.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libpng-78825c76cf1f5811.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libdeflate-7a0eb732fd12629b.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libadler32-d397e97e1221aecf.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_iter-77e10e5ccfc5eda8.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libgif-285750d58953ef82.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcolor_quant-b85aadb5f83be11a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libtiff-0231dcb0916c6a93.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libflate2-29f2e56d37fce4a5.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libminiz_oxide-cb2fdb4a08c7e276.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libadler-cdad03bdeacbde58.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcrc32fast-fc8727af6afff6f8.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libweezl-a4fe62bd7af41c1f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libjpeg_decoder-d3c91c24e5956550.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libddsfile-2b1dfa9d59a31b7c.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libenum_primitive-2db9276f54ab7a77.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_traits-fe1e5037b9012369.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libglow-f28cc0c16a01e758.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libron-c979aba149b49506.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnotify-1efc5cfd03e0bab3.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwalkdir-806834212020b476.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsame_file-e8becb82035b97ea.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libinotify-c830eb6cd4f097fc.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libinotify_sys-dddb288659f7a446.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmio_extras-69680e3536def49f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblazycell-9a199c70555a26fd.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmio-598169d5da21c016.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libiovec-690bc9bc49f07d9b.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnet2-0762ed50c237c500.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcfg_if-b7517ee1b405cdac.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfiletime-6dba564e74398c3f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libbitflags-5f35ade335c71dac.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfyrox_sound-e677cd8de0cf1fb7.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libstrum-437b5f6750c830b8.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libalsa_sys-5c7a0bb3fb26a60d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libhound-82d18dfbb377fb8d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libhrtf-8c8778e977f08a53.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librubato-2e47efc3269a0fd4.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librealfft-4b27e7618abf82be.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblog-7ff299f2a5fab3c2.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librustfft-17f96d02f6736df7.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libprimal_check-55f02305ad50039c.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libtranspose-e6d6811db186f7ae.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libstrength_reduce-1ec3a68b671f4edc.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblewton-09dafdacc88f046a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libogg-68bb28ad67e07536.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libtinyvec-a82b682478407f7e.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libtinyvec_macros-2847f334fb930357.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfyrox_resource-ecc47e82875ffadd.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfyrox_core-bf97367ca6de5b24.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libbase64-d241d6571edb683d.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libinstant-049e5f11bc04101a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures-3410b3ba8bf74ccf.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_executor-ee784384eeea7961.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_cpus-310969d2ce3c1539.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_util-d5dc192bce765174.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmemchr-6732bea9ab1b270b.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_io-274524597557ee52.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libslab-510dde88db486632.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_channel-f82977ead92bd031.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libpin_project_lite-98a682410d660e59.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_sink-4b6fb6ecae0c7902.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_task-8aa58fea4933c8d6.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libpin_utils-b977a43eb4c73409.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfutures_core-0469fe110869e2f1.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libuuid-7c0c73209e3c50f9.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librand-a672bb1741a8b11a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librand_chacha-a0ab592ade51ba92.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libppv_lite86-c6149c7153252846.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librand_core-6b254065529fae41.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libgetrandom-ba1a3180adc2fc15.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libparking_lot-54cce09381dc5c66.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libparking_lot_core-bc76ece28df7c732.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblibc-d7aaba65a8691d49.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libcfg_if-d2f5240c3ba9f1eb.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsmallvec-aba1edc4f5bef118.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblock_api-2c27abeb45176655.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libscopeguard-cc20f1d9e660717a.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnalgebra-a970eb73cf6a54d7.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmatrixmultiply-f8ffc77b3bd8db68.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/librawpointer-cc7f4a4ae12d14ae.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_rational-69b0dc2fd359059e.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_integer-eb393f77418e938f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libtypenum-774d8bd2dfac2dd8.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsimba-835049c9db11ff93.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libwide-6b12de50c6cbeca5.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libsafe_arch-becf1002207bc268.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libbytemuck-d587e85f95b2ff90.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_complex-51b66b9591f6f89f.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libapprox-0b256e68a74d9e6c.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libnum_traits-1c08c1ec6f3368e6.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libserde-1e27d989c4a372f8.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libarrayvec-a124e008f7717980.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/liblazy_static-7afcd8eab5501c1b.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libmemoffset-213003319e8a6081.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libfxhash-6e8613fa629d8832.rlib" "/home/forkerion/macroquarto/platformer/target/release/deps/libbyteorder-a3fe6a063f2447da.rlib" "-Wl,--start-group" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-05b39ac0cb4c5688.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-ccaa149b737d6503.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a94a6388c153126b.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-1ecfa264246b85c6.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-ee710154a50440b8.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-f09986d873ea8592.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-f3521e20c99619ab.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-df6036c77d75ce21.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-24f91c1a1dfc7e13.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-bffcc61991adb202.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-cf22313353d8663e.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-c45fb100f99430e9.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-0cdc47a8a81950ea.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-f1e158606c4c82f6.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-0b608b5ef4df0ec4.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b8438dc0bcbbcc08.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-70e2ae036775ff2f.rlib" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-815d281f7068a893.rlib" "-Wl,--end-group" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-377835cfab8dae0d.rlib" "-Wl,-Bdynamic" "-lxcb" "-lxcb-render" "-lxcb-shape" "-lxcb-xfixes" "-ldl" "-lasound" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/forkerion/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/forkerion/macroquarto/platformer/target/release/deps/editor-5eed8def661c4e13" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
      = note: /usr/bin/ld: cannot find -lxcb
              /usr/bin/ld: cannot find -lxcb-render
              /usr/bin/ld: cannot find -lxcb-shape
              /usr/bin/ld: cannot find -lxcb-xfixes
              collect2: error: ld returned 1 exit status
              
    
    error: could not compile `editor` due to previous error
    

    Any help?

    opened by L1ghtingBolt 10
  • Regardless if I use the gui game editor or not, can materials still be rendered into the game scene?

    Regardless if I use the gui game editor or not, can materials still be rendered into the game scene?

    I understand that rusty-editor currently only supports textures, however, I was wondering if the core of the game engine supports materials as well or is this something that is being worked on?

    If it is something that is being worked on, is there an issue tracker or something where I can track the progress?

    opened by Joe23232 9
  • Some PNG files display red areas in part of the image

    Some PNG files display red areas in part of the image

    If I open some images, either via Fyrox (in a game) or in Fyroxed, red areas are displayed as part of the image. Such corruption only displays in Fyrox; other programs/libraries (Eye of MATE, GIMP, Github web interface, the PyGame library) don't have this problem.

    This is an example:

    image

    This is how the image looks when opened on Gimp:

    image

    This is a link to the image file.

    opened by 64kramsystem 8
  • Some failing examples (comparison between Win/Mac/Linux)

    Some failing examples (comparison between Win/Mac/Linux)

    Hello @mrDIMAS,

    I just thought I would run the examples with the new light intensity code here on Win/Mac/Linux (I am not sure if all tests worked before light intensity...just got curious as I found some "Intensity" errors on some examples).

    Take with a grain of salt, of course (I didn't run the examples for very long each time and I might not have waited long enough for some tests to load in debug mode? Maybe?)

    Machine specs and results (rustc 1.54.0):

    Specs:

    1. Win10 21h1 - Ryzen 5 3600xt - 32GB 3200Mhz - Radeon Vega 64 - 512GB nvme Gen4x4
    2. Garuda(Arch) Linux updated today - i5-11600k - 16GB 3200Mhz - R9 380 - 512GB nvme Gen3x4
    3. Big Sur (11.5.2) - M1 - 8GB - integrated graphics (similar to R9 570? maybe) - 512GB T2
    

    Examples (debug FPS - then release...or error message):

    2d:
    Win --  289 - 2150
    Lin --  530 - 8200
    M1 --   310 - 3000
    
    3rd_person:
    Win -- wouldn't load? waited 10 minutes. Stopped at 'SsaoShader Linked' - 140 (6.5 frame time)
    Lin -- 1 (frame time 415?) - 100 (5 frame time)
    M1 -- 1 (frame time 2159) - 1 (1150 frame time)
    
    async:
    Win -- 688 - 1591
    Lin -- 1500 - 1600
    M1 -- 31 - 33
    
    compressed_textures:
    Win -- DEBUG - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png', 
    C:\Users\wilsonk\rg3d\rg3d-resource\src\lib.rs:106:17
           RELEASE - ran fine
    
    Lin -- DEBUG - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png', 
    /home/wilsonk/rg3d/rg3d-resource/src/lib.rs:106:17
          RELEASE - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png',
     /home/wilsonk/rg3d/rg3d-resource/src/lib.rs:106:17
    
    M1 -- DEBUG - thread 'main' panicked at 'Attempt to get reference to resource data while it is not loaded! Path is examples/data/MetalMesh_Base_Color.png', 
    /home/wilsonk/rg3d/rg3d-resource/src/lib.rs:106:17
          RELEASE - ran fine
    
    framework:
    Win -- one core at 100% - same
    Lin -- 4-8 cores at 20-50% - 4 cores at 12-30%
    M1 -- 4 cores stepped 50-30-20-10% - same
    
    instancing:
    Win -- too long to load (3 mins)  - 60 FPS at 4K (monitor running at 30Hz)
    Lin -- too long to load (3 mins) - loaded instances then hung for 4 mins then 1 FPS? r9 380 not powerful enough?
    M1 -- loaded two tex's after SsaoShader linked (3 mins) stopped waiting - 60 FPS (on 144Hz monitor)
    
    ligthmap:
    Win -- DEBUG - no chance to click Generate --> [ERROR]: Unable to load model from "examples/data/sponza/Sponza.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples/lightmap.rs:255:22
        RELEASE - same
    
    Lin -- DEBUG - no chance to click Generate --> [ERROR]: Unable to load model from "examples/data/sponza/Sponza.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples/lightmap.rs:255:22
         RELEASE - same
    
    M1 -- DEBUG - click Generate then --> [ERROR]: Unable to load model from "examples/data/sponza/Sponza.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples/lightmap.rs:255:22
        RELEASE - same
    
    lod:
    Win -- 30 fps at 4K(monitor 30Hz), smooth - same
    Lin -- 60 fps at 4K, smooth - same
    M1 -- 109 fps at 1440p, smooth - same
    
    navmesh:
    Win -- DEBUG - [ERROR]: Unable to load model from "examples/data/navmesh_scene.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples\navmesh.rs:94:10
        RELEASE - same
    Lin -- same - same
    M1 -- same - same
    
    save_load:
    Win -- wouldn't load after minutes, stuck repeating 'SsaoShader linked'? - 112
    Lin -- 1 - 240
    M1 -- 1 - 1
    
    scene:
    Win --  DEBUG - [ERROR]: Unable to load model from "examples/data/test_scene.rgs"! Reason Visit(FieldDoesNotExist("Intensity"))
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Some(Visit(FieldDoesNotExist("Intensity")))', examples\scene.rs:76:10
        RELEASE - same
    Lin -- same - same
    M1 --  same - same
    
    simple:
    Win -- 378 - 1275
    Lin -- 780 - 1130
    M1 -- 20 - 21
    
    sound:
    Win -- stopped for minutes at SsaoShader linked again - 140  (but much longer to load than Lin?)
    Lin -- 1 - 230
    M1 -- 1 - 1
    
    terrain:
    Win -- 703 - 1145   (three times as long to load as Lin?)
    Lin -- 715 - 715
    M1 -- 1 - 1
    
    ui:
    Win -- 30 yaw/scale work (resolution choice works) - same (but much longer to load than Lin/M1??)
    Lin -- 60 yaw/scale work (NO resolution choice) - same
    M1 -- 30 yaw/scale work (resolution choice works) - 33 yaw/scale work (resolution choice works)
    
    opened by wilsonk 8
  • Sound: Various issues under Windows

    Sound: Various issues under Windows

    Not sure how to title this issue, and I'm not sure if my use of Windows is relevant. I've been trying to use rg3d-sound in Bevy, and have hit an odd issue where my footstep sound is slightly delayed every few seconds. I also, very occasionally, get an issue where sound glitches and can be heard panned slightly differently in the stereo field, as if the source parameters aren't quite synced.

    I thought I'd try creating a reproduction, which I have here. But while I can't reproduce the delay, I've found a few issues that may be related.

    Essentially, I took your play_sound example, subbed in my footstep sound, and added a loop { ... } block. I need to start/stop my footstep sound more or less quickly based on step length, so I need to control the looping. Here's what I discovered:

    • I have the loop set to sleep for 5 seconds, with a println! at the beginning. The print is called correctly, but the sound still seems to loop quickly despite me explicitly setting it not to.
    • If I use from_millis(5000) for the sleep, the behavior changes. After 20-30 seconds, I start getting audio artifacts similar to the ones I occasionally experience, where the source sounds slightly out of sync.

    It's quite possible that I'm misusing the library here, but it seems like it's misbehaving in ways that don't make sense. I don't understand why the source doesn't play once per 5 seconds, nor do I understand the odd audio artifacts here. I might expect performance degradation at higher speeds as the mutex deadlocks, but not at 1/5 seconds.

    Am I doing something obviously wrong? Full disclosure: haven't had my coffee yet. :)

    Thanks!

    opened by ndarilek 8
  • Window doesnt fill the screen

    Window doesnt fill the screen

    hello there, I am using sway(wayland) in arch(linux) and I encountered some issues

    the window doesn't fill the screen space https://a.uguu.se/lrUKdnKe.png if I move it to a workspace of its own it keeps the same size(see next image), same if I full-screen it (then: the empty space becomes black) this is an issue because I cant see the top menu the mouse is also offset, the red dot indicates the distance where the mouse actually clicks

    here in a workspace of its own: https://a.uguu.se/DaaavkVM.png in a red box you can see a completely unrelated issue: when you scroll the assets those grey boxes vibrate into existence

    thank you anyway

    bug 
    opened by tekakutli 7
  • Terrain brush being odd on on touched air

    Terrain brush being odd on on touched air

    So I had zoomed out, to move around and I zoomed in to this new area to check where I was in case of readjustment needed. I noticed a green thing on my screen, looked close and saw the words of chrome behind it.

    This was on a brand new scene and project, immediately ran editor after generating and building the projects initially.

    Shape: circle Radius: 4.000 Mode: modify height map Amount: 4.000

    Ubuntu 22.04.1 LTS Fyrox-template 0.5.1 Gnome 42.5

    Edit: It doesn't show the window behind it in Green on Skybox, it shows the green tinted window on the terrain itself, and I believe the reason why it looks like the skybox on the video is because I was looking at it from the other side perhaps. I am not sure. It will ONLY show on the green, in the brush it appears

    My terrain node is default size, position and rotation, Static, within a Rigid body alongside a Collider

    opened by DuckEater54 1
  • Save and load docking manager state

    Save and load docking manager state

    Docking manager widget should have an ability to save and load the state of its windows. It is important for the editor, so users don't have to re-configure panels in the docking manager in the editor every time they restart it.

    enhancement good first issue user-interface 
    opened by mrDIMAS 0
  • Add a way to get a list of used resources in a scene

    Add a way to get a list of used resources in a scene

    This could be very helpful to find unused resources in a project. There should be a new menu Scene with Show Used Resources item in it, that will open a window with a text box that is filled with unique paths to used resources in a scene.

    opened by mrDIMAS 0
  • Rotation and Moving Tools' Initial Direction Incorrect

    Rotation and Moving Tools' Initial Direction Incorrect

    Fyrox version: latest git pull. OS: Fedora 36 Workstation fbx: Export from Blender 3.3.1 (Rotation and Scale have been reset by ctrl + A before exporting)

    After importing an fbx to the Fyrox editor, the rotation and moving tools of the objects in the fbx file are set to a random direction. I have to rotate the object slightly to make the rotation and moving tools work correctly. The position and rotation of the actual objects are correct, just the tools.

    Please see the screencast: https://odysee.com/@IceGuye:a/BugRotationMovingToolsFyroxEditor:4

    opened by IceGuye 0
Releases(v0.29)
Owner
rg3d engine
rg3d game engine
rg3d engine
General purpose client/server networking library written in Rust, built on top of the QUIC protocol which is implemented by quinn

Overview "This library stinks!" ... "Unless you like durian" durian is a client-server networking library built on top of the QUIC protocol which is i

Michael 92 Dec 31, 2022
Template for jumpstarting production-ready Farcaster frames quickly

Rust Farcaster Frames Template Template for jumpstarting production-ready Farcaster frames quickly. — no fuss, all fun! Features Seamless Integration:

jpgonzalezra 13 Feb 21, 2024
Bevy playground with the Bistro scene showcasing lights

Bevy Bistro Playground Bevy playground with the Bistro scene from https://developer.nvidia.com/orca/amazon-lumberyard-bistro How to use Download the s

null 4 Nov 7, 2022
Apply a pixelation effect to any Bevy mesh or scene without post-processing.

Pixelate Mesh Apply a pixelation effect to any Bevy mesh or scene without post-processing. Usage Add the PixelateMeshPlugin, where you specify a compo

Jan Hohenheim 16 Mar 25, 2023
Use sprites in a 3d bevy scene.

bevy_sprite3d Use 2d sprites in a 3d bevy scene. This is a pretty common setup in other engines (unity, godot, etc). Useful for: 2d games using bevy's

null 46 Apr 24, 2023
A visual novel engine that draws inspiration from RenPy and is meant to be a more performant replacement with feature parity.

VN Engine A visual novel engine that draws inspiration from RenPy and is meant to be a more performant replacement with feature parity. The engine is

Alexandros Panagiotakis 2 Sep 9, 2022
A visual novel engine that draws inspiration from RenPy and is meant to be a more performant replacement with feature parity.

VN Engine A visual novel engine that draws inspiration from RenPy and is meant to be a more performant replacement with feature parity. The engine is

Alexandros Panagiotakis 2 Sep 9, 2022
A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

Michael Dorst 0 Dec 26, 2021
Minecraft-esque voxel engine prototype made with the bevy game engine. Pending bevy 0.6 release to undergo a full rewrite.

vx_bevy A voxel engine prototype made using the Bevy game engine. Goals and features Very basic worldgen Animated chunk loading (ala cube world) Optim

Lucas Arriesse 125 Dec 31, 2022
2-player game made with Rust and "ggez" engine, based on "Conway's Game of Life"

fight-for-your-life A 2-player game based on the "Conway's Game of Life", made with Rust and the game engine "ggez". Create shapes on the grid that wi

Petros 3 Oct 25, 2021
2d Endless Runner Game made with Bevy Game Engine

Cute-runner A 2d Endless Runner Game made with Bevy Game Engine. Table of contents Project Infos Usage Screenshots Disclaimer Project Infos Date: Sept

JoaoMarinho 2 Jul 15, 2022
A game made in one week for the Bevy engine's first game jam

¿Quien es el MechaBurro? An entry for the first Bevy game jam following the theme of "Unfair Advantage." It was made in one week using the wonderful B

mike 20 Dec 23, 2022
A Client/Server game networking plugin using QUIC, for the Bevy game engine.

Bevy Quinnet A Client/Server game networking plugin using QUIC, for the Bevy game engine. Bevy Quinnet QUIC as a game networking protocol Features Roa

Gilles Henaux 65 Feb 20, 2023
Discord RIch Presence in Rust, with native Bevy support

Discord Presence The root project for both Bevy Discord Presence and regular Discord Presence, both contained in the crates directory. TODO Allow invi

Juliette Cordor 22 Nov 29, 2022
Make production Rust binaries auditable

rust-audit Know the exact crate versions used to build your Rust executable. Audit binaries for known bugs or security vulnerabilities in production,

Sergey 324 Dec 27, 2022
Solana Game Server is a decentralized game server running on Solana, designed for game developers

Solana Game Server* is the first decentralized Game Server (aka web3 game server) designed for game devs. (Think web3 SDK for game developers as a ser

Tardigrade Life Sciences, Inc 16 Dec 1, 2022
wecs (wckd-ecs) is a simple ECS library suitable for general use.

wecs wecs (wckd-ecs) is a simple ECS library heavily based on bevy_ecs. Motivation As part of my "Road to Rust GameDev" journey, I wanted to learn how

João Victor 9 Jul 2, 2023
Provision Mammoth-ready Minecraft clusters with ease!

Minecraft Server Provisioner Provision Mammoth-ready Minecraft clusters with ease! Overview Provisioner is a tool designed to make the creation of Mam

null 19 Sep 29, 2022
A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music.

rustris A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music. (C) 2020 Ben Cantrick. This code is distri

Ben Cantrick 17 Aug 18, 2022