4 ms·
Lisp Game Jam – “Wireworld” in WebAssembly Using Spritely's Hoot Project
- shaunxcode 3y agoThis is really cool! Super exciting to see how far hoot has come!
- paroneayea 3y agoThanks very much! Yes, progress has been fast, and it was really fun to show things working with an example that's live and interactive and hopefully fun to look at and play with.
- rapnie 3y agoWireworld was part of the recurring Lisp Game Jam at itch.io [0] and the same jam also saw a submission by Spritely co-founder Christine Webber, called "Fantasary" [1] described as "prototype textual virtual world written on top of Spritely Goblins". The name is in reference to Fantasary [2] of the original Spritely project, representing a technology vision for object capabilities. Very cool. [0] https://terpri.itch.io/wireworld https://terpri.itch.io/wireworld [1] https://cwebber.itch.io/fantasary https://cwebber.itch.io/fantasary [2] https://spritelyproject.org/#fantasary https://spritelyproject.org/#fantasary
- paroneayea 3y agoYes indeed. Glad you found both! When planning the game jam entry, I said "well I guess this is a paired-down version of Fantasary from the original list of Spritely sub-projects, but maybe that was a silly name so we should call it something else." But the other engineers on the team said they liked it and wanted to run with it, so there we are. :)
- rapnie 3y ago> The real point of this blogpost isn't Wireworld itself, but how Hoot enabled making this Wireworld demo. [..] The last time we talked about Hoot (our Scheme->WASM project) we talked about directly compiling Scheme to WebAssembly. This is of course the higher level goal of Hoot: since Spritely's tooling is written in Guile Scheme, we want Spritely to be in the browser, and compiling Scheme programs themselves to WebAssembly is a great way to accomplish that goal. https://gitlab.com/spritely/guile-hoot https://gitlab.com/spritely/guile-hoot
- predakanga 3y agoSmall correction for the author: > Copper stays copper, unless there are one or two electron heads in any cardinal direction, in which case it becomes an electron head should be > Copper stays copper, unless there are one or two electron heads in any neighboring cell, in which case it becomes an electron head I spent ages trying to figure out how the generators were working in their example before I looked up the rules elsewhere.
- paroneayea 3y agoThank you! I updated the post!