Wasm Adventure Save

My adventure into the marvelous world of Web Assembly

Project README

wasm-adventure

My adventure into the marvelous world of Web Assembly

Demo

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

How to compile and play

  • 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

Motivations

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?

Lisp Game Jam 2018

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

Discoveries so far

  • 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?
Open Source Agenda is not affiliated with "Wasm Adventure" Project. README Source: euhmeuh/wasm-adventure
Stars
61
Open Issues
1
Last Commit
5 years ago
License

Open Source Agenda Badge

Open Source Agenda Rating