You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WASM-4 is a low-level fantasy game console for building small games with WebAssembly. Game
cartridges (ROMs) are small, self-contained .wasm files that can be built with any programming
language that compiles to WebAssembly.
Key Features
No Glue Code: If you've ever tried to write even a simple "Hello World"
with WebAssembly before, you'll know it usually involves writing a bunch of
JS and HTML glue. WASM-4 removes all of that, games interface directly with
the system through a small API.
Minimalist: Fantasy consoles force developers to work with limited resources.
This makes them simple to learn, and easier to focus on finishing your game.
Language Agnostic: Use any programming language, as long as it can compile to WebAssembly. Out
of the box we currently support: AssemblyScript, C/C++, D, Go, Nelua, Nim, Odin, Rust, WAT, and
Zig.
Portable: WASM-4 is designed to run on any device that can execute WebAssembly, even outside
of the web! It includes a lightweight runtime written in C that runs even low-powered microcontrollers
and obsolete hardware.
Netplay: Instant online multiplayer, featuring rollback netcode. All games that support local
multiplayer automatically support netplay. WASM-4 handles syncing controller inputs over the
Internet.
🚀 60 Second Quickstart
# Install the w4 command
npm install -g wasm4
# Create a project
w4 new --assemblyscript hello-world
# Setup toolchaincd hello-world
npm install
# Build and run your game!
npm run build
w4 run build/cart.wasm