Awesome Quads
A curated list of links to miniquad/macroquad-related code & resources.
Game engines
miniquad
- main crate, engines below build on top of it. Supports WASM. Therefore everything build on top of it supports WASM too.macroquad
- simple to use library from author ofminiquad
.good-web-game
- crate to easily port your ggez to WASM.emerald
- game engine with physics, audio, graphics, ECS.rust-rpg-toolkit
- a framework for creating customizable and user modifiable action RPG's, using Rust and/or JSON.omegaquad
- hackable, opinionated layer on top of Macroquad for writing games
Games
macroquad
On top of - Rusty Demon Attack - game inspired by the classic atari game: demon attack.
- Zemeroth - turn-based hexagonal tactical game.
- Fish Game - online multiplayer game, created as a demonstration of Nakama, an open-source scalable game server.
- Fish Fight - a continuation of Fish Game that is developed as an open source project but aims for commercial release across multiple platforms
- Vollmond - small non violent adventure in the style of Zelda 2.
- rymd - space shooter game prototype.
- Scream mr. Jack - ???.
- Power Kick - platformer fighting game.
- The Submariner - a minimalist action game made for the LD48 Compo.
- Totally Relaxing Golf - a very, VERY, relaxing golf game made for Brackeys Game Jam 2021.2.
- Planetoid - a toy project with a goal of creating a multiplayer asteroid game.
- cubedesu - Rubik's Cube simulator.
- Procedural Spider - a game where you play a big spider chasing small spiders made for LD49.
- onitama_macroquad - Onitama implementation.
- Excavation Site Alpha - build as far down into the earth as you can for LD48.
- CyberSub - a 2D submarine simulation prototype.
miniquad
On top of - Fermi Paradox - arcanoid-like game with moving enemies in space.
- Crate Before Attack - worms-like multiplayer game where frogs combat their friends while navigating a landscape with their sticky tongue. It is a hybrid of a realtime and turn-based game.
- Soldank - a remake of Soldat game.
- Fires of Eschaton - a PvP focused turn-based fantasy tactics game.
good-web-game
On top of - Dig Escape - simple puzzle game about digging.
Apps or visualizations
macroquad
On top of - Portal Explorer - web visualizator of mind-blowing portals.
- Rusty Aquarium - a monitoring visualization as an aquarium.
- Particles editor for your games in
macroquad
. - bema - slideshow DSL.
- Rusty Slider - markdown slideshow viewer.
- Sugarcubes - a tool for designing and testing automata.
Docs
- Platformer book - WIP book about creating your platformer game in
macroquad
. - Making an online multiplayer game in Rust with Nakama - tutorial about creating multiplayer platformer game in
macroquad
from scratch. - Publish game on Android with Macroquad - a tutorial about building a macroquad game for Android and uploading it to Google Play.
Publications
- Audio: Rust Gamedev Podcast 4: Interview with Fedor Logachev
- Video: I learnt OpenGL in 7 days using Rust by @TanTanDev.
- Video: I made a game playable on Midi Controller by @TanTanDev.
- Audio: Rust Gamedev Podcast 7: Interview with Fish Fight
Example usage
- With naia - a cross-platform (including Wasm!) networking engine built in Rust.
- With nakama - open-source scalable game server.
- JS interop as example for writing your own plugins.
- wasm-bindgen interop -
good-web-game
+wasm-bindgen
example
Libraries
Integrations
bevy_miniquad
-bevy
+miniquad
.miniquad_text_rusttype
-rusttype
inminiquad
.egui-miniquad
-egui
inminiquad
.egui-macroquad
-egui
inmacroquad
.imgui-miniquad-render
-imgui-rs
inminiquad
.femtovg
- antialiased 2D vector drawing library (miniquad port).nonaquad
- vector anti-aliased graphics renderer.
Plugins
Plugin has additional .js
file, so to use it, you need to do extra work. Before deploying of your project on WASM, you could look at your dependencies using cargo tree
and if you find these crates, add .js
file from them.
sapp-jsutils
- to build plugins. If you want to send/receive string or arbitrary object to JS, you should look at this.quad-snd
- to play sound.quad-net
- to use network.quad-url
- to change current url, search parameters, and open links.quad-storage
- to save data in persistent storage using Web Storage API.
Other
gesture-recogrizer
- library for recognizing simple touch gestures.sapp-console-log
-log-rs
compatible logging for sapp-wasm.quad-rand
- wasm-friendly random number generator for quads.circle2d
- little physics library with only circles, used in Crate Before Attack.sparticles-rs
- library for making particle systems.