bevy
piston
bevy | piston | |
---|---|---|
594 | 11 | |
39,070 | 4,664 | |
2.5% | 0.2% | |
10.0 | 4.8 | |
4 days ago | 11 months ago | |
Rust | Rust | |
MIT OR Apache-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.
bevy
-
Retro Boy: simple Game Boy emulator written in Rust, can be played on the web
> I hear a few problems with the audio emulation, (mostly clicks that shouldn't be there)
Almost anything WASM+Audio seems to do that in browsers today, unless you're really really careful about what you're doing and leverage multiple threads. I think the issue is mostly around single-thread contexts, where it has to switch between playing audio and other things.
I hit the very same issue myself with Bevy not too long time ago, and tracking this issue which has some further links if you wanna go down a rabbit-hole: https://github.com/bevyengine/bevy/issues/4078
- The "No Clear Winner" Era of Federated Microblogging
-
Show HN: Rust Vector and Quaternion Lib
bevy_math also uses glam, re-exported in the prelude: https://github.com/bevyengine/bevy/blob/cc69fdd0c63ea79fda4f...
-
Exploring Rust: A Rubyist's Perspective
Since my project is built with Bevy, understanding its core concepts was very important. Bevy's entity-component-system (ECS) architecture makes game development modular and efficient, allowing for highly decoupled systems.
-
Three-nanite: Unreal Nanite in Three.js
Not a very impressive example yet, it's mainly there for our CI system[1] to ensure that no one accidentally breaks the meshlet feature, but there is an example you can run to get a basic idea of the feature.
You can download Bevy https://github.com/bevyengine/bevy, and run `cargo run --release --examples meshlet --features meshlet`. After it compiles you'll get prompted to download a bunny.meshlet_mesh file. Click the link to download and create and place it in the appropriate folder, and then run the example again.
There's also this video from the Bevy 0.14 release notes demonstrating it, but performance/quality has improved a _lot_ since then: https://bevyengine.org/news/bevy-0-14/many_bunnies.mp4
[1]: https://thebevyflock.github.io/bevy-example-runner
- Zig; what I think after months of using it
-
DeepSeek: X2 Speed for WASM with SIMD
Here, give it a shot - I'm at work so I can't try again right now, but last I did was use claude+context, chatGPT 4o with just chatting, Copilot in Neovim, and Aider w/ claude + uploading all the files as context.
I even went so far as to grab relevant examples from https://github.com/bevyengine/bevy/tree/latest/examples#exam... , adding relevant ones as I saw fit.
It took a long time to get anything that would compile, way longer than just reading + doing, and it was eventually wrong anyway. This is a recurring issue with Rust, and I'd love a workaround since I spend 60+h/week writing it. Probably a skill issue.
https://gist.github.com/jodavaho/8fb042fab33c1aaa95cd67144da...
- Drag and Drop Images into Bevy 0.15 on the web
-
The Color of Noise – The Witness (2014)
I was looking through the source code for Bevy's Screen-Space-Ambient-Occlusion (SSAO) implementation and noticed they are using blue noise as well:
https://github.com/bevyengine/bevy/blob/56d559102858d4ce8a5b...
That link takes you to this shadertoy:
https://www.shadertoy.com/view/3tB3z3
-
Bevy 0.15 released
Ah yeah pipeline compilation is a very non-trivial problem[1]. Unreal is also struggling with this a lot. I hear you that it's an issue.
The Bevy issue you want to follow is https://github.com/bevyengine/bevy/issues/10871.
[1]: https://therealmjp.github.io/posts/shader-permutations-part1 + https://therealmjp.github.io/posts/shader-permutations-part2
piston
-
placing pixels
Well, it depends on how you use it; writing to an image buffer isn't much less efficient than writing to any normal buffer (in fact, although displaying your scene to a window efficiently is important, your main bottleneck will be the actual ray tracing loop). You may want to read this article for a practical example of using an ImageBuffer to create and draw a texture with Piston. Other window backends you could use, apart from pixels which was already mentioned in another comment, include minifb and Mini GL, though I haven't personally used them.
-
Ways to create game engines
And I really like generic systems where you can create a lot of different things. A program that interested me is Piston (https://github.com/PistonDevelopers/piston), I haven't researched it in depth yet, but the concept of being able to create several things with a base and different modules is very interesting
-
Really frustrated. [Warning: Bit of a negative rant]
Try Piston
-
What would be best for a 2D only game? Piston, Bevy, or Fyrox?
I haven't seen too much on Piston. No idea how active or recent these projects are but I'm still interested in working with it.
-
I made my first GL project using Piston.
Check out their homepage, https://piston.rs, they even show off some great examples of how their library has been used!
-
Emulating the Sega Genesis - Part II
Before I could implement the display output, I needed something to draw the images onto. There are quite a few Rust crates available to create a GUI window and update it with 2D graphics. Most of these are of course intended for making games, and also include ways of getting key presses as input, which I'll also need. I looked at Piston, which I've used before on other projects, Macroquad, which also supports web assembly as well as desktop targets, Pixels, which is intended specifically for 2D games, and Minifb, which is also specifically for 2D applications, but is much simpler. I also tried out libretro, which is specifically made for video game emulation, but I found it much more restrictive than the others because of it's narrow focus.
- Piston.rs: un motor de creación de juegos hecho en Rust
-
I'm a "low-level, terminal-only" kind of developer, completely new to the game dev world. I've been working on a 2D platformer in my spare time. Can you explain to me what I'm missing out on, by not using a "game engine"?
Depends on my goals. I year ago I wanted to learn rust, so I used piston for a gamejam. (There are several rust engines including bevy, piston, amethyst. They probably vary in quality, features, and constraints.) Piston was a terrible experience because compilation is slow even on that tiny project.
- Question about rust graphics libraries
-
Rust Game Engines (again)
Piston
What are some alternatives?
Amethyst - Data-oriented and data-driven game engine written in Rust
ggez - Rust library to create a Good Game Easily
Godot - Godot Engine – Multi-platform 2D and 3D game engine
rust-sdl2 - SDL2 bindings for Rust
specs - Specs - Parallel ECS