froggy
three
Our great sponsors
froggy | three | |
---|---|---|
5 | 2 | |
300 | 554 | |
- | 0.5% | |
3.2 | 0.0 | |
over 3 years ago | over 1 year ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
froggy
- Hands-On Rust: Effective Learning Through 2D Game Development and Play
-
Object-Oriented Entity-Component-System Design
What I found in practice is that many people start using the ECS for speed, and then draw themselves into a corner of the design space. Now they have to weight every step on "how would it work in ECS?", and dedicate effort to fight the ECS paradigm.
For example, a mesh may contain multiple materials. Is each material chunk a separate entity? Or maybe each bone in a skeleton is a separate entity with its own "parent" and "transform" plus other component.
One of the different approaches is component graph systems [1]. It lacks the ability to mix and match components, but provides a more natural (and simpler) model to program for.
[1] https://github.com/kvark/froggy/wiki/Component-Graph-System
-
[Media] rg3d game engine v0.22 - feature highlights
I had similar motivation back in the day for CGS in https://github.com/kvark/froggy, which was also powering https://github.com/three-rs/three. It's nice to see Rust ecosystem not locking itself on ECS, even if they are so cool :)
- Froggy - A Component Graph System experiment
- Component Graph System
three
-
Hands-On Rust: Effective Learning Through 2D Game Development and Play
Rust has ways to deal with mutability. Three-rs [1] uses a classic scene graph tree, like ThreeJS. It's based on Froggy [2], which is a general low level primitive for building a "traditional" topology of the classes.
[1] https://github.com/three-rs/three
-
[Media] rg3d game engine v0.22 - feature highlights
I had similar motivation back in the day for CGS in https://github.com/kvark/froggy, which was also powering https://github.com/three-rs/three. It's nice to see Rust ecosystem not locking itself on ECS, even if they are so cool :)
What are some alternatives?
rapier - 2D and 3D physics engines focused on performance.
Hazel - Hazel Engine
StationIapetus - 3rd person shooter in the very early development phase
bracket-lib - The Roguelike Toolkit (RLTK), implemented for Rust.
entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
RG3D - 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
habitat - Modern applications with built-in automation
rustrogueliketutorial - Roguelike Tutorial in Rust - using RLTK