Good Web Game
good-web-game is a wasm32-unknown-unknown implementation of a ggez subset on top of miniquad. Originally built to run zemeroth in the web.
It has been recently updated to support much of the ggez 0.6.0 API. If you're already working with ggez you might use this library to port your game to the web (or perhaps even mobile). Since it also runs well on desktop it also offers an alternative implementation of ggez, which might come in handy if you experience bugs in ggez, which you can't work around for some reason. Canvases with multisampling are currently buggy in classic ggez while they work fine in good-web-game, for example.
If you are looking for a properly maintained and supported minimal high-level engine on top of miniquad - check out macroquad instead.
"good-web-game" implements the most important parts of the ggez 0.6.0 API.
Missing / Not available:
- filesystem with writing access (if you need it take a look at
- game pad support
- writing your own event loop (doesn't make much sense on callback-only platforms like HTML5)
- spatial audio (overall audio support is still relatively limited, but could be improved)
- resolution control in fullscreen mode
- setting window position / size (the latter is available on Windows, but buggy)
- screenshot function
- window icon
- and custom shader support (yes, this is a big one, but if you need it and are familiar with
miniquadplease consider starting a PR;
miniquadhas all the tools you need)
In action(0.1, pre-miniquad version): <#404>
To build and run an example as a native binary:
Building for web and mobile is currently a WIP (ironic, I know). If you want to try your luck anyway the miniquad instructions for WASM might be a good place to start.
Here is how
good-web-game fits into your rust-based game: