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
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
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
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
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
This is a command line port of the game Wordle in Rust

Wordle.rs Welcome to Wordle.rs! This is a command line port of the game Wordle in Rust. I built this in order to get more familiar with programming in

Brock Herion 5 Apr 8, 2022
A word-guessing game from your terminal 🟩⬛🟩🟨🟩

Poodle Not a ?? (Poodle), but a word-guessing game from your terminal ?? ⬛ ?? ?? ?? Features ✅ In Rust ?? ✅ Attempt logs ✅ Rules of the original game

John Law 9 Apr 17, 2022
Game of life rendered in your terminal with over 500+ unique patterns to choose from.

Controls a: play animation n: next generation s: stop j or down arrow: go down next pattern (note: you have to stop the animation to browse the patter

Omar Magdy 20 Dec 22, 2022
An open source artifact manager. Written in Rust back end and an Vue front end to create a fast and modern experience

nitro_repo Nitro Repo is an open source free artifact manager. Written with a Rust back end and a Vue front end to create a fast and modern experience

Wyatt Jacob Herkamp 30 Dec 14, 2022
skyWM is an extensible tiling window manager written in Rust. skyWM has a clear and distinct focus adhering to the KISS and Unix philosophy.

Please note: skyWM is currently in heavy development and is not usable as of yet. Documentation and versions will change quickly. skyWM skyWM is an ex

MrBeeBenson 74 Dec 28, 2022
(Pre-Release Software) Secure, Encrypted, P2P chat written atop Warp, IPFS, LibP2P, Dioxus and many more awesome projects and protocols.

Uplink Privacy First, Modular, P2P messaging client built atop Warp. Uplink is written in pure Rust with a UI in Dioxus (which is also written in Rust

Satellite 13 Jan 25, 2023
Rust Imaging Library's Python binding: A performant and high-level image processing library for Python written in Rust

ril-py Rust Imaging Library for Python: Python bindings for ril, a performant and high-level image processing library written in Rust. What's this? Th

Cryptex 13 Dec 6, 2022
⚡️ Lightning-fast and minimal calendar command line. Written in Rust 🦀

⚡️ Lightning-fast and minimal calendar command line. It's similar to cal. Written in Rust ??

Arthur Henrique 36 Jan 1, 2023
A lightweight and super fast cli todo program written in rust under 200 sloc

todo A lightweight and super fast cli todo program written in rust under 200 sloc installation AUR package: todo-bin use cargo build --release to comp

sioodmy 243 Dec 24, 2022
Command line tool for cheap and efficient email automation written in Rust

Pigeon Pigeon is a command line tool for automating your email workflow in a cheap and efficient way. Utilize your most efficient dev tools you are al

null 57 Nov 20, 2022
Cli tool for git productivity written in Rust and packaged for consumption via NPM

crust ?? cli tool for git productivity written in Rust and packaged for consumption via NPM This repo is identical with @skyneticist/golee in terms of

null 2 Jul 30, 2022
A mini paste bin and url shortener written in rust without databases.

pb Build $ cargo build --release Environment Variables PB_DATA: /some/path (Default: ./pb_data) PB_SITE: Url of your site. (Default: http://localhost:

Edward P 5 Jul 26, 2022
A Unix shell written and implemented in rust 🦀

vsh A Blazingly fast shell made in Rust ?? Installation Copy and paste the following command and choose the appropriate installtion method for you. Yo

XMantle 89 Dec 18, 2022