Play game
Wireworld's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Entertainment - how enjoyable/replayable is it? | #14 | 2.894 | 3.300 |
Presentation - how does it look/feel? | #20 | 2.894 | 3.300 |
Overall | #21 | 2.777 | 3.167 |
Creativity - how original is the idea? | #24 | 2.543 | 2.900 |
Ranked from 10 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Leave a comment
Log in with itch.io to leave a comment.
Comments
I haven't really played with this particular cellular automation, so this was fun to explore
I was wondering how you managed to get Guile down to a 1 KB cartridge file, but it sounds like that's the magic of Hoot? Edit: or is this just directly coded in the WebAssumbly text format?
Old, possibly irrelevant: Does it require garbage collector support in the WebAssembly runtime? I kind of assumed WASM-4 wouldn't provide that, so now I'm curious.
That 1KB cartridge file is not a Guile program, but a Guile program built the cartridge. What's happening here is that Guile is being used to generate GWAT (the Guile dialect of WAT) that is passed to the Hoot assembler to produce a WASM binary. It's not actually compiling a Scheme program to WASM, which as you mention would require the GC extension which WASM-4 doesn't use. Check out https://gitlab.com/spritely/wasm4-wireworld/-/blob/main/miniworld.scm to get an idea of what's going on.
Cool simulation and it led me to learn about Wireworld, which I've never heard of before!
Looks like some issues getting it to run for me. :(
ryan@ryan-server:~/Desktop/Spring Game Jam 2023/wasm4-wireworld$ ./w4 run-native cart.wasm
/tmp/wasm4-linux: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /tmp/wasm4-linux)
Fun little simulation, I liked it! Fun fact: my masters thesis was cellular automata-related :)
Also incredibly interesting from the technical standpoint, WebAssembly seems like a promising tech.
Nice!
Is it possible to play (or rather explore) it in browser, since it is compiled to WebAssembly?
I was hoping the game would show up on here, but I didn't see it: https://wasm4.org/play/
Hm, the site says that you need to send a PR on Github to send a game (https://wasm4.org/docs/guides/distribution#publish-on-wasm4org)
Yeah, I was hoping the author of the game had done that because that is the only way I can see to play WASM-4 games in the browser.
Never heard of Wireworld before. Managed to recreate the simpler circuits as presented on Wikipedia: https://en.wikipedia.org/wiki/Wireworld
For others who want to give it a try: `npm -g wasm4 && w4 run-native cart.wasm` did the trick for me. Game controls:
Thanks for the instructions!
To play the cart offline:
N.B. GNU Guix users need only download "cart.wasm" and can run it using Guix's wasm4 package, like so: "guix shell wasm4 -- wasm4 cart.wasm".
Hi! Pulled down w4 for Windows and did `.\w4.exe run .\cart.wasm` -- got a "cartridge is corrupted" message. It also said to check the console for details, but the PowerShell (or command prompt) console just has the QR code and the URL. Tried redownloading several times and also putting the cart file in different places in the filesystem.
I've heard of WireWorld and will be very interested to try this. Thanks!
You’ve gotta use
run-native
instead ofrun
(not sure it will do the trick on windoze tho)Got it going! `.\w4.exe run-native .\cart.wasm` Very cool!
@terpri discovered through making this wireworld demo that there's a bug in guile-hoot (the thing generating the wasm file) that is causing the corrupted cartridge error when running in a web browser. Seems that the native wasm engine isn't running a strict validator so it runs.