Fyrox - 3D and 2D game engine written in Rust

Overview
Fyrox

Fyrox - a modern Rust game engine

License (MIT) CI Status audit Dependency 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. Formerly known as rg3d

Support

If you want to support the development of the project, click the link below. Preferrable way is to use Boosty - this way the money will be available for the development immediately. Alternatively you can can use Patreon, but in this case the money will be on-hold for unknown period of time (details are here).

Community

Join the Discord server

Learning materials

Read the official Fyrox book here. It is in early development stage, but it should help you start using the engine, also the book contains a series of tutorials that should help you to create your first game.

Features

Video

General

Rendering

  • Custom shaders, materials, and rendering techniques.
  • Physically-based rendering.
  • Metallic workflow.
  • High dynamic range (HDR) rendering.
  • Tone mapping.
  • Color grading.
  • Auto-exposure.
  • Gamma correction.
  • Deferred shading.
  • Directional light.
  • Point lights + shadows.
  • Spotlights + shadows.
  • Screen-Space Ambient Occlusion (SSAO).
  • Soft shadows.
  • Volumetric light (spot, point).
  • Batching.
  • Instancing.
  • Fast Approximate Anti-Aliasing (FXAA).
  • Normal mapping.
  • Parallax mapping.
  • Render in texture.
  • Forward rendering for transparent objects.
  • Sky box.
  • Deferred decals.
  • Multi-camera rendering.
  • Lightmapping.
  • Soft particles.
  • Fully customizable vertex format.
  • Compressed textures support.
  • High-quality mip-map on-demand generation.

Scene

  • Multiple scenes.
  • Full-featured scene graph.
  • Level-of-detail (LOD) support.
  • GPU Skinning.
  • Various scene nodes:
    • Pivot.
    • Camera.
    • Decal.
    • Mesh.
    • Particle system.
    • Sprite.
    • Multilayer terrain.
    • Rectangle (2D Sprites)
    • Rigid body + Rigid Body 2D
    • Collider + Collider 2D
    • Joint + Joint 2D

Sound

  • High quality binaural sound with HRTF support.
  • Generic and spatial sound sources.
  • Built-in streaming for large sounds.
  • Raw samples playback support.
  • WAV/OGG format support.
  • HRTF support for excellent positioning and binaural effects.
  • Reverb effect.

Serialization

  • Powerful serialization system
  • Almost every entity of the engine can be serialized
  • No need to write your own serialization.

Animation

  • Animation blending state machine - similar to Mecanim in Unity Engine.
  • Animation retargetting - allows you to remap animation from one model to another.

Asset management

  • Advanced asset manager.
  • Fully asynchronous asset loading.
  • PNG, JPG, TGA, DDS, etc. textures.
  • FBX models loader.
  • WAV, OGG sound formats.
  • Compressed textures support (DXT1, DXT3, DTX5).

Artificial Intelligence (AI)

  • A* pathfinder.
  • Navmesh.
  • Behavior trees.

User Interface (UI)

  • Advanced node-based UI with lots of widgets.
  • More than 32 widgets
  • Powerful layout system.
  • Full TTF/OTF fonts support.
  • Based on message passing.
  • Fully customizable.
  • GAPI-agnostic.
  • OS-agnostic.
  • Button widget.
  • Border widget.
  • Canvas widget.
  • Color picker widget.
  • Color field widget.
  • Check box widget.
  • Decorator widget.
  • Drop-down list widget.
  • Grid widget.
  • Image widget.
  • List view widget.
  • Popup widget.
  • Progress bar widget.
  • Scroll bar widget.
  • Scroll panel widget.
  • Scroll viewer widget.
  • Stack panel widget.
  • Tab control widget.
  • Text widget.
  • Text box widget.
  • Tree widget.
  • Window widget.
  • File browser widget.
  • File selector widget.
  • Docking manager widget.
  • NumericUpDown widget.
  • Vector3 editor widget.
  • Menu widget.
  • Menu item widget.
  • Message box widget.
  • Wrap panel widget.
  • Curve editor widget.
  • User defined widget.

