A block-stacking game for the Commodore 64 written in the number-stacking language Forth. Pause a game in progess then tinker with the live game state in the interpreter.
| Explore the design | Start tinkering |
|---|---|
![]() |
![]() |
- Get the VICE C64 emulator.
- Load the durexForth cart or disk. SSS is developed in v4 but sometimes I also test v5.
- Paste
sss.fscontents into the interpreter. Takes about a minute to compile. - Type
helpthennew.
Warning
No sound, no high scores, no menus, and unconventional controls. This is a programmer's toybox first, a game second.
- S D F - Shift left, soft drop, shift right.
- J K - Rotate left and right.
- L - Exchange piece with hold slot on bottom right.
- E - Hard drop.
- Anything else - Pause game and return to Forth.
My own strong preference. See input rationale for a(n admittedly not easy) reconfiguration option.
- Is a personal project optimized strictly for my own joy, which among other things means a 50fps target with as little assembly code as necessary, because Forth is fun!
- Explores creative constraints. durexForth is fast, but not as fast as hand-rolled 6502. Arbitrary source text constraints, too. They're my muse.
- Wants to be tinkered with, so:
- Might motivate the Forth- or C64-curious, but:
- Is NOT a Tetris product! No sound, no menus, weird keys. General audiences will balk, but I play until Game Over to pass the time.
- Is basically complete. I'm married to my tradeoffs but still poke when fancy strikes. Maybe you can show me an angle I hadn't considered though? Would love to make it even denser somehow!
- The hands-on guide takes you from player to tinkerer.
- The design rundown is my bucket document: a mix of tutorial (how), background (why), and reference (what). I hope you'll indulge my sloppiness and dig for what you need.
- The Forth source is damn dense, as its intended audience is just myself. For the adventurous!

