23 comments

[ 3.4 ms ] story [ 60.1 ms ] thread
If you're interested in making your own game, please feel free to reach out on Discord: https://discord.gg/cx3usBCWnc

Or refer to some existing WASM game examples: https://github.com/extism/game_box/tree/main/games - currently games can be built using Extism PDKs in any of Go, Rust, Javascript/Typescript, Zig, Haskell, AssemblyScript or C/C++!

Is there anywhere I can try playing those game examples without downloading and running it myself?
Not really. We've talked about a next step being some kind of development environment for this. Our plug-in playground environment comes close to this, but you can't currently set or use plug-in variables in this tool: https://playground.extism.org/

To make development smoother, what I've been doing is separating the game code and the Extism code. Write unit tests and test harness code against your game code and run it on your host machine.

This can be seen in this tictactoe game in rust: https://github.com/extism/game_box/tree/main/games/tictactoe or this trivia game in typescript: https://github.com/extism/game_box/tree/main/games/wasm-triv...

[flagged]
Ask the Flash game community
Flash games knew their limit and could easily be redistributed. Most online JS games are total hell to save/archive and most are lost to time when their host rips it down.
It's much easier to get someone to visit a website vs downloading a random binary.

Edit: I don't get why OP was flagged though, it's just a question. Shouldn't offend anyone ...

Fun and profit, the two primary motivators of all seemingly-useless things that exist in abundance.
You sound really smart, so I'll engage :)

> by making it on a web browser

Do you mean "making it" as in to develop the game within a web browser? If so, this is inaccurate, though you probably are aware and just typed the wrong thing here. Easy mistake! I'm sure you're deep in flow on some incredibly fascinating technical challenge. Games are developed in whichever IDE/editor you'd like, and you can even use whichever language you like to build the game! as long as it compiles to WebAssembly, and exports a few functions we expect, people can play your game.

If you actually mean "making it playable (in) a web browser", then yes! The reason is to make it extremely accessible by anyone with the most widely deployed game console in the world (the browser). You probably already knew that too though.. going back to the smart person comment!

Thanks for your comment, happy Friday!

I understand why the tone is as such, but I feel this is just as toxic as the parent comment only in the positive sense
Doesn't WASM even use native machine hardware and video cards?

So like the gap is closing between a binary and a browser.

WASM is run in a "brain in a jar" type execution model, with basically zero knowledge or access to its external environment (the "host"). So it could absolutely take advantage of these kinds of peripherals, but the host enviornment would provide import functions that enable it to interact with resources like a video card.

The gap is definitely closing as you say, and WebAssembly provides a path for it, as well as a security model that doesn't put users at risk.

(comment deleted)
Uses it, but with more abstraction / less directly than machine code would.
Idk what the parent comment was, but I'm guessing it's the "REAL code runs in binaries" or "there is no cloud" you see sometimes around here. Best not to take it personally.
haha I don't take it personally, but I do think people deserve to be called out when they are flagrantly disrespectful not only to the individuals who work on the primary project, but the second-order disrespect to people around the world advancing capabilities of the web and making technology more accessible.

I appreciate the advice though, thank you!

They'd be upset about my stack too. It catches up with them at some point anyway.
Front matter calls out “fly.io” - should be “fly.dev”
Why? The company is clearly called Fly.io
I really want to learn something like this,

but, where are all the demos? this indicates that to learn it would be a steep learning curve

eg look/ google p5.play, even the tutorials are playful