Hacker News new | past | comments | ask | show | jobs | submit login
GameBox is a programmable, turn-based, WebAssembly game platform (extism.org)
144 points by neuronicnobody on April 28, 2023 | hide | past | favorite | 20 comments



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...


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


Check out the games directory here: https://github.com/extism/game_box/tree/main/games

There aren't yet high quality docs. But if you want to give it a shot I'd try forking one of those and asking questions in the discord: https://discord.gg/tukQnCME


[flagged]


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.


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.


[flagged]


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.


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.


> Is there any valid reason for crippling a game by making it on a web browser

That's what it said, you can see it yourself if you enable "showdead" in settings.

https://news.ycombinator.com/user?id=hot_gril


Oh, thanks!


Front matter calls out “fly.io” - should be “fly.dev”


Why? The company is clearly called Fly.io




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: