Rust Game engine 3D (and 2D)

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.

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.28)
Owner
rg3d engine
rg3d game engine
rg3d engine
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
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
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
Victorem - easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust.

Victorem Easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust. Example Cargo.toml [dependencies] vict

Victor Winbringer 27 Jan 7, 2023
RTS game/engine in Rust and WebGPU

What is this? A real time strategy game/engine written with Rust and WebGPU. Eventually it will be able to run in a web browser thanks to WebGPU. This

Thomas SIMON 258 Dec 25, 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
Rust Game engine 3D (and 2D)

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

rg3d engine 5.4k Jan 9, 2023
game engine built in rust, using wgpu and probably other stuff too

horizon game engine engine for devpty games, made in 99.9% rust and 0.1% shell. this is our main project currently. the engine will be used for most i

DEVPTY 2 Apr 12, 2022
Vulkan and Rust rendering~game engine which creation is covered with YouTube videos

Vulkan and Rust rendering~game engine which creation is covered with YouTube videos

小鳥 11 Dec 4, 2022
A simple and minimal game engine library built in rust.

Neptune A brand new free, open-source minimal and compact game engine built in rust. Design Goals We plan to make Neptune a small and minimal engine,

Levitate 17 Jan 25, 2023
Plotting library for the Bevy game engine with a focus on esthetics and interactivity

Plotting library for the Bevy game engine with a focus on esthetics and interactivity. It can handle both data points (see the "minimal", "markers", a

Eli 40 Dec 25, 2022
Parallax mapping shaders (relief and POM) for the bevy game engine

Bevy parallax mapping parallax mapping is a graphical effect adding the impression of depth to simple 2d textures by moving the texture's pixel around

Nicola Papale 10 Dec 28, 2022
A simple-to-use input manager for the Bevy game engine that empowers players and makes accessibility easy.

Bevy Ineffable A simple-to-use input manager for the Bevy game engine that empowers players and makes accessibility easy. Core tenets Make accessibili

Jazarro 10 Mar 2, 2024
A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works

rustetris A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it tech

Eric G 3 Oct 15, 2022
Wasm game of life - A Rust and WebAssembly tutorial implementing the Game of Life

wasm_game_of_life Conway's Game of Life in Rust and WebAssembly Contributing | Chat Built with ?? ?? by The Rust and WebAssembly Working Group About T

Rust and WebAssembly 236 Dec 24, 2022
A refreshingly simple data-driven game engine built in Rust

What is Bevy? Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! WARNING Bevy is still in the ve

Bevy Engine 21.1k Jan 4, 2023
unrust - A pure rust based (webgl 2.0 / native) game engine

unrust A pure rust based (webgl 2.0 / native) game engine Current Version : 0.1.1 This project is under heavily development, all api are very unstable

null 368 Jan 3, 2023