Physics

  • Advanced physics (thanks to the rapier physics engine)
  • Rigid bodies.
  • Rich set of various colliders.
  • Joints.
  • Ray cast.
  • Many other useful features.
  • 2D support.

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

Dependencies

Linux

sudo apt install libxcb-shape0-dev libxcb-xfixes0-dev libxcb1-dev libxkbcommon-dev libasound2-dev

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.

Sponsors

The engine is supported by very generous people, their donations provides sustainable development of the engine:

Bronze patrons

Brandon Thomas
Taylor C. Richberger

Patrons

Avery Wagar George Atkinson Erlend Sogge Heggen
Mitch Skinner
ozkriff
Taylor Gerpheide
zrkn
Aleks Row
Edward L
L.apz
Luke Jones
toyboot4e
Vish Vadlamani
Alexey Kuznetsov
Daniel Simon
Jesper Nordenberg
Kornel
Parham Gholami
Yuki Ishii
Joseph Catrambone
MGlolenstine
zamar lomax Gheorghe Ugrik Anton Zelenin Barugon

Former patrons

Tom Leys Jay Sistar tc
false
BlueSkye
Ben Anderson
Thomas Iulian Radu Vitaliy (ArcticNoise) Chernyshev

JetBrains

JetBrains provided an open-source all-products license for their products which drastically helps in development of the engine.

JetBrains logo.

Copyright © 2000-2021 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o.

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
  • Object ClassName in 'Base' list | Additional base info in inspector

    Object ClassName in 'Base' list | Additional base info in inspector

    So, it would be cool to add additional info for object in 'Base' info list. It's className, like: RigidBody, Sprite, Mesh. Of course in Inspector image

    It's not comfortable to see in only World Viewer and look on only object image, like that image

    What i mean? I want to see info like that: image

    opened by DocNITE 0
  • Allow moving multiple nodes in scene graph to new parent

    Allow moving multiple nodes in scene graph to new parent

    Even when multiple nodes are selected, dragging a node in the scene graph only moves that one. It should move all of the ones selected so they can be moved to a new parent together

    opened by tgerpheide 0
  • Maintain parent node when copying/pasting

    Maintain parent node when copying/pasting

    This might not be a universal opinion, but I believe the default behavior for copy/pasting a node should place the new node under the same parent as the old node rather than under root. I see the option to right click + paste as subnode which does help my situation at least.

    opened by tgerpheide 0
  • Editor Scene Graph box select and subnode select

    Editor Scene Graph box select and subnode select

    Maybe these should be 2 different issues, but these would help a lot with productivity. User should be able to use the shift modifier to box select nodes in the scene graph as well as select subnodes of a node like the editor could do in the past (ctrl + down or whatever it was)

    opened by tgerpheide 0
Releases(v0.28)
Owner
Fyrox Engine
Fyrox game engine
Fyrox Engine
Experimental engine agnostic 3D CSG library for game development written in Rust. Started as a port of csg.js to Rust.

brusher Experimental engine agnostic 3D CSG library for game development written in Rust. Started as a port of csg.js to Rust. ultimate goal My hope i

Brian Howard 17 Sep 4, 2024
🐚+🦞 Ultra-portable Rust game engine suited for offline 2D games powered by WebAssembly

pagurus ?? + ?? Ultra-portable Rust game engine suited for offline 2D games powered by WebAssembly. Examples Snake Traditional snake game: examples/sn

Takeru Ohta 20 Mar 7, 2023
AI-powered game engine for dynamic, personalized experiences in evolving worlds. Ethical, accessible, inclusive.

ARCADIA: Advanced and Responsive Computational Architecture for Dynamic Interactive Ai: A Whitepaper By Reuven Cohen (rUv) Introduction Imagine a futu

rUv 10 Apr 18, 2023
Nexa programming language. A language for game developers by a game developer

NexaLang Nexa programming language. A language for game developers by a game developer. Features High-Level: Nexa is an easy high level language Two M

