WASM-Adventure

13 hours ago 2

My adventure into the marvelous world of Web Assembly

Try the live version here: https://euhmeuh.github.io/wasm-adventure/

  • Run ./make
  • Open index.html in your favorite (Web Assembly compatible) browser

How to generate wat (WebAssemblyText) code from Racket

  • Run racket src/game.rkt > build/game.wat

How to compile wat to wasm manually (you need the wat2wasm toolkit)

  • Run wat2wasm build/game.wat -o build/game.wasm

Is it possible (and enjoyable) to write a game directly in web assembly's text format?
Eventually, would it be cool to generate wat from Scheme code using the Racket lang system?

This is an entry for the 2018 edition of the Lisp Game Jam

  • Wasm has two text formats: linear (stack machine) and S-expression style
  • Writing directly in Wasm is tedious after a while (very verbose)
  • I can use Racket to write my own DSL (Domain Specific Language) in order to program in a higher level language
  • I can implement recurrent patterns into higher level procedures (see for)
  • I can name constants and implement helpers (see mem)
  • I can draw to a screen by using javascript's Uint8Array and pushing data to a canvas
  • I can make a game?
Read Entire Article