Is there a way to use piston with wasm?

This page summarizes the projects mentioned and recommended in the original post on /r/rust_gamedev

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • RG3D

    Discontinued 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]

    rg3d has recently added web support.

  • bevy_webgl2

    WebGL2 renderer plugin for Bevy game engine

    There was a rust game jam in September 2021 and some games are playable in the browser. In that game jam the most used game engine was the bevy game engine. But most of the games made in bevy were not made playable in the browser, the ones that were playable in the browser used a third-party bevy plugin called bevy_webgl2. However now bevy has been updated to version 0.6 that has new built in WASM support, so there seems to be no need for bevy_webgl2. Targeting WASM with bevy might mean that not all features of the engine are available, so you need to limit the game’s features used to the ones that are compatible with WASM.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • howler.js

    Javascript audio library for the modern web.

    Gate framework and Howler.js were used to make the game "Adventures of Pascal Penguin" which is playable here.

  • miniquad

    Cross platform rendering in Rust

    In that same rust game jam the second most used engine was macroquad, which was used by 3 games, two of which are playable in the browser. Macroquad is a cross-platform game library inspired by raylib. Macroquad is built on top of miniquad. I think macroquad is a bit more approachable than bevy since macroquad doesn't impose an ECS and tries to be minimal with its features so they are available in all of the platforms it targets.

  • bevy

    A refreshingly simple data-driven game engine built in Rust

    There was a rust game jam in September 2021 and some games are playable in the browser. In that game jam the most used game engine was the bevy game engine. But most of the games made in bevy were not made playable in the browser, the ones that were playable in the browser used a third-party bevy plugin called bevy_webgl2. However now bevy has been updated to version 0.6 that has new built in WASM support, so there seems to be no need for bevy_webgl2. Targeting WASM with bevy might mean that not all features of the engine are available, so you need to limit the game’s features used to the ones that are compatible with WASM.

  • Oxygengine

    Rust implementation of Oxygen Core HTML5 game engine

    Oxygen engine / Oxygengine that targets HTML5 and WASM.

  • emerald

    A 2D rust game engine focused on portability.

    Emerald engine that aims to be cross platform and can target WASM. Emerald is built over miniquad which is what macroquad is built over.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • good-web-game

    An alternative ggez implementation on top of miniquad.

    Good Web Game engine that is an implementation of a web compatible subset of the ggez game engine constructed on top of miniquad.

  • gate

    A specialized 2D game library

    Gate framework and Howler.js were used to make the game "Adventures of Pascal Penguin" which is playable here.

  • pixels

    A tiny hardware-accelerated pixel frame buffer. 🦀

    Pixels is not a full game engine, but it is a hardware-accelerated pixel frame buffer and since version 0.8.0 onwards support for web was added. This is the web example.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts