piston
A modular game engine written in Rust (by PistonDevelopers)
specs
Specs - Parallel ECS (by amethyst)
Our great sponsors
piston | specs | |
---|---|---|
11 | 13 | |
4,545 | 2,402 | |
0.4% | 1.1% | |
4.9 | 7.2 | |
5 months ago | 3 months ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
piston
Posts with mentions or reviews of piston.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-15.
-
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
specs
Posts with mentions or reviews of specs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-02.
-
Why ECS pattern is popular in Rust?
The question arises from seeing a plethora of projects using ECS: hecs , Bevy , specs, legion
-
Want to learn how to make games with Rust and the Bevy game engine? Now is a great time to jump in with the recently released Bevy version 0.10. I created a Bevy 0.10 beginner tutorial video series for those looking to learn and join our game dev community!
Instead, I'm using now the specs Library. It's a pure ECS library and much less powerful, without any visualization capabilities, but its works for me :)
-
Is implementing an ECS in rust a bad idea for a beginner project?
writing an ECS is defined a challenging project, no matter the language or if you're a beginner. although it is entirely possible to write one in Rust, check out specs and bevy_ecs for examples.
-
Ecs fundamentally at odds with borrow checker.
specs
- Goggles - A specs-derived DIY library for doing ECS
-
Veloren is releasing 0.13!
The official 3d rendering client uses a custom engine called Voxygen. They use Specs for logic.
-
How are rust devs doing?
Rust has a delightful ECS library, specs, that I absolutely love. It has safe multi-threaded execution built right in, which is fantastic for the pretty parallelizable work I was doing. Concurrency in C++ is nasty business on the best of days, and I've run into so many nasty bugs with the custom system I've had to build out to fit the web's weird threading model.
-
Programming a Rogue-Like with Rust
Man, this Specs [0] library is so strange to me, coming from a Unity background. Is there some sort of comparison as to why one way is better than the other?
[0] https://specs.amethyst.rs/
-
Bellclone: a simple 2D game about jumping
Hi everyone - I just picked up one of my long-unfinished side project built with Rust and would like to show it to you here. It's a clone of the famous(?) Winterbells game. It's written entirely in Rust and uses OpenGL and an entity-component-system architecture ([the `specs` crate](https://crates.io/crates/specs)) (still learning), no game engine.
-
There are a *lot* of actor framework projects on Cargo.
Wait did the person at your company write specs or something else because they weren't pleased with it? I don't know much about amethyst and vaguely know about entity component systems but I watched a talk on someone making a game with amethyst and was pretty impressed -- it looked thoroughly approachable and I do not doubt the performance is there (since the whole reason you do ECS is performance).
What are some alternatives?
When comparing piston and specs you can also consider the following projects:
bevy - A refreshingly simple data-driven game engine built in Rust
ggez - Rust library to create a Good Game Easily
Amethyst - Data-oriented and data-driven game engine written in Rust
rust-sdl2 - SDL2 bindings for Rust
Crayon - A small, portable and extensible game framework written in Rust.
macroquad - Cross-platform game engine in Rust.
RG3D - 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more