WASM as a foundation for AI scripting:
A friend and I are working on a project called robot rumble, which is essentially a spiritual successor to robot game, where you have 2 robot AIs written by users face off against each other. Right now we support robots written in Python and JS (and could maybe do something like Lua too), and we run compiled-to-wasm interpreters to run this languages (quickjs and RustPython, the latter I also work on). We use stdio to provide input (current state of the map) and output (each unit's action) for the process, and we wanted a way to run them inside of the same process with AsyncRead/AsyncWrite streams, rather than the easy way out which would be something like spawning a wasmer subprocess with
The year is 2020 and our containerized civilization is falling apart. A cruel and villainous DevOps demon named Boylur Plait has descended from the cloud to Earth to challenge mankind to a tournament.
To win this tournament, Assembly Mechs must compete in an absurdly over-dramatized contest. These mechs will challenge their creator’s ability to write code that will outlast and defeat everything that the demon and its nearly infinite hordes pit against us. Humanity’s only hope is to master a technology called WebAssembly , win the tournament, and prove to the cloud nemesis that this world is well protected.
In this game, players will create Assembly Mechs to compete for supremacy in the WasmDome. Developers create a new mech by building a Rust waSCC actor, signing their actor module, and uploading it to the WasmDome .
Will your mech survive? Is your code good enough to stand against the most vicious enemies the cloud can muster? Upload your mech to the WasmDome and find out, watching it participate in match after match as it collaborates with other mechs to fight for humanity’s survival. Will your efforts be enough to save the world? Not likely , but it’ll be fun trying!
- Build, sign, and test your Assembly Mechs in a local WasmDome
- Upload your mechs to the live, online WasmDome when you’re ready for the action to begin!
- Watch matches live or review them afterward to learn and improve your mech’s code
- Check leaderboards and upcoming matches to see the best Assembly Mechs in action
- Learn how easy it is to build waSCC actors as you play the game