froggy
bracket-lib
Our great sponsors
froggy | bracket-lib | |
---|---|---|
5 | 27 | |
300 | 1,447 | |
- | 1.5% | |
3.2 | 0.0 | |
over 3 years ago | 2 months ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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
bracket-lib
-
Does anyone care about CLI/TUI games?
I think having to use a terminal is the scary part for many people. rltk/bracket-lib can be used to get a similar look and feel if that's what's important, but it is geared toward roguelikes.
-
Minimal 2D library for games? I'm struggling a bit to settle on one to learn.
Maybe bracket-lib from the amethyst authors? Iām currently working through that book and find the library quite intuitive and simple to use. It started out as a toolkit for rouge-like games but has been getting more general. On that note, I recommend the hands-on-rust book which teaches rust concepts while building games with bracket-lib. As you have read the book, Iām sure you would get through the first chapters quickly.
-
Bevy ECS or custom implementation?
https://github.com/amethyst/bracket-lib has a great integration with Bevy, designed for exactly this sort of thing.
- Turn-based game - architecture feedback/opinons
- libtcod use 8x8 font but scaled up to 16x16?
-
How difficult could it be to make a console program that looks like this and has a game loop running on a separate thread? Any suggestions or crate recommendations are welcome!
I've been doing some experiments with terminal based games and landed on https://github.com/amethyst/bracket-lib It's not exactly terminal based in the sense that it actually runs on OpenGL by default. But that's a plus imho because dealing with the bits of the terminal window that can change outside of your control (like fonts, window resize, etc) is a giant pita. It does let you swap the backend to run on crossterm if that's what you really want to do but if what you're after is the aesthetic like I am having bracket_lib handling all that makes life so much better.
- Rendering TUI To Web
-
Sharing Saturday #420
Bracket-Lib for Bevy Github
-
Sharing Saturday #418
Bracket-Terminal/RLTK for Bevy Github Branch | Twitter | Patreon
-
Sharing Saturday #416
bracket-lib šš» (using this now)
What are some alternatives?
rapier - 2D and 3D physics engines focused on performance.
bevy - A refreshingly simple data-driven game engine built in Rust
Hazel - Hazel Engine
Amethyst - Data-oriented and data-driven game engine written in Rust
entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
VTerminal - A new Look-and-Feel (LaF) for Java, which allows for a grid-based display of Unicode characters with custom fore/background colors, font sizes, and pseudo-shaders. Originally designed for developing Roguelike/lite games.
StationIapetus - 3rd person shooter in the very early development phase
libtcod - A collection of tools and algorithms for developing traditional roguelikes. Such as field-of-view, pathfinding, and a tile-based terminal emulator.
habitat - Modern applications with built-in automation
python-tcod - A high-performance Python port of libtcod. Includes the libtcodpy module for backwards compatibility with older projects.
RG3D - 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
bevy_webgl2 - WebGL2 renderer plugin for Bevy game engine