HN user

aduros

11 karma
Posts2
Comments8
View on HN

Physical gamepads are supported by memory mapping, the game itself doesn't know if the player is using a keyboard, touchscreen, or real gamepad.

I think if multiplayer will ever be supported, it should be abstracted in the same way. We might create a runtime for libretro, which could enable adhoc netplay "for free".

This is a project I'm working on to try to make WebAssembly game development more accessible and fun. Here are the key features:

* No Glue Code: If you've ever tried to write even a simple "Hello World" with WebAssembly before, you'll know it usually involves writing a bunch of JS and HTML glue. WASM-4 removes all of that, games interface directly with the system through a small API.

* Minimalist: Fantasy consoles force developers to work with limited resources. This makes them simple to learn, and easier to focus on finishing your game.

* Language Agnostic: Use any programming language, as long as it can compile to WebAssembly. Out of the box we currently support: AssemblyScript, C/C++, Rust, Go.

* Portable: WASM-4 is designed to run on any device that can execute WebAssembly, even outside of the web! We're planning a lightweight implementation written in C that will run even on a potato.

pjs is for filtering and transformation like awk/sed/grep, but it supports many different text-based formats and its programs are written in plain JavaScript.

Here's an example that converts a file to uppercase:

    cat file.txt | pjs '_.toUpperCase()'
It can also scrape websites using CSS selectors:
    curl https://aduros.com | pjs --html 'h1,h2' '_.text'
And JSON using jq filters:
    cat database.json | pjs --json '.users[]' '_.age >= 21'
Lots more examples on the README/man page. It's still quite new and may have bugs, if you find one let me know!