All Projects â†’ euhmeuh â†’ wasm-adventure

euhmeuh / wasm-adventure

Licence: GPL-3.0 license
My adventure into the marvelous world of Web Assembly

Programming Languages

racket
414 projects
WebAssembly
147 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to wasm-adventure

pigmnts
ðŸŽĻ Color palette generator from an image using WebAssesmbly and Rust
Stars: ✭ 38 (-22.45%)
Mutual labels:  wasm, web-assembly
wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 20 (-59.18%)
Mutual labels:  wasm, web-assembly
Tfjs
A WebGL accelerated JavaScript library for training and deploying ML models.
Stars: ✭ 15,834 (+32214.29%)
Mutual labels:  wasm, web-assembly
seed-quickstart
Bare essentials to start a Seed app.
Stars: ✭ 89 (+81.63%)
Mutual labels:  web-assembly
swirlr-wasm
willdady.github.io/swirlr-wasm/
Stars: ✭ 21 (-57.14%)
Mutual labels:  web-assembly
go-wasm-pdfcpu
Running a Command line tool written in Go on browser with WebAssembly
Stars: ✭ 79 (+61.22%)
Mutual labels:  wasm
boids
ðŸĶĒ The boids flocking simulation in Wasm using Ebiten!
Stars: ✭ 56 (+14.29%)
Mutual labels:  wasm
regression-wasm
Testing doing basic regression with web assembly
Stars: ✭ 32 (-34.69%)
Mutual labels:  web-assembly
rotation master
Provide conversion between the major representations of 3D rotation and visualize the orientation of a rigid body
Stars: ✭ 157 (+220.41%)
Mutual labels:  wasm
emscripten-webxr
WebXR library for use with Emscripten.
Stars: ✭ 21 (-57.14%)
Mutual labels:  wasm
aWsm
WebAssembly ahead-of-time compiler and runtime. Focuses on generating fast code, simplicity, and portability.
Stars: ✭ 177 (+261.22%)
Mutual labels:  wasm
python-wasm
Build scripts and configuration for building CPython for Emscripten
Stars: ✭ 606 (+1136.73%)
Mutual labels:  wasm
wsPlayer
wsPlayer is a web video player based on WebSocket-fmp4.
Stars: ✭ 88 (+79.59%)
Mutual labels:  wasm
lldap
Light LDAP implementation
Stars: ✭ 1,402 (+2761.22%)
Mutual labels:  web-assembly
bounce
The uncomplicated Yew State management library
Stars: ✭ 43 (-12.24%)
Mutual labels:  wasm
blazor.jwttest
Quick test using JWT authentication for a blazor hosted (Client/Serverside) app with API and Authentication.
Stars: ✭ 30 (-38.78%)
Mutual labels:  web-assembly
wasp
🐝 Wasp : Wasm programming (language)
Stars: ✭ 93 (+89.8%)
Mutual labels:  wasm
vgg runtime
VGG Runtime for loading and running designs as apps.
Stars: ✭ 19 (-61.22%)
Mutual labels:  wasm
glicol
(Audio) graph-oriented live coding language and music DSP library written in Rust
Stars: ✭ 853 (+1640.82%)
Mutual labels:  wasm
watpl
Create WebAssembly modules using template strings
Stars: ✭ 14 (-71.43%)
Mutual labels:  wasm

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?
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].