summaryrefslogtreecommitdiffstats
path: root/2022/talks/asmblox.md
blob: 005d6b8ce46d4558c294c351aa91183b85e63286 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[[!sidebar content=""]]
[[!meta title="asm-blox: a game based on WebAssembly that no one asked for"]]
[[!meta copyright="Copyright © 2022 Zachary Romero"]]
[[!inline pages="internal(2022/info/asmblox-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# asm-blox: a game based on WebAssembly that no one asked for
Zachary Romero (<mailto:zacromero@posteo.net>)

[[!inline pages="internal(2022/info/asmblox-before)" raw="yes"]]

Over the past decade, programming games have risen in popularity and
become a genre unto themselves. They are loved for their open-endedness
and have helped people get into programming as well as help programmers
hone their problem-solving skills. As a fan of the genre, I decided I
wanted to recreate such an experience in Emacs. Looking at the already
existing collection of games, TIS-100 by Zachtronics stood out as an
especially good candidate for the base of a game, where the user is
entering assembly code into a terminal to solve puzzles. The game
asm-blox switches things around and instead of programming register
machines, you program mini stack machines in a language similar to the
WebAssembly text format.

I'm still wondering if the game is actually any fun or not but either
way it was an interesting project to make. In this talk, I'll demo the
game as well as go over some of the Emacs Lisp tricks I used to make it
work.

The source code can be found at <https://github.com/zkry/asm-blox>



[[!inline pages="internal(2022/info/asmblox-after)" raw="yes"]]

[[!inline pages="internal(2022/info/asmblox-nav)" raw="yes"]]

[[!taglink CategoryFun]]