macroquad
Cross-platform game engine in Rust. (by not-fl3)
raylib
A simple and easy-to-use library to enjoy videogames programming (by raysan5)
macroquad | raylib | |
---|---|---|
56 | 410 | |
3,629 | 25,408 | |
2.9% | 3.5% | |
8.8 | 9.8 | |
10 days ago | 6 days ago | |
Rust | C | |
Apache License 2.0 | zlib License |
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.
macroquad
Posts with mentions or reviews of macroquad.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-02-14.
-
Deploying your Rust WASM Game to Web with Shuttle & Axum
See the macroquad docs for full details on building a WASM game.
- Not only Unity...
- Macroquad: Cross-platform game engine in Rust
-
What would you recommend for simple 2D game (in The Binding of Isaac style)?
Any opinion on ggez? I don't like how everything in macroquad is global state https://github.com/not-fl3/macroquad/issues/333
-
Help with egui basics?
I prefer examples like the ones in Macroquad: https://github.com/not-fl3/macroquad/tree/master/examples. I'm not against advanced examples, but the priority should be extremely clear, minimal, self contained ones.
-
HELP: Unique ID's starting at 0 for each Type, advancing by one.
There were even discussions about deprecating static mut. Even if you think you got it right, there are too many things that might go wrong, like aliasing. For example, macroquad needs a complete rewrite because of their static mut.
-
Learning project - board game Yinsh using macroquad
It's based on macroquad and you can play the wasm version here: https://unvirtual.github.io/yinsh-rs/
-
I love rust, I have a pet peeve with the community
The reality is that I have used unsafe that is also unsound out of convenience because fixing it is a papercut too many. And this tends to be common! I know enough to spot unsoundness in other projects (sometimes even early). But not enough to be confident in my own abilities to write sound unsafe code. Why? Because it's really flipping hard, that's why!
-
Limitations of wasm for a small board game?
Given that you are making a game, you might want to consider using a game framework such as https://github.com/not-fl3/macroquad/.Macroquad has full support for WASM, and will allow you to render your game both locally and in the browser via WASM depending on how you compile it.
raylib
Posts with mentions or reviews of raylib.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-02-05.
-
GNU Make Standard Library
I don’t have a review, but here’s a significant project using it in a complicated cross platform build with different systems dependencies: https://github.com/raysan5/raylib/blob/master/build.zig
They also have a cmakelists.txt to compare against.
One of the nicer things is that if you’re working with less technical folks, they only need to download the zig binary because it bundles the entire toolchain.
-
Bag: A header-only, simplistic, C++20, zipping & unzipping library.
As I play around with raylib, the small, easy, and exceptionally cool game library, I met a small issue. There is no elegant way of packing files together. When I use a texture or audio, or any external resources, I either need to convert it into a C++ header that declares a byte array filled with that resource, or making sure the the user having the resource at the particular place. The first approach is no good when comes to loading new resource after compilation, while the latter approach is kind of awkward and too easy to break.
-
Procedural Generation and Noise
For this most recent assignment we were tasked with contributing a larger feature to an open source project. During my time with the previous assignment I worked on a game engine called Litecanvas, inspired engine by libraries like raylib and p5.js/Processing.
- Raylib v5.5
- My First Game with Carimbo, My Homemade Engine
- Show HN: Particle/liquid attraction simulator with raylib C++
-
The Failures Of API Design
Let's take a look at another API. Raylib. Now Raylib does a little bit more than just load images. Raylib is more of a game framework than a single-purpose library. It will create a window, handle input, load images, render pixels, handle loading and rendering fonts, and so on. Even though Raylib does multiple things, it doesn't go overboard. It tries to be simple yet robust. There's a clear vision for the library. They didn't try to force a GUI editor into the API or an alternative string type. It had one goal and that is to become a game framework. What happens when Raylib has added all the features it needs to add? Well, call it feature-complete and just move on. There's no need to bloat an API for no reason other than you "felt like it".
-
One must imagine Sisyphus writing a new JS framework
Don't like having to use gigantic game engines to make games? Here's a whole suite of beautifully simple libraries with bindings for a lot of languages: raylib
-
Exploring Raylib and Open Source
Do like playing video games? I know I do; in fact, I enjoy it so much that I learned how to make video games. So, for a recent course I’m taking in school for open-source development I decided to focus on Raylib. Raylib describes itself as “a simple and easy-to-use library to enjoy videogames programming.” Written in pure c with bindings for almost any other programming language such as c++, Rust, and Python. It is a flexible tool which can work in almost any environment.
- SDL3 new GPU API merged
What are some alternatives?
When comparing macroquad and raylib you can also consider the following projects:
miniquad - Cross platform rendering in Rust
sokol - minimal cross-platform standalone C headers
ggez - Rust library to create a Good Game Easily
SDL - Simple Directmedia Layer
bevy - A refreshingly simple data-driven game engine built in Rust
SFML - Simple and Fast Multimedia Library