Sabe 3 Aug 21, 2023
A visual novel engine written by Rust. Just Ayaka.

Ayaka Ayaka is currently a project for OSPP 2022. About the name The frontend is Ayaka. The runtime is Ayaka. The script is Ayaka. Just Ayaka. What we

UniGal 86 Dec 30, 2022
Yet another code execution engine written in Rust.

exec Yet another blazingly fast code execution engine written in Rust. Paths GET /api/v1/status GET /api/v1/runtimes POST /api/v1/execute POST /api/v1

Stefan Asandei 2 Jul 11, 2023
a chess engine written in rust. not even close to being done

Goals improve at the rust programming language. my first major project tought me how to do things in rust. I hope for this project to teach me how to

null 6 Apr 2, 2024
A tiling layout engine for egui with drag-and-drop and resizing

egui_tiles Layouting and docking for egui. Supports: Horizontal and vertical layouts Grid layouts Tabs Drag-and-drop docking Trying it cargo r --examp

rerun.io 83 Jun 5, 2023
A minimal browser with a super simple rendering engine for HTML and CSS, using Rust.

minimal-browser A minimal browser with a super simple rendering engine for HTML and CSS, using Rust. Credit: https://github.com/mbrubeck and https://l

Federico Baldini 3 Jan 15, 2023
TMM is a Linux native game modding tool. it allows to install and depoly mods for Linux native and wine games.

Tux Mod Manager TMM is a Linux native mod manager made with the Tauri toolkit. It can install, load, remove and deploy mods for both Linux native and

Mathiew May 119 Dec 27, 2022
A tool that allows you to modify, edit, and recompile the AST script of Artemis engine.

Artemis AST Script Processor This utility offers a set of Rust functions to parse and manipulate Artemis AST-based scripts. Features Tokenization: Con

xmoe 7 Sep 19, 2023
Rust bindings for the JavaScriptCore engine.

JavaScriptCore API for Rust This library provides a Rust API for the JavaScriptCore engine with the following goals: High-level API like the JavaScrip

Pekka Enberg 48 Dec 27, 2022
🧮 Boolean expression evaluation engine. A Rust port of boolrule.

coolrule My blog post: Porting Boolrule to Rust Boolean expression evaluation engine (a port of boolrule to Rust). // Without context let expr = coolr

Andrew Healey 3 Aug 21, 2023
a FREE and MODERN split-screen tetris game WITHOUT ADS

tetr:: A ✨ modern ✨ Tetris game made in OpenGL and Rust Gameplay tetr:: is an implementaion of modern Tetris, and essentially a clone of tetr.io. This

Adam Harmansky 3 Sep 10, 2022
Revolutionize handheld gaming with adaptive game settings. Optimize graphics and gameplay experience based on real-time system metrics. Open-source project empowering developers to enhance games on portable devices

Welcome to the server-side application for the HarmonyLink project. This innovative software is developed with the Rust programming language and is ai

Jordon Brooks 5 Jun 28, 2023
xyz is a chat platform where people sign up, play a matching game, and say goodbye

xyz is an asynchronous chat and web service What you need Docker Desktop ?? Cargo (Rust package manager) ?? Clone our project Follow the steps below t

Matthew 12 Oct 11, 2023
A code-completion engine for Vim

YouCompleteMe: a code-completion engine for Vim Help, Advice, Support Looking for help, advice or support? Having problems getting YCM to work? First

null 24.5k Dec 31, 2022
Peer-to-Peer Search Engine System

Kamilata A Peer-to-Peer Search Engine System Abstract Search engines have always been quintessentially centralized systems. The need for a central dat

null 4 Feb 14, 2023
.NET PhysX 5 binding to all platforms(win, osx, linux) for 3D engine, deep learning, dedicated server of gaming.

MagicPhysX .NET PhysX 5 binding to all platforms(win-x64, osx-x64, osx-arm64, linux-x64, linux-arm64) for 3D engine, deep learning, dedicated server o

Cysharp, Inc. 37 Jul 4, 2023