a faithful emulation of the influential Tile Graphics Machine 20. made for Recurse Center's Sprummer 2017 game jam.
try it out
what how do i
- click on the computer's keyboard.
- you can also use
asdfjkl;on your own keyboard.
- share code with others by hovering over
share your codeand copying what's in the text box.
- run code from others by hovering over
share your codeand pasting their code into the text box.
a tgm-20 program consists of up to four layers.
a layer is a sequence of commands. these commands describe an image by applying a sequence transforms to a preset source image.
there are six regular commands in the tgm-20 standard library (detailed below), and two special commands (deleting a command and appending a new layer).
every regular command has two functions:
- when a command is the first command in a layer, it draws a preset source image to the pixel matrix.
- otherwise, it applies a transform to its layer's image.
bksp- special command - removes the last command in the last layer.
dsnc- horizontally offsets every other row of pixels
miro- applies symmetry to the pixel matrix
colr- rotates the hue of the entire pixel matrix
rota- performs a clockwise rotation around the center pixel
incr- increments the previous command's mod value
anim- animates the previous command's mod value over time
layr- special command - begins a new layer
every regular command has a mod value. this value changes how each command functions (for both drawing the preset image and for transforming its layer). for example, the mod value of
rota controls the angle of rotation.
the mod values of a command can be controlled with the
incrsimply increments the mod value once. use a string of
incrs to configure a command.
animincrements the mod value periodically, creating an animation.
anim's mod value controls the speed of the animation.
here is an example of a layer with 4 commands:
in other words,
dsnc anim colr miro.
here's the shareable code for that layer (read below to see how to run this on your tgm-20):
reading from left to right:
dsncis the source command. it creates a diagonal row of blue pixels.
animanimates the mod value for the
dsncsource, which has the effect of "stretching" the width of the diagonal line.
colrchanges the hue of the line from blue to purple.
miromakes the matrix horizontally symmetric.
- each line is one program. copy the line you want to try out to your clipboard.
- hover over
share your codeat the bottom of the screen. a text box should appear.
- paste the code into the text box.