piston
gdnative
Our great sponsors
piston | gdnative | |
---|---|---|
11 | 93 | |
4,545 | 3,560 | |
0.4% | 0.4% | |
4.9 | 6.4 | |
5 months ago | 14 days ago | |
Rust | Rust | |
MIT License | 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.
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
gdnative
- Can someone explain how exactly are multiple languages supported in a single game engine
- Will rust ever become a first class citizen in Godot?
-
Non web-based crossplatform GUI frameworks focused on security
It's a little less standard use, but Godot has been used to build application guis, which could be paired with rust bindings to implement app logic. I can't speak to reproducibility/scalability, but Godot's ui is extremely solid, and I'd probably choose that over Bevy until Bevy's ui progress matures.
-
What is Rust's potential in game development?
Adding onto this, I successfully written a game in Godot using gdnative / gdext. I started with a split approach using gdscript and rust for CPU intensive but found that the API layer was slow at transferring large amounts of data (serialization?). I ended up rewriting it in all rust and it worked like a charm. I was able to target native and web assembly, the web assembly was much slower but worked on the browser.
-
Why is it so difficult to learn to use Bevy?
Check this: https://github.com/tomuxmon/bevy_roguelike if you are still into bevy. Scheduling is a bit bork and I have not found time to port it to latest bevy. But most of the systems should work fine(if used on latest bevy). But again. If you want faster result go with something like Godot. In fact, just go with Godot. It is mature, easy to start, no lock in(free and MIT license), a lot of learning material. Also with Godot you can also use Rust https://godot-rust.github.io/. Ditch Unity (do not have time to explain 😅). Have fun!
-
GDScript is fine
Bevy Godot-Rust
-
Rust – Are We Game Yet?
> Same for Godot.
While likely true that it's "Unlikely to ever be as supported" as the 4 officially supported languages[0] ("GDScript, C#, and, via its GDExtension technology, C and C++."), Godot's GDExtension technology is specifically intended for use in adding support for other languages.
The most relevant tracking issue for Rust is presumably:
* <https://github.com/godot-rust/gdnative/issues/824>
Which links to:
* <https://github.com/godot-rust/gdextension>
[0] https://docs.godotengine.org/en/4.0/getting_started/step_by_...
-
OK so whose gonna tell them
...Godot v3.x has Rust support via godot-rust and Godot v4.0 is released as of this month?
-
Godot 4.0 is out
I was curious, and looked it up. Nothing built in, but there's an interesting project that works with godot: https://godot-rust.github.io/
-
There's the Rust Player still going wrong subreddit?
There's people working on it: https://godot-rust.github.io/
What are some alternatives?
bevy - A refreshingly simple data-driven game engine built in Rust
ggez - Rust library to create a Good Game Easily
Godot - Godot Engine – Multi-platform 2D and 3D game engine
Amethyst - Data-oriented and data-driven game engine written in Rust
RG3D - 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
rust-sdl2 - SDL2 bindings for Rust
macroquad - Cross-platform game engine in Rust.
wgpu - Cross-platform, safe, pure-rust graphics api.
veloren - An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World. This repository is a mirror. Please submit all PRs and issues on our GitLab page.