All talks: https://emacsconf.org/2022/talks/
asm-blox: a game based on WebAssembly that no one asked for
https://emacsconf.org/2022/talks/asmblox - Zachary Romero - Track: Development
Watch/participate: https://emacsconf.org/2022/watch/dev/
Q&A room: https://emacsconf.org/current/asmblox/room/
IRC: https://chat.emacsconf.org/#/connect?join=emacsconf,emacsconf-dev or #emacsconf-dev on libera.chat network
Guidelines for conduct: https://emacsconf.org/conduct
See end of file for license (CC Attribution-ShareAlike 4.0 + GPLv3 or later)
----------------------------------------------------------------
Notes, discussions, links, feedback:
- Great talk! Can`t wait to try this out!
----------------------------------------------------------------
Questions and answers go here:
- Q: Why did you choose an internal state versus many`state buffers`? (ie. actual windows) Thanks!
- A: A single internal state is easier to deal with in the context of the game. Windows would obviously be better for other normal applications to allow users to customize how they should behave.
- Q:Do you have plans to port shenzhen io to emacs?
- A:That would be cool, was also thinking about exopunks.
- Q:Did this use wasm ? We call some wasm code from Emacs?
- A:No, more similar to TIS-100, just a game.
- Q: Why wasm rather than a more traditional Assembly dialect? It wouldn't be harder to implement, right?
- A: It would have been easier, but less of a challenge and resemble TIS-100 too much.
- Q:Any next projects on your mind?
- A: Yes, a couple, hopefully more useful. I think tree-sitter is cool. There's a neovim plugin called neogen that generates documentation. Hopefully next year I'll be presenting something more useful.
- Q: Does this work with any other paren-based editing packages?
- Q: What kind of tool could use this idea?
- A: So I think some sort of graph drawing tool in Emacs might have a simmilar idea. Like artist-mode but with graph drawing constructs.
- Q: How did you go about designing the puzzles?
- A: With open-ended puzzles like this, coming up with random ideas that seem like they should be implementable usually works. If you've seen some of Zachtronics games, the bar is extremely high for what is capable.
- Q: What' are your favorite changes in the upcoming emacs 29?
- A: Definitely tree sitter. I've played around with it and it provides a nice interface for extracting syntax information. Like I can probably rewrite this plugin without any crazy regexs: https://github.com/zkry/go-ttest.el
- Q: Are there tools to add more puzzles?
- A: So the game code itself has a asm-blox-puzzles.el file which defines each puzlze. It's pretty easy to add new puzzles but it involves digging into the code.
- QLike a binding to graphviz? (assume this is a continuation of the "what kind of tool" question)
- A: I was thinking more ASCII, like a tool I saw called diagon. Like artist mode but for graphs. But graphviz is amazing and a lot could be done with that.
the diagon tool: https://arthursonzogni.com/Diagon/#Math
----------------------------------------------------------------
Next talks:
Questions/comments related to EmacsConf 2022 as a whole? https://pad.emacsconf.org/2022
----------------------------------------------------------------
This pad will be archived at https://emacsconf.org/2022/talks/asmblox after the conference.
Except where otherwise noted, the material on the EmacsConf pad are dual-licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International Public License; and the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) an later version. Copies of these two licenses are included in the EmacsConf wiki repository, in the COPYING.GPL and COPYING.CC-BY-SA files (https://emacsconf.org/COPYING/)
By contributing to this pad, you agree to make your contributions available under the above licenses. You are also promising that you are the author of your changes, or that you copied them from a work in the public domain or a work released under a free license that is compatible with the above two licenses. DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION.