{"id":13637130,"url":"https://github.com/ozkriff/awesome-quads","last_synced_at":"2025-04-12T23:32:55.642Z","repository":{"id":40693170,"uuid":"333936577","full_name":"ozkriff/awesome-quads","owner":"ozkriff","description":"▦⧉⊞□ A curated list of links to miniquad/macroquad-related code \u0026 resources","archived":false,"fork":false,"pushed_at":"2025-03-10T08:14:56.000Z","size":117,"stargazers_count":208,"open_issues_count":0,"forks_count":21,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-11T18:02:13.242Z","etag":null,"topics":["awesome-list","gamedev","opensource","rust"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ozkriff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-28T20:49:53.000Z","updated_at":"2025-04-06T12:11:54.000Z","dependencies_parsed_at":"2024-01-19T22:59:05.688Z","dependency_job_id":"ebf12236-511e-4eb0-a20e-1ae1a2ea4915","html_url":"https://github.com/ozkriff/awesome-quads","commit_stats":{"total_commits":123,"total_committers":16,"mean_commits":7.6875,"dds":0.1707317073170732,"last_synced_commit":"c2831ea84a6b07dc84f296d2eca3d2dfd1f2624a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozkriff%2Fawesome-quads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozkriff%2Fawesome-quads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozkriff%2Fawesome-quads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozkriff%2Fawesome-quads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozkriff","download_url":"https://codeload.github.com/ozkriff/awesome-quads/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647257,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome-list","gamedev","opensource","rust"],"created_at":"2024-08-02T00:01:11.035Z","updated_at":"2025-04-12T23:32:55.618Z","avatar_url":"https://github.com/ozkriff.png","language":null,"funding_links":["https://patreon.com/posts/73600033"],"categories":["Libraries","库 Libraries","Programming Language Lists"],"sub_categories":["Game development","游戏开发 Game development","Rust Lists"],"readme":"# Awesome Quads\n\nA curated list of links to miniquad/macroquad-related code \u0026 resources.\n\n## Game engines\n\n- [miniquad](https://github.com/not-fl3/miniquad) - main crate, engines below build on top of it. Supports WASM. Therefore everything build on top of it supports WASM too.\n- [macroquad](https://github.com/not-fl3/macroquad) - simple to use library from author of miniquad.\n- [good-web-game](https://github.com/not-fl3/good-web-game) - crate to easily port your [ggez](https://github.com/ggez/ggez) to WASM.\n- [emerald](https://github.com/Bombfuse/emerald) - game engine with physics, audio, graphics, ECS.\n- [rust-rpg-toolkit](https://github.com/olefasting/rust_rpg_toolkit) - a framework for creating customizable and user modifiable action RPG's, using Rust and/or JSON.\n- [omegaquad](https://github.com/gamma-delta/omegaquad) - hackable, opinionated layer on top of Macroquad for writing games\n\n## Games\n\n### Games: On top of macroquad\n\n- [Rusty Demon Attack](https://github.com/TanTanDev/rusty_demon_attack) - game inspired by the classic atari game: demon attack.\n- [Zemeroth](https://github.com/ozkriff/zemeroth) - turn-based hexagonal tactical game.\n- [Fish Game](https://github.com/heroiclabs/fishgame-macroquad) - online multiplayer game, created as a demonstration of [Nakama](https://heroiclabs.com/), an open-source scalable game server.\n- [Vollmond](https://puppetmaster.itch.io/vollmond) - small non violent adventure in the style of Zelda 2.\n- [rymd](https://profan.itch.io/rymd) - space shooter game prototype.\n- [Scream mr. Jack](https://kakoeimon.itch.io/scream-mr-jack) - ???.\n- [Power Kick](https://kakoeimon.itch.io/power-kick) - platformer fighting game.\n- [The Submariner](https://kettlecorn.itch.io/submariner) - a minimalist action game made for the LD48 Compo.\n- [Totally Relaxing Golf](https://r3s.itch.io/totally-relaxing-golf) - a very, VERY, relaxing golf game made for Brackeys Game Jam 2021.2.\n- [Planetoid](https://github.com/uggla/planetoid) - a toy project with a goal of creating a multiplayer asteroid game.\n- [cubedesu](https://github.com/stanleydesu/cubedesu) - Rubik's Cube simulator.\n- [Procedural Spider](https://darthdeus.itch.io/procedural-spider) - a game where you play a big spider chasing small spiders made for LD49.\n- [onitama_macroquad](https://github.com/Hydrazer/onitama_macroquad) - Onitama implementation.\n- [Excavation Site Alpha](https://github.com/gamma-delta/excavation-site-alpha) - build as far down into the earth as you can for LD48.\n- [CyberSub](https://github.com/andreivasiliu/cybersub) - a 2D submarine simulation prototype.\n- [Quoridor](https://github.com/baehyunsol/Quoridor-rs) - [Quoridor](https://en.wikipedia.org/wiki/Quoridor) implemented in Rust and Macroquad.\n- [Caveth](https://github.com/Dequog/caveth) - a game where you can shoot enemies with a cannon.\n- [Bunner Macroquad](https://github.com/ollej/rust-bunner-macroquad) - an implementation in Rust+Macroquad of the game Bunner from Code the Classics vol 1.\n- [rusty_life](https://github.com/LittleB0xes/rusty_life) - another Game Of Life made with Rust and Macroquad.\n- [stunning barnacle](https://github.com/LittleB0xes/stunning_barnacle) - a simulator of primitive artificial life using attraction/reuplsion forces between many particles.\n- [RecWars](https://github.com/martin-t/rec-wars) - a multiplayer top-down tank shooter playable in browser.\n- [Liminal Lab 000](https://pebaz.itch.io/liminal-lab-000) - a minimal game about solving puzzles by stepping on the floor buttons in the right sequence.\n- [R:Vust](https://sethmaddev.itch.io/rvust) - a side-scrolling shoot'em in a space setting.\n- [Missile Command](https://github.com/buraksenyurt/missile-command) - A simple missile command game clone from 80's Atari.\n- [Tigris and Euphrates](https://github.com/0b01/tigris-and-euphrates) - a Rust implementation of T\u0026E Board game.\n- [vustnexus](https://sethmaddev.itch.io/vustnexus) - defeat and Survive the infect of the Vust Swarm!\n- [Makiomino](https://store.steampowered.com/app/1177840) - Original tile-matching puzzle game based on mix of classical mechanics.\n- [Princess Robot](https://adambiltcliffe.github.io) - a 2D platformer.\n- [Trainwreck](https://whenyou77.itch.io/trainwreck) - switch levers to lead the trains onto the right track.\n- [The Beat Of Space](https://reddit.com/r/rust_gamedev/comments/11kcgcj/the_beat_of_space) - a space-themed rhythm game.\n- [Mage Rush](https://iinacho.itch.io/mage-rush) - a micro vampiresurvivors-like game made for LowRezJam'23.\n- [pong-macroquad-hecs](https://github.com/j0of/pong-macroquad-hecs) - a \"BLAZINGLY FAST\" Pong clone implemented using Macroquad and hecs.\n- [unnamed rogue-like by ProfAndreaPollini](https://github.com/ProfAndreaPollini/roguelike-rust-macroquad-noname) - a WIP rl done as part of \"RogueLikeDev Does the Complete Roguelike Tutorial\".\n- [Manahex](https://store.steampowered.com/app/2774650/Manahex) - a fantasy-themed card and board game for 2-4 players built with Macroquad and Rocket.\n- [Tombs of Mirituhg](https://wilgre.itch.io/tombs-of-mirituhg) - a simple roguelite done as part of Acerola Jam.\n- [Minesweeper](https://jumbledfox.github.io/minesweeper) - a cute Minesweeper game with a custom immediate-mode GUI.\n- [Celestial Garden](https://antonmakesgames.itch.io/celestial-garden) - a game about cultivating an asteroid belt..\n- [ChessIto](https://mewily.itch.io/chessito) - a small game based on Chess.\n- [Not Minesweeper](https://trolledwoods.itch.io/notminesweeper) - no mines, no danger, just numbers and tiles, and you.\n- [Crab's pipes](https://glepmifom.itch.io/crabs-pipes) - a game about crab exploring pipes to find diamonds.\n- [Duo Duo](https://cronno.itch.io/duo-duo) - an arcade style score attack game that tests your dexterity and coordination.\n- [JumbledFox's Breakout](https://jumbledfox.github.io/breakout) - a breakout game with custom levels and an editor.\n- [Lift](https://droog71.itch.io/lift) - a hovercraft racing game.\n- [quad_sokoban](https://github.com/puppysh43/quad_sokoban) - a sokoban game featuring a campaign and a level editor.\n- [Isometric Minecraft](https://github.com/bioastroiner/isometric_minecraft) - an isometric Minecraft-like prototype.\n- [Spooky Tower Attack](https://kzerot.itch.io/spooky-tower-attack) - a reverse tower defense game for GBJAM'12.\n- [Tokonoma](https://cancrizans.itch.io/tokonoma) - an abstract strategy board game for two players that is vaguely similar to chess/checkers/Hive.\n- [Ball in a Box](https://inzan17.itch.io/ball-in-a-box) - a desktop toy where you have a box with a ball inside it.\n- [Robomaid Rush](https://creamsicle42.itch.io/robomaid-rush) - a Warioware inspired microgame-em-up.\n- [Planets!](https://alakajam.com/21st-alakajam/1594/planets/) - a puzzle game about building stable planet systems.\n\n### Games: On top of miniquad\n\n- [Fermi Paradox](https://github.com/tversteeg/ld46) - arcanoid-like game with moving enemies in space.\n- [Crate Before Attack](https://cratebeforeattack.com) - 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.\n- [Soldank](https://github.com/smokku/soldank) - a remake of Soldat game.\n- [Fires of Eschaton](https://firesofeschaton.com/) - a PvP focused turn-based fantasy tactics game.\n- [Coric's Quest](https://tungtn.itch.io/corics-quest) - a small fantasy-themed console-style RPG.\n\n### Games: On top of good-web-game\n\n- [Dig Escape](https://github.com/TanTanDev/DigEscape) - simple puzzle game about digging.\n\n## Apps or visualizations\n\n### Apps or visualizations: On top of macroquad\n\n- [Portal Explorer](https://github.com/optozorax/portal) - web visualizator of mind-blowing portals.\n- [Rusty Aquarium](https://github.com/ollej/rusty-aquarium) - a monitoring visualization as an aquarium.\n- [Particles editor](https://github.com/not-fl3/particles-editor) for your games in macroquad.\n- [bema](https://github.com/yazgoo/bema) - slideshow DSL.\n- [Rusty Slider](https://github.com/ollej/rusty-slider) - markdown slideshow viewer.\n- [Sugarcubes](https://github.com/henryksloan/sugarcubes) - a tool for designing and testing automata.\n- [macroquad.purduehackers.com](https://macroquad.purduehackers.com) - a browser playground to help run workshops for a club.\n- [FDG](https://github.com/grantshandy/fdg) - a Force Directed Graph framework with a macroqad-based visualizator.\n- [Fish flocking simulation](https://github.com/eckyputrady/fish-flocking-simulation) - a 2D fish flocking simulation.\n- [adambiltcliffe/macroquad-jfa](https://github.com/adambiltcliffe/macroquad-jfa) - a PoC demonstration of using the jump flood algorithm to generate outlines around shapes on the GPU using only macroquad.\n- [Collision simulator](https://github.com/Markek1/Collision-Simulator) - simulating correct particle collisions and algorithms to detect them efficiently.\n- [Sugarcubes](https://github.com/henryksloan/sugarcubes) - a library and application for automata and formal languages, inspired by JFLAP.\n- [Lorenz Attractor](https://github.com/guydols/Lorenz_Attractor) - a Rust implementation and visualization of the [Lorenz Attractor](https://en.wikipedia.org/wiki/Lorenz_system).\n- [Interactive Particles](https://github.com/cppxor2arr/InteractiveParticles) - a playground to interact with particles.\n- [Flappy Bird AI](https://github.com/bones-ai/rust-flappy-bird-ai) - AI learns to play flappy bird using neuro-evolution.\n- [PID Controller Simualation](https://github.com/sparshg/pid-balancer) - a Proportional-Integral-Derivative controller simulation to balance a ball on cart.\n- [Escape](https://github.com/bones-ai/rust-escape-ai) - AI plays a small escape room game.\n- [Tarsila](https://github.com/yds12/tarsila) - pixelart and spritesheet editor.\n- [Particle Life](https://github.com/Markek1/particle-life) - a particle simulation inspired by Jeffrey Ventrella's Clusters.\n- [Fuzzy Drone Controller](https://github.com/sparshg/fuzzy-controller) - a controller that uses Mamdani Fuzzy inference system to control a drone, simulated using a physics engine.\n- [Shell Texturing Toy](https://github.com/gre-v-el/Shell-Texturing) - an interactive shell texturing demo.\n- [eportal](https://github.com/kul-sudo/eportal) - an evolution simulator.\n- [cacophony](https://github.com/subalterngames/cacophony) - a minimalist and ergonomic MIDI sequencer.\n- [Verlet Physics Playground](https://codeberg.org/polaris64/verlet-physics-playground-macroquad) - a Verlet physics playground demo.\n- [evolution-rs](https://github.com/kostareg/evolution-rs) - simulating the evolution of tiny neural networks.\n\n## Printed Books\n\n- [Game development in Rust with Macroquad](https://agical.se/buymq) - a printed version of the book \"Game Development in Rust with Macroquad\".\n\n## Docs\n\n- [Platformer book](https://not-fl3.github.io/platformer-book) - WIP book about creating your platformer game in macroquad.\n- [Making an online multiplayer game in Rust with Nakama](https://heroiclabs.com/blog/tutorials/rust-fishgame/) - tutorial about creating multiplayer platformer game in macroquad from scratch.\n- [Publish game on Android with Macroquad](https://macroquad.rs/articles/android/) - a tutorial about building a macroquad game for Android and uploading it to Google Play.\n- [Java interop with Miniquad on Android](https://macroquad.rs/articles/java).\n- [Game development in Rust with Macroquad](https://mq.agical.se/) - A book for beginners about creating a shoot 'em up game in Macroquad.\n\n## Publications\n\n- Audio: [Rust Gamedev Podcast 4: Interview with Fedor Logachev](https://rustgamedev.com/episodes/interview-with-fedor-logachev)\n- Video: [I learnt OpenGL in 7 days using Rust](https://youtube.com/watch?v=KEQIWqSq42k) by [@TanTanDev](https://github.com/TanTanDev/).\n- Video: [I made a game playable on Midi Controller](https://youtube.com/watch?v=Nog1qAY0eG0) by [@TanTanDev](https://github.com/TanTanDev).\n- Audio: [Rust Gamedev Podcast 7: Interview with Fish Fight](https://rustgamedev.com/episodes/interview-with-fish-fight)\n- Video: [Rust breakout game tutorial](https://youtube.com/watch?v=xQ9YTY7ZgsI) by [@TanTanDev](https://github.com/TanTanDev).\n- Blog post: [The story behind Rusty Aquarium](https://blog.agical.se/en/posts/the-story-behind-rusty-aquarium).\n- Tutorial: [Psycho Pong](http://littleboxesgames.fr/posts/psycho-pong-part-one/) by [@LittleB0xes](https://github.com/LittleB0xes).\n- Blog post: [Rust 2D Engine: Shipping games on Android](https://patreon.com/posts/73600033).\n- Tutorial: [Create a Clicker Game with Macroquad](https://dev.to/paper010/rust-create-a-clicker-game-with-macroquad-1820).\n- Tutorial: [Macroquad Game with ECS and Rapier physics](https://rodneylab.com/macroquad-rapier-ecs).\n\n## Example usage\n\n- [With naia](https://github.com/naia-lib/naia/tree/main/demos/macroquad) - a cross-platform (including Wasm!) networking engine built in Rust.\n- [With nakama](https://github.com/heroiclabs/fishgame-macroquad) - open-source scalable game server.\n- [JS interop](https://github.com/not-fl3/miniquad-js-interop-demo) as example for writing your own plugins.\n- [wasm-bindgen interop](https://github.com/smokku/gwg-bindgen) - good-web-game + [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) example\n- [\\*quad Android playground](https://github.com/not-fl3/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.\n- [miniquad_kaios_tests](https://github.com/birhburh/miniquad_kaios_tests) - example apps for miniquad to run on KaiOS.\n- [macroquad_quickstart](https://github.com/brettchalupa/macroquad_quickstart) - an opinionated template for buiding games in Rust with Macroquad, specfically focused on targeting the web and PC.\n\n## Tools\n\n- [cargo-webquad](https://github.com/not-fl3/cargo-webquad) - a little helper to run debug builds of miniquad/macroquad-based projects on web.\n\n## Libraries\n\n### Libraries: Integrations\n\n- [bevy_miniquad](https://github.com/smokku/bevy_miniquad) - [bevy](https://github.com/bevyengine/bevy) + miniquad.\n- [miniquad_text_rusttype](https://github.com/not-fl3/miniquad_text_rusttype) - [rusttype](https://github.com/redox-os/rusttype) in miniquad.\n- [egui-miniquad](https://github.com/not-fl3/egui-miniquad) - [egui](https://github.com/emilk/egui) in miniquad.\n- [egui-macroquad](https://github.com/optozorax/egui-macroquad) - [egui](https://github.com/emilk/egui) in macroquad.\n- [imgui-miniquad-render](https://github.com/not-fl3/imgui-miniquad-render) - [imgui-rs](https://github.com/imgui-rs/imgui-rs) in miniquad.\n- [femtovg](https://github.com/smokku/femtovg) - antialiased 2D vector drawing library (miniquad port).\n- [nonaquad](https://github.com/nokola/nonaquad) - vector anti-aliased graphics renderer.\n- [cvars-console-macroquad](https://github.com/martin-t/cvars) - in-game console for changing cvars at runtime.\n- [backer](https://github.com/ejjonny/backer/tree/main/examples/macroquad-example) - a 'plug \u0026 play' UI layout crate.\n- [macroquad_rapier_interface](https://github.com/Kenkron/macroquad_rapier_interface) - Rapier2D + macroquad.\n\n### Libraries: Plugins\n\nPlugin 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.\n\n- [sapp-jsutils](https://github.com/not-fl3/sapp-jsutils/) - to build plugins. If you want to send/receive string or arbitrary object to JS, you should look at this.\n- [quad-snd](https://github.com/not-fl3/quad-snd) - to play sound.\n- [quad-net](https://github.com/not-fl3/quad-net) - to use network.\n- [quad-url](https://github.com/optozorax/quad-url) - to change current url, search parameters, and open links.\n- [quad-storage](https://github.com/optozorax/quad-storage) - to save data in persistent storage using Web Storage API.\n- [gamepads](https://github.com/fornwall/gamepads) - to access gamepads.\n\n### Libraries: Other\n\n- [gesture-recognizer](https://github.com/optozorax/gesture-recognizer) - library for recognizing simple touch gestures.\n- [sapp-console-log](https://github.com/canadaduane/sapp-console-log) - [log-rs](https://github.com/rust-lang/log) compatible logging for sapp-wasm.\n- [quad-rand](https://github.com/not-fl3/quad-rand) - wasm-friendly random number generator for quads.\n- [circle2d](https://github.com/koalefant/circle2d) - little physics library with only circles, used in [Crate Before Attack](https://cratebeforeattack.com).\n- [sparticles-rs](https://github.com/Norlock/sparticles-rs) - library for making particle systems.\n- [quad-gif](https://github.com/ollej/quad-gif) - library for displaying looping GIF animations.\n- [graplot](https://github.com/elftausend/graplot) - an experimental plotting library.\n- [quad-svg](https://github.com/macnelly/quad-svg) - renders svg to macroquad's Texture2D using [resvg](https://lib.rs/resvg).\n- [nanoshredder](https://github.com/not-fl3/nanoshredder) - an experimental fork of makepad's shader-compiler that compiles rust-like DSL into GLSL, Metal, and HLSL.\n- [macroquad_aspect](https://github.com/TheEmeraldBee/macroquad_aspect) - an aspect ratio forcer for macroquad.\n- [navni](https://github.com/rsaarelm/navni) - a textmode/pixel graphics display library.\n- [vviz](https://github.com/strasdat/vviz) - a rapid prototyping GUI and visual printf-style debugging for computer vision development.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozkriff%2Fawesome-quads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozkriff%2Fawesome-quads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozkriff%2Fawesome-quads/lists"}