wasmbots
wasm. bots. π€π§ββοΈπ§π§ββοΈβοΈπ°π€
WasmBots
(NB: this repo is active, but progress may be a little slow. see this video for more specifics.)
A multi-wizard arena where all the competitors are bots! (Always a latest build at GitHub Pages, but that site is the canonical deployment.)
The programming interface is described here, and there are pre-made libraries in a bunch of languages to get you started. You can also peruse the code for the example bots.
The documentation can also be useful, or maybe just the development history.,
Development
It's a big ole monorepo. Sorry about that; it's what happens when a proof-of-concept just grows organically. I presumptively registered a wasmbots org on GitHub just in case this becomes A Thingβ’ in which case I'll split things out more productively.
Devbox
You can always build and run with devbox. (Installation instructions are here.)
Run devbox shell to be in a usable environment where you can run
Docker
The Dockerfile just pipes everything through devbox, but makes it a little more turnkey, especially if you're already a Docker user.
# produces a container with a built frontend, # including example bots, served with Caddy docker build -t wasmbots . # to actually get it serving: docker run -d -p 8080:80 wasmbots # Then look for it in your favorite browser at: # `http://localhost:8080` # (change out the port number to whatever you want)
# this will drop you into a shell within the container # where all the tools are installed and paths are set # and everything. docker build --target dev -t wasmbots-dev . docker run -it -v $PWD:/code wasmbots-dev
Manual Installation
If you don't want to install a whole other package manager, here's what I (used to) use to get up and running with Homebrew on macOS. Modify appropriately if you're using something else.
brew install deno node wabt emscripten rust zig go tinygo-org/tools/tinygo
Simple Checks
Regardless of how you get your dev environment running, you can verify everything is working as expected by running:
./scripts/_build_wasms.sh
./scripts/_validate_wasms.sh
That will build and validate all the example bots; it doesn't check their functionality at all, just that WebAssembly modules were produced that conform to the expected interface.
more like this
TachiSnap
TachiSnap β Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generatedβ¦
bit_gossip
Pathfinding library for calculating all node pairs' shortest paths in an unweighted undirected graph.
RaylibWasm
.Net 10 (.Net 8+) webassembly starter project using raylib-cs nuget 7.0.2 and raylib 5.5
