finds.dev← search

// the find

not-fl3/macroquad

★ 4,495 · Rust · Apache-2.0 · updated Jun 2026

Cross-platform game engine in Rust.

macroquad is a raylib-inspired 2D/3D game library for Rust that targets Windows, macOS, Linux, WASM, Android, and iOS from a single codebase. It deliberately keeps things simple: immediate-mode drawing API, built-in UI, and a minimal dependency tree. Aimed at hobbyists and game jam developers who want to ship something fast without fighting Bevy's ECS.

Fast compile times are real — 16s from clean on aging hardware is a genuine differentiator versus Bevy's multi-minute cold builds. The async/await trick for the main loop is clever; it solves the WASM blocking problem without pulling in an executor runtime. Cross-platform deploy via single cargo command for WASM and Android removes a lot of toolchain pain. The examples directory is thorough — arkanoid, asteroids, platformer, snake, first-person 3D, particles — actual runnable games, not just hello-world shapes.

The 'experimental' module sitting at the same import level as stable API is a red flag — coroutines, scene graph, and animation have lived there for years with no graduation path, so you're building on shifting ground. 3D support exists but is clearly a second-class citizen; no PBR, no scene hierarchy, no skeletal animation. The built-in UI is immediate-mode and functional but nowhere near production quality — don't plan a complex UI on top of it. WASM still requires hosting your own JS bundle from a GitHub Pages URL in the README, which is a supply-chain concern for anything you'd actually ship.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →