Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/ozkriff/awesome-quads

▦⧉⊞□ A curated list of links to miniquad/macroquad-related code & resources
https://github.com/ozkriff/awesome-quads

List: awesome-quads

awesome-list gamedev opensource rust

Last synced: 24 days ago
JSON representation

▦⧉⊞□ A curated list of links to miniquad/macroquad-related code & resources

Lists

README

        

# Awesome Quads

A curated list of links to miniquad/macroquad-related code & resources.

## Game engines

- [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.
- [macroquad](https://github.com/not-fl3/macroquad) - simple to use library from author of miniquad.
- [good-web-game](https://github.com/not-fl3/good-web-game) - crate to easily port your [ggez](https://github.com/ggez/ggez) to WASM.
- [emerald](https://github.com/Bombfuse/emerald) - game engine with physics, audio, graphics, ECS.
- [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.
- [omegaquad](https://github.com/gamma-delta/omegaquad) - hackable, opinionated layer on top of Macroquad for writing games

## Games

### Games: On top of macroquad

- [Rusty Demon Attack](https://github.com/TanTanDev/rusty_demon_attack) - game inspired by the classic atari game: demon attack.
- [Zemeroth](https://github.com/ozkriff/zemeroth) - turn-based hexagonal tactical game.
- [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.
- [Vollmond](https://puppetmaster.itch.io/vollmond) - small non violent adventure in the style of Zelda 2.
- [rymd](https://profan.itch.io/rymd) - space shooter game prototype.
- [Scream mr. Jack](https://kakoeimon.itch.io/scream-mr-jack) - ???.
- [Power Kick](https://kakoeimon.itch.io/power-kick) - platformer fighting game.
- [The Submariner](https://kettlecorn.itch.io/submariner) - a minimalist action game made for the LD48 Compo.
- [Totally Relaxing Golf](https://r3s.itch.io/totally-relaxing-golf) - a very, VERY, relaxing golf game made for Brackeys Game Jam 2021.2.
- [Planetoid](https://github.com/uggla/planetoid) - a toy project with a goal of creating a multiplayer asteroid game.
- [cubedesu](https://github.com/stanleydesu/cubedesu) - Rubik's Cube simulator.
- [Procedural Spider](https://darthdeus.itch.io/procedural-spider) - a game where you play a big spider chasing small spiders made for LD49.
- [onitama_macroquad](https://github.com/Hydrazer/onitama_macroquad) - Onitama implementation.
- [Excavation Site Alpha](https://github.com/gamma-delta/excavation-site-alpha) - build as far down into the earth as you can for LD48.
- [CyberSub](https://github.com/andreivasiliu/cybersub) - a 2D submarine simulation prototype.
- [Quoridor](https://github.com/baehyunsol/Quoridor-rs) - [Quoridor](https://en.wikipedia.org/wiki/Quoridor) implemented in Rust and Macroquad.
- [Caveth](https://github.com/Dequog/caveth) - a game where you can shoot enemies with a cannon.
- [Bunner Macroquad](https://github.com/ollej/rust-bunner-macroquad) - an implementation in Rust+Macroquad of the game Bunner from Code the Classics vol 1.
- [rusty_life](https://github.com/LittleB0xes/rusty_life) - another Game Of Life made with Rust and Macroquad.
- [stunning barnacle](https://github.com/LittleB0xes/stunning_barnacle) - a simulator of primitive artificial life using attraction/reuplsion forces between many particles.
- [RecWars](https://github.com/martin-t/rec-wars) - a multiplayer top-down tank shooter playable in browser.
- [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.
- [R:Vust](https://sethmaddev.itch.io/rvust) - a side-scrolling shoot'em in a space setting.
- [Missile Command](https://github.com/buraksenyurt/missile-command) - A simple missile command game clone from 80's Atari.
- [Tigris and Euphrates](https://github.com/0b01/tigris-and-euphrates) - a Rust implementation of T&E Board game.
- [vustnexus](https://sethmaddev.itch.io/vustnexus) - defeat and Survive the infect of the Vust Swarm!
- [Makiomino](https://store.steampowered.com/app/1177840) - Original tile-matching puzzle game based on mix of classical mechanics.
- [Princess Robot](https://adambiltcliffe.github.io) - a 2D platformer.
- [Trainwreck](https://whenyou77.itch.io/trainwreck) - switch levers to lead the trains onto the right track.
- [The Beat Of Space](https://reddit.com/r/rust_gamedev/comments/11kcgcj/the_beat_of_space) - a space-themed rhythm game.
- [Mage Rush](https://iinacho.itch.io/mage-rush) - a micro vampiresurvivors-like game made for LowRezJam'23.
- [pong-macroquad-hecs](https://github.com/j0of/pong-macroquad-hecs) - a "BLAZINGLY FAST" Pong clone implemented using Macroquad and hecs.

### Games: On top of miniquad

- [Fermi Paradox](https://github.com/tversteeg/ld46) - arcanoid-like game with moving enemies in space.
- [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.
- [Soldank](https://github.com/smokku/soldank) - a remake of Soldat game.
- [Fires of Eschaton](https://firesofeschaton.com/) - a PvP focused turn-based fantasy tactics game.

### Games: On top of good-web-game

- [Dig Escape](https://github.com/TanTanDev/DigEscape) - simple puzzle game about digging.

## Apps or visualizations

### Apps or visualizations: On top of macroquad

- [Portal Explorer](https://github.com/optozorax/portal) - web visualizator of mind-blowing portals.
- [Rusty Aquarium](https://github.com/ollej/rusty-aquarium) - a monitoring visualization as an aquarium.
- [Particles editor](https://github.com/not-fl3/particles-editor) for your games in macroquad.
- [bema](https://github.com/yazgoo/bema) - slideshow DSL.
- [Rusty Slider](https://github.com/ollej/rusty-slider) - markdown slideshow viewer.
- [Sugarcubes](https://github.com/henryksloan/sugarcubes) - a tool for designing and testing automata.
- [macroquad.purduehackers.com](https://macroquad.purduehackers.com) - a browser playground to help run workshops for a club.
- [FDG](https://github.com/grantshandy/fdg) - a Force Directed Graph framework with a macroqad-based visualizator.
- [Fish flocking simulation](https://github.com/eckyputrady/fish-flocking-simulation) - a 2D fish flocking simulation.
- [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.
- [Collision simulator](https://github.com/Markek1/Collision-Simulator) - simulating correct particle collisions and algorithms to detect them efficiently.
- [Sugarcubes](https://github.com/henryksloan/sugarcubes) - a library and application for automata and formal languages, inspired by JFLAP.
- [Lorenz Attractor](https://github.com/guydols/Lorenz_Attractor) - a Rust implementation and visualization of the [Lorenz Attractor](https://en.wikipedia.org/wiki/Lorenz_system).
- [Interactive Particles](https://github.com/cppxor2arr/InteractiveParticles) - a playground to interact with particles.
- [Flappy Bird AI](https://github.com/bones-ai/rust-flappy-bird-ai) - AI learns to play flappy bird using neuro-evolution.
- [PID Controller Simualation](https://github.com/sparshg/pid-balancer) - a Proportional-Integral-Derivative controller simulation to balance a ball on cart.
- [Escape](https://github.com/bones-ai/rust-escape-ai) - AI plays a small escape room game.
- [Tarsila](https://github.com/yds12/tarsila) - pixelart and spritesheet editor.
- [Particle Life](https://github.com/Markek1/particle-life) - a particle simulation inspired by Jeffrey Ventrella's Clusters.
- [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.
- [Shell Texturing Toy](https://github.com/gre-v-el/Shell-Texturing) - an interactive shell texturing demo.

## Docs

- [Platformer book](https://not-fl3.github.io/platformer-book) - WIP book about creating your platformer game in macroquad.
- [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.
- [Publish game on Android with Macroquad](https://macroquad.rs/tutorials/android) - a tutorial about building a macroquad game for Android and uploading it to Google Play.
- [Java interop with Miniquad on Android](https://macroquad.rs/articles/java).

## Publications

- Audio: [Rust Gamedev Podcast 4: Interview with Fedor Logachev](https://rustgamedev.com/episodes/interview-with-fedor-logachev)
- Video: [I learnt OpenGL in 7 days using Rust](https://youtube.com/watch?v=KEQIWqSq42k) by [@TanTanDev](https://github.com/TanTanDev/).
- Video: [I made a game playable on Midi Controller](https://youtube.com/watch?v=Nog1qAY0eG0) by [@TanTanDev](https://github.com/TanTanDev).
- Audio: [Rust Gamedev Podcast 7: Interview with Fish Fight](https://rustgamedev.com/episodes/interview-with-fish-fight)
- Video: [Rust breakout game tutorial](https://youtube.com/watch?v=xQ9YTY7ZgsI) by [@TanTanDev](https://github.com/TanTanDev).
- Blog post: [The story behind Rusty Aquarium](https://blog.agical.se/en/posts/the-story-behind-rusty-aquarium).
- Tutorial: [Psycho Pong](http://littleboxesgames.fr/posts/psycho-pong-part-one/) by [@LittleB0xes](https://github.com/LittleB0xes).
- Blog post: [Rust 2D Engine: Shipping games on Android](https://patreon.com/posts/73600033).
- Tutorial: [Create a Clicker Game with Macroquad](https://dev.to/paper010/rust-create-a-clicker-game-with-macroquad-1820).

## Example usage

- [With naia](https://github.com/naia-lib/naia/tree/main/demos/macroquad) - a cross-platform (including Wasm!) networking engine built in Rust.
- [With nakama](https://github.com/heroiclabs/fishgame-macroquad) - open-source scalable game server.
- [JS interop](https://github.com/not-fl3/miniquad-js-interop-demo) as example for writing your own plugins.
- [wasm-bindgen interop](https://github.com/smokku/gwg-bindgen) - good-web-game + [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) example
- [\*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.

## Libraries

### Libraries: Integrations

- [bevy_miniquad](https://github.com/smokku/bevy_miniquad) - [bevy](https://github.com/bevyengine/bevy) + miniquad.
- [miniquad_text_rusttype](https://github.com/not-fl3/miniquad_text_rusttype) - [rusttype](https://github.com/redox-os/rusttype) in miniquad.
- [egui-miniquad](https://github.com/not-fl3/egui-miniquad) - [egui](https://github.com/emilk/egui) in miniquad.
- [egui-macroquad](https://github.com/optozorax/egui-macroquad) - [egui](https://github.com/emilk/egui) in macroquad.
- [imgui-miniquad-render](https://github.com/not-fl3/imgui-miniquad-render) - [imgui-rs](https://github.com/imgui-rs/imgui-rs) in miniquad.
- [femtovg](https://github.com/smokku/femtovg) - antialiased 2D vector drawing library (miniquad port).
- [nonaquad](https://github.com/nokola/nonaquad) - vector anti-aliased graphics renderer.
- [cvars-console-macroquad](https://github.com/martin-t/cvars) - in-game console for changing cvars at runtime.

### 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](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.
- [quad-snd](https://github.com/not-fl3/quad-snd) - to play sound.
- [quad-net](https://github.com/not-fl3/quad-net) - to use network.
- [quad-url](https://github.com/optozorax/quad-url) - to change current url, search parameters, and open links.
- [quad-storage](https://github.com/optozorax/quad-storage) - to save data in persistent storage using Web Storage API.

### Libraries: Other

- [gesture-recognizer](https://github.com/optozorax/gesture-recognizer) - library for recognizing simple touch gestures.
- [sapp-console-log](https://github.com/canadaduane/sapp-console-log) - [log-rs](https://github.com/rust-lang/log) compatible logging for sapp-wasm.
- [quad-rand](https://github.com/not-fl3/quad-rand) - wasm-friendly random number generator for quads.
- [circle2d](https://github.com/koalefant/circle2d) - little physics library with only circles, used in [Crate Before Attack](https://cratebeforeattack.com).
- [sparticles-rs](https://github.com/Norlock/sparticles-rs) - library for making particle systems.
- [quad-gif](https://github.com/ollej/quad-gif) - library for displaying looping GIF animations.
- [graplot](https://github.com/elftausend/graplot) - an experimental plotting library.
- [quad-svg](https://github.com/macnelly/quad-svg) - renders svg to macroquad's Texture2D using [resvg](https://lib.rs/resvg).
- [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.
- [macroquad_aspect](https://github.com/TheEmeraldBee/macroquad_aspect) - an aspect ratio forcer for macroquad.
- [navni](https://github.com/rsaarelm/navni) - a textmode/pixel graphics display library.