I've just implemented Tetris in PostScript, pushing the limits of a document-processing language to run a realtime game. It works in GhostView on macOS.
* 600 lines / 10 KB * 69 different PostScript operators, no external libs * Realtime input, direct drop, increasing speed levels * 7-tetrimino random bags * Nintendo-style scoring and high score tracking
This project builds on my earlier experiments with PSChess and PSSokoban.
It show that PostScript is a lightweight, expressive, and surprisingly interactive programming language. A perfect tool for hacking on unexpected platforms.
This is very cool! To run this on a modern Linux, install Ghostscript and run it like this:
gs -dNOSAFER tetris.ps
In another terminal in the same working directory, run the command it gives in the source file:
stty raw -echo; cat >> t.txt
Keep the second terminal focused for your keyboard inputs. I don't know if there's an elegant way to quit, but I just close the Ghostscript window and kill the second terminal.
I surely do, all my favourite UNIXes went the extra mile to not be yet another clone, embraced better GUI development approaches, and additional userspace stack.
Unfortunately only one of them survives to this day.
* 600 lines / 10 KB * 69 different PostScript operators, no external libs * Realtime input, direct drop, increasing speed levels * 7-tetrimino random bags * Nintendo-style scoring and high score tracking
This project builds on my earlier experiments with PSChess and PSSokoban.
It show that PostScript is a lightweight, expressive, and surprisingly interactive programming language. A perfect tool for hacking on unexpected platforms.