Lisp Game Jam – “Wireworld” in WebAssembly Using Spritely's Hoot Project

133 points by paroneayea 2 years ago | 7 comments
  • rapnie 2 years 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

    • rapnie 2 years ago
      Wireworld 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

      [1] https://cwebber.itch.io/fantasary

      [2] https://spritelyproject.org/#fantasary

      • paroneayea 2 years ago
        Yes 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. :)
      • predakanga 2 years ago
        Small 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 2 years ago
          Thank you! I updated the post!
        • shaunxcode 2 years ago
          This is really cool! Super exciting to see how far hoot has come!
          • paroneayea 2 years ago
            Thanks 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.