Somewhat proudly presenting...
Copy and paste the snippet below into your HTML.
Note: This cartridge's settings do not allow embedded playback. A [Play at lexaloffle] link will be included instead.
This is a demake of possibly the least visually compelling and overall ill-suited games to port to Pico-8; TIS-100!
If you are familiar with Zachtronics games (and frankly why wouldn't you be?), you will be aware of this game already but in case you aren't, here's a (non-manual) way of explaining what it is:
TIS-100 is a virtual computer system produced in 1972 featuring a multiple-core architecture. Basic Execution Nodes can have up to 16 lines of assembler-esque code written into them and data is passed from one core to another. Each core only has one accumulator register and a non-interactable bak register. There are also Stack Memory Modules which can have up to 16 numbers pushed to and popped from them. The goal of the game is to read the instructions for each level, take the inputs from the top and using the nodes and modules, output the correct values at the bottom.
- the first 17 levels that only feature Basic Execution Nodes and Stack Memory Modules. The Visualization Module isn't implemented in this.
- mostly near as damnit accuracy of the original game. I can't say that the tick/cycle counts will be the same (they won't) or that the ANY orders are the same when multiple nodes are all in read or write contention, but that shouldn't impact on your gameplay experience.
- high scores are saved but understandably code is not. copy and pasting level data is included but was mostly used for playtesting and there is no error checking on paste.
- a somewhat comprehensive version of the manual is included for those that aren't familiar with syntax.
Notes on control
Obviously taking a 100% keyboard driven game and mapping it to a dpad and two buttons isn't easy or even sensible, but I've hopefully made it as painless as possible. I did not want to enable devmode for this game as your Pico-8 didn't ship with a keyboard out of the box! Plus I wanted to play the game on my Linux based handheld emulator device. Controls are described at the top of the manual.
Change focus between three elements; playback, editor and navigation. Circle generally enters and allows edit, whereas Cross backs out. Setting labels on code is probably least intuitive and could do with a slight tweak, but I wanted to ship this nice and quick and it isn't so bad once you get used to it.
Final notes / disclaimer
I hope anyone who enjoyed playing the PC version enjoys this, even if it's a funny diversion. I enjoyed playtesting it and surprisingly the one-node-per-screen limitation wasn't as much of an issue as I feared.
I have done my best to make sure inputs and outputs are correct, but entering hundreds of numbers on a 65 key keyboard is likely to result in a typo and if that has happened, I apologize wholeheartedly. Let me know if there's an issue and I'll fix it. Likewise if you notice an issue with code you've written, please drop a comment below and I'll see what I can do. Tokens and most of all size are quite tight now.
Lastly, if the thought of playing this game interests you and you have not played the original (or any Zachtronics game), please please please check them out. Zachtronics literally gave birth to the Zach-like subgenre of puzzle games so give them a little love! Zachtronics' website