Fyrox Documentation

3D and 2D game engine written in Rust

RAW Doc

File: README.md






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

[Learning materials](https://fyrox-book.github.io/)

Read the official Fyrox book here. It contains comprehensive information about many aspects of the engine, starting
by "how to build" and ending by various tutorials.

Community

You can always ask your question in Discord server - Join the Discord server, or directly in
Discussions.

Examples

You can run examples directly in your web browser, the full list of demo projects is available here.
Source code for each demo project can be found here.

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).

Contributing

Contributions are very welcome! See the contributions guidelines for more info. 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:

Brandon Thomas | Taylor C. Richberger | 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 | 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.

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


File: editor/README.md

FyroxEd

Full-featured editor for Fyrox engine. This is the basic library for the editor,
it cannot be run as executable. See editor-standalone for this.

The main purpose of making the editor library is to use it with static plugins, see scripting example for more info.


File: editor-standalone/README.md

FyroxEd (standalone)

WARNING: Standalone version of the editor is not supported, use
project template generator to utilize the full power
of the editor. Standalone version does not support plugins and scripts, it won't be update in next releases!

A standalone version of FyroxEd - native editor of Fyrox engine. The standalone
version allows you only to create and edit scenes, but not run your game in the editor. Please see
the book to learn how to use the editor in different ways.

How to install and run

To install the latest stable standalone version from crates.io use:

shell
cargo install fyroxed

After that, you can run the editor by simply calling:

shell
fyroxed

If you're on Linux, please make sure that the following dependencies are installed:

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

Controls

  • [Click] - Select
  • [W][S][A][D] - Move camera
  • [Space][Q]/[E] - Raise/Lower Camera
  • [1] - Select interaction mode
  • [2] - Move interaction mode
  • [3] - Scale interaction mode
  • [4] - Rotate interaction mode
  • [Ctrl]+[Z] - Undo
  • [Ctrl]+[Y] - Redo]()

File: fyrox/README.md








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

[Learning materials](https://fyrox-book.github.io/)

Read the official Fyrox book here. It contains comprehensive information about many aspects of the engine, starting
by "how to build" and ending by various tutorials.

Community

You can always ask your question in Discord server - Join the Discord server, or directly in
Discussions.

Examples

You can run examples directly in your web browser, the full list of demo projects is available here.
Source code for each demo project can be found here.

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).

Contributing

Contributions are very welcome! See the contributions guidelines for more info. 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:

Brandon Thomas | Taylor C. Richberger | 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 | 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.

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


File: fyrox-animation/README.md

fyrox-animation

Flexible, general-purpose, reflection-based animation system for game development.

NOTE: even though this crate has fyrox prefix in its name, it can be used separately without any issues.

Features

  • Reflection-based animation.
  • Animation blending state machine.
  • Sprite sheet animation.
  • Various blending modes - blend by weight, blend by index, blend space.
  • Smooth state transition.
  • Ability to animate any numeric property, including vectors, bools, natural and real numbers.
  • Layer masks.
  • Root motion.
  • Fixed set of binding modes for most common cases.
  • Signals and events.

File: fyrox-autotile/README.md

fyrox-autotile

An implementation of autotiling algorithms for use with regular tile grids. This includes:

  • Interactive terrain-based autotiling for tile map editing. The user picks a broad category of tile for each cell. These categories are called terrains and each terrain may have many tiles. The algorithm picks specific tiles for each cell from its terrain so that the tiles fit naturally together, thus sparing the user from having to manually select matching tiles.

    The algorithm is based upon a Godot library for the same purpose: https://github.com/dandeliondino/terrain-autotiler

  • Randomized tile generation using Wave Function Collapse. Unlike terrain-based autotiling where the purpose is to automate tedious work for an artist, the purpose of Wave Function Collapse is to replace the artist entirely by generating creative tile layouts through randomization.

    The algorithm is based upon fast-wfc, a C++ library for the same purpose: https://github.com/math-fehr/fast-wfc

These algorithms are designed to be generic in a way that will work with any regular grid. They should work just as well with square cells and hexagon cells and 3D grids. The user specifies the coordinate system that is used to identify cells and which cells are neighbors to which other cells.


File: fyrox-core/README.md

fyrox-core

Shared library for Fyrox-engine containing linear algebra and some useful algorithms.

NOTE: even though this crate has fyrox prefix in its name, it can be used separately without any issues.


File: fyrox-core-derive/README.md

fyrox-core-derive

This crate provides with some derive macros:

  • #[derive(Visit)]
  • #[derive(Inspect)]
  • #[derive(Reflect)]

File: fyrox-impl/README.md








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

[Learning materials](https://fyrox-book.github.io/)

Read the official Fyrox book here. It contains comprehensive information about many aspects of the engine, starting
by "how to build" and ending by various tutorials.

Community

You can always ask your question in Discord server - Join the Discord server, or directly in
Discussions.

Examples

You can run examples directly in your web browser, the full list of demo projects is available here.
Source code for each demo project can be found here.

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).

Contributing

Contributions are very welcome! See the contributions guidelines for more info. 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:

Brandon Thomas | Taylor C. Richberger | 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 | 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.

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