Awesome
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 of miniquad.
- 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
Games: On top of macroquad
- 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.
- 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.
- Quoridor - Quoridor implemented in Rust and Macroquad.
- Caveth - a game where you can shoot enemies with a cannon.
- Bunner Macroquad - an implementation in Rust+Macroquad of the game Bunner from Code the Classics vol 1.
- rusty_life - another Game Of Life made with Rust and Macroquad.
- stunning barnacle - a simulator of primitive artificial life using attraction/reuplsion forces between many particles.
- RecWars - a multiplayer top-down tank shooter playable in browser.
- Liminal Lab 000 - a minimal game about solving puzzles by stepping on the floor buttons in the right sequence.
- R:Vust - a side-scrolling shoot'em in a space setting.
- Missile Command - A simple missile command game clone from 80's Atari.
- Tigris and Euphrates - a Rust implementation of T&E Board game.
- vustnexus - defeat and Survive the infect of the Vust Swarm!
- Makiomino - Original tile-matching puzzle game based on mix of classical mechanics.
- Princess Robot - a 2D platformer.
- Trainwreck - switch levers to lead the trains onto the right track.
- The Beat Of Space - a space-themed rhythm game.
- Mage Rush - a micro vampiresurvivors-like game made for LowRezJam'23.
- pong-macroquad-hecs - a "BLAZINGLY FAST" Pong clone implemented using Macroquad and hecs.
- unnamed rogue-like by ProfAndreaPollini - a WIP rl done as part of "RogueLikeDev Does the Complete Roguelike Tutorial".
- Manahex - a fantasy-themed card and board game for 2-4 players built with Macroquad and Rocket.
- Tombs of Mirituhg - a simple roguelite done as part of Acerola Jam.
- Minesweeper - a cute Minesweeper game with a custom immediate-mode GUI.
- Celestial Garden - a game about cultivating an asteroid belt..
- ChessIto - a small game based on Chess.
- Not Minesweeper - no mines, no danger, just numbers and tiles, and you.
- Crab's pipes - a game about crab exploring pipes to find diamonds.
- Duo Duo - an arcade style score attack game that tests your dexterity and coordination.
- JumbledFox's Breakout - a breakout game with custom levels and an editor.
- Lift - a hovercraft racing game.
- quad_sokoban - a sokoban game featuring a campaign and a level editor.
- Isometric Minecraft - an isometric Minecraft-like prototype.
- Spooky Tower Attack - a reverse tower defense game for GBJAM'12.
Games: On top of miniquad
- 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.
- Coric's Quest - a small fantasy-themed console-style RPG.
Games: On top of good-web-game
- Dig Escape - simple puzzle game about digging.
Apps or visualizations
Apps or visualizations: On top of macroquad
- 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.
- macroquad.purduehackers.com - a browser playground to help run workshops for a club.
- FDG - a Force Directed Graph framework with a macroqad-based visualizator.
- Fish flocking simulation - a 2D fish flocking simulation.
- adambiltcliffe/macroquad-jfa - a PoC demonstration of using the jump flood algorithm to generate outlines around shapes on the GPU using only macroquad.
- Collision simulator - simulating correct particle collisions and algorithms to detect them efficiently.
- Sugarcubes - a library and application for automata and formal languages, inspired by JFLAP.
- Lorenz Attractor - a Rust implementation and visualization of the Lorenz Attractor.
- Interactive Particles - a playground to interact with particles.
- Flappy Bird AI - AI learns to play flappy bird using neuro-evolution.
- PID Controller Simualation - a Proportional-Integral-Derivative controller simulation to balance a ball on cart.
- Escape - AI plays a small escape room game.
- Tarsila - pixelart and spritesheet editor.
- Particle Life - a particle simulation inspired by Jeffrey Ventrella's Clusters.
- Fuzzy Drone Controller - a controller that uses Mamdani Fuzzy inference system to control a drone, simulated using a physics engine.
- Shell Texturing Toy - an interactive shell texturing demo.
- eportal - an evolution simulator.
- cacophony - a minimalist and ergonomic MIDI sequencer.
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.
- Java interop with Miniquad on Android.
- Game development in Rust with Macroquad - A book for beginners about creating a shoot 'em up game in Macroquad.
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
- Video: Rust breakout game tutorial by @TanTanDev.
- Blog post: The story behind Rusty Aquarium.
- Tutorial: Psycho Pong by @LittleB0xes.
- Blog post: Rust 2D Engine: Shipping games on Android.
- Tutorial: Create a Clicker Game with Macroquad.
- Tutorial: Macroquad Game with ECS and Rapier physics.
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
- *quad Android playground - a collection of Android shenanigans as one single app. Useful to test *quads compatibility with a given android phone and do regression testing on anything related to Android.
- miniquad_kaios_tests - example apps for miniquad to run on KaiOS.
- macroquad_quickstart - an opinionated template for buiding games in Rust with Macroquad, specfically focused on targeting the web and PC.
Tools
- cargo-webquad - a little helper to run debug builds of miniquad/macroquad-based projects on web.
Libraries
Libraries: Integrations
- bevy_miniquad - bevy + miniquad.
- miniquad_text_rusttype - rusttype in miniquad.
- egui-miniquad - egui in miniquad.
- egui-macroquad - egui in macroquad.
- imgui-miniquad-render - imgui-rs in miniquad.
- femtovg - antialiased 2D vector drawing library (miniquad port).
- nonaquad - vector anti-aliased graphics renderer.
- cvars-console-macroquad - in-game console for changing cvars at runtime.
- backer - a 'plug & play' UI layout crate.
Libraries: 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.
- gamepads - to access gamepads.
Libraries: Other
- gesture-recognizer - 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.
- quad-gif - library for displaying looping GIF animations.
- graplot - an experimental plotting library.
- quad-svg - renders svg to macroquad's Texture2D using resvg.
- nanoshredder - an experimental fork of makepad's shader-compiler that compiles rust-like DSL into GLSL, Metal, and HLSL.
- macroquad_aspect - an aspect ratio forcer for macroquad.
- navni - a textmode/pixel graphics display library.
- vviz - a rapid prototyping GUI and visual printf-style debugging for computer vision development.