
TIS-100 – Tessellated Intelligence System - doener
http://www.zachtronics.com/tis-100/
======
esoteric_wombat
For really good non-programming puzzle games, I'd recommend Snakebird[0] and
Stephen's Sausage Roll[1]. Try out Snakebird first, it's cheaper and works
great on mobile devices. Don't let the cute art fool you, it's a monstrous
game. If you get through most of Snakebird and still don't hate yourself, look
into SSR. It's much more hardcore, but has some mind blowing puzzles.

As far as programming puzzle games go, Zachtronic basically has the market
cornered.

[0] [http://snakebird.noumenongames.com/](http://snakebird.noumenongames.com/)
[1] [http://www.stephenssausageroll.com/](http://www.stephenssausageroll.com/)

~~~
wolfgke
> As far as programming puzzle games go, Zachtronic basically has the market
> cornered.

I wouldn't say that: There is at least

\- Human Resource Machine

and if you look a little bit more around (programming games that are not
programming _puzzle_ games in the purest sense) there is

\- Else Heart.Break()

\- Glitchspace

\- Hack 'n' Slash

There also seem to be (I don't know this game, but it seems plausible to me
that they fit the list)

\- Cyber Sentinel

~~~
KirinDave
It's true, but all of those games are... well...

Zachtronics doesn't pull any punches. Their games are amazing. Even the
deceptively simple Infinifactory is actually full of amazing and beautiful
opportunities for elegant programming concepts (the first time you realize, "I
can... I can make a clock with controllably variable periodicity!? What?" And
TIS-100 resembles programming in a stripped down Erlang-like mode.

HRM is a great starter into the Genre, it's sure. But Spacechem is on a
totally different level of complexity and beauty and depth.

~~~
esoteric_wombat
What I should have said is that Zachtronics has the market cornered on
programming puzzle games _for programmers_. I could suggest Human Resource
Machine to someone who has never programmed before, but I would never do that
with TIS-100.

Making a TIS emulator in Elixir sounds like a fun and useless project.

~~~
qwertyuiop924
Somebody's already done one in C: [https://eviltrout.com/2015/06/29/an-
emulator-for-tis-100.htm...](https://eviltrout.com/2015/06/29/an-emulator-for-
tis-100.html)

And according to Zach, the intended market wasn't just programmers (which is
why he explicitly killed bit manipulation, and the largest number a TIS-100
register can hold isn't a power of two), and I've heard tales of non-
programmers enjoying it.

Then again, if you like Zachtronics games, especially TIS-100, then have I got
a hobby for you...

------
kukx
It reminds me of DCPU-16 that was supposed to be a part of the cancelled 0x10c
game[0]. The specs[1] of the cpu and other hardware where published and the
community created emulators, tools and programs around it [2][3]. Even custom,
virtual hardware.

It wasn't clear what the DCPU-16 was going to be used for. But the community
assumed it will handle navigation, communication, weaponary and internal
spaceship systems.

[0]
[https://www.youtube.com/watch?v=iLt4VVEJ9Kk](https://www.youtube.com/watch?v=iLt4VVEJ9Kk)

[1] [https://github.com/lucaspiller/dcpu-
specifications](https://github.com/lucaspiller/dcpu-specifications)

[2]
[https://www.youtube.com/watch?v=UqefqWol1Cw](https://www.youtube.com/watch?v=UqefqWol1Cw)

[3] [http://www.0x10cforum.com/](http://www.0x10cforum.com/)

~~~
qwertyuiop924
IIRC, that use was confirmed. There was also a minecraft mod that allowed you
to create computers with emulated 6502s as processors. It ran forth, but you
could also customize the OS.

Shame it died, really.

~~~
mjevans
I played that mod. It made me really want Forth to have been part of the
college education I had.

~~~
Pyrodogg
Ah yes, Red Power. The developer, Eloraam has been working on making a
standalone game based on it.

[https://twitter.com/TheRealEloraam/status/767550784464625664](https://twitter.com/TheRealEloraam/status/767550784464625664)

Also, if you like TIS-100 and Minecraft, check out the TIS-3D mod! It's
basically TIS-100 in Minecraft. Build your own modular computers.

[https://mods.curse.com/mc-
mods/minecraft/238603-tis-3d](https://mods.curse.com/mc-
mods/minecraft/238603-tis-3d)

[https://www.youtube.com/watch?v=CfJs2Xk8SdM](https://www.youtube.com/watch?v=CfJs2Xk8SdM)

~~~
qwertyuiop924
As I said, knowing Eloraam, it'll be done by 2029.

Mod looks cool, though.

------
swozey
I bought their newer game, Shenzhen I/O last night and it is very cool. It's
still early access but I've been enjoying it.
[http://store.steampowered.com/app/504210/](http://store.steampowered.com/app/504210/)

Edit: Just realized there's a post about shenzhen too, woops.

------
misingnoglic
For the record, the game is 50% off here (and 10% goes to a charity of your
choice):
[https://www.humblebundle.com/store/tis100](https://www.humblebundle.com/store/tis100)

------
mindcrash
If you loved TIS-100 you will absolutely love its follow up Shenzhen IO to
death. Its like TIS-100 (in regards to the "solve problems by programming"
part) only this time you also need to create the machine running your programs
by taking components and linking them together. And I explicitly say
"components" because you not only have microcontrollers, but also memory
banks, bridges, screens and the like.

TL;DR: basically Shenzhen is TIS-100++ and its freaking awesome.

Check it out here: [http://www.zachtronics.com/shenzhen-
io/](http://www.zachtronics.com/shenzhen-io/)

The video on that page was entirely made from ingame material, by the way.

~~~
TooSmugToFail
I've seen it, it looks great. Do you have any idea how useful it is for
actually learning how microcontrollers work?

~~~
admiralacorn
Not the person you're replying to, but it's a good primer/introduction to toy
with. Much of the waveform generation stuff and I/O aligns pretty well with
stuff that was taught in school. Granted, it simplifies stuff a bit since it's
a game. However, it does bring me back to my microcontroller design classes.

------
socmag
Watching the videos, this really brings how it felt learning to code circa
'76-'77... with Atari-2600 style sounds, an assembler (ZOMG), a back story
plus achievements! Love it :-)

These kinds of games should be mandatory for CS education. Even better if you
could toggle through the entire architecture being simulated, Bus, CPU/ALU,
Memory and all.

~~~
qwertyuiop924
There are a few differences: TIS explicitly aims away from bit-twiddling, and
in fact has no real bits to speak of (the integer range is -99 to 99, IIRC,
but it's definitely something along those lines.

------
JoeDaDude
Here is another programming game, this one with a nice GUI:
[http://tomorrowcorporation.com/humanresourcemachine](http://tomorrowcorporation.com/humanresourcemachine)

~~~
poisonarena
from the same company!

~~~
qwertyuiop924
No, actually.

------
jxy
The most fun I had with a programming contest is the ICFP contest 2007 [0].

[0] [http://save-endo.cs.uu.nl](http://save-endo.cs.uu.nl)

    
    
        -=-=-=-=-=-=-=-
        Spoilers ALERT
        -=-=-=-=-=-=-=-
    

You will be writing an interpreter to write images, then you'll find sound,
and you'll find yourself working with an interactive fiction, and...

------
gnuvince
A fun game I've been playing:
[http://www.microcorruption.com/](http://www.microcorruption.com/)

Gotta use those MSP430 assembly skills to bust through digital locks.

------
irfanka
You know what's also an open-ended programming game?! Programming.

~~~
dschuetz
Limited resources and means, you know, promote creativity. Programming a
modern standard computer nowadays is quite available to average Joe and Jane.
That's why we have tons of crapware. But, forcing them to program a less
common, sophisticated, complicated or limited architecture forces them to
adapt and into being more creative. This _serious game_ is quite a good
example, and, I suppose that was also the intention behind it.

~~~
tluyben2
I prefer actual old hardware for that (60-70-80s), that way the results really
give some strange satisfaction. Personal ofcourse.

~~~
speeder
Actual old hardware has a problem though: might me impossible to find.

For example I live in Brazil, I learned to code trying to port MSX Basic games
to a 286 GWBASIC, because I never saw a msx in person.

Also, some other hardware I would love to fool around and never saw one:

C64, Amiga, Sega Saturn, 3DO, PC Engine, non-Intel Mac, a real NES (I owned a
clone once), programmable calculators.

~~~
tluyben2
MSX's are hard to find in Brazil? I thought it used to be very very popular
there. I see many of them here [0] for prices I would definitely pay; here it
is very hard to find them for those prices still. I would buy stuff like this
[1] or [2] blindly. If you buy it I will pay you more + shipment to me :)

C64s are still ok to get in other countries; MSXs are getting scarce. I
managed to collect over 100 of them luckily as it is my favorite computer
(nostalgia sure, but I also find it important that young people can see how it
used to be).

I have all the computers you name there, several of each; I can trade you for
a working Gradient or Hotbit. Or just pay you :)

Personally I like the ZX Spectrum & MSX the best to code on, because I was
raised on Z80 assembly. After that the Amiga, but I already find that a bit
too advanced; MSX is so limited (a little over 3 megahertz & usually 64-128
kilobytes! of RAM) it really is a game to get things working at some speed.
But people are still doing it; for me the highlight is [3] which I find far
more impressive than the latest JS-soup framework :)

Then again, this [4] is impressive!

[0]
[http://lista.mercadolivre.com.br/msx](http://lista.mercadolivre.com.br/msx)
[1] [http://produto.mercadolivre.com.br/MLB-791538729-console-
msx...](http://produto.mercadolivre.com.br/MLB-791538729-console-msx-
gradiente-11-_JM) [2] [http://produto.mercadolivre.com.br/MLB-792461786-msx-
expert-...](http://produto.mercadolivre.com.br/MLB-792461786-msx-
expert-11-c-teclado-funcperfeito-revisado-ccaixa-_JM) [3]
[http://www.symbos.de/](http://www.symbos.de/) [4]
[http://webmsx.org/](http://webmsx.org/)

------
yonirom
One of my all time favorite programming puzzle games is Box-256, which I
haven't seen mentioned.

[http://box-256.com/](http://box-256.com/)

------
tempodox
If it weren't for this post, who knows when I would have found out there is an
iOS version of this game! Discoverability on the iOS AppStore is really bad.

~~~
quantumhobbit
I'm not seeing it on iPhone. Is it iPad only?

~~~
OberstKrueger
iPad only. It's listed in the App Store as TIS-100P.

US App Store link:
[https://itunes.apple.com/us/app/tis-100p/id1070879899](https://itunes.apple.com/us/app/tis-100p/id1070879899)

------
qwertyuiop924
Probably my favorite Zachtronics game. Although I haven't had a chance to play
IF or SIO yet.

------
graphenus
It's actually pretty good! Trapped me for couple hours solving some non
trivial puzzles!

------
SCdF
Did they just release two games at the same time (along with Shenzhen I/O)? Or
did I miss this one earlier?

~~~
indy
This is an earlier release

~~~
samstave
by the same people?

EDIT: NM, yes.... by the same

------
angryredblock
Love it -- reminds me of a more focused Uplink.

~~~
qwertyuiop924
This doesn't remind me of Uplink at all. For one thing, TIS very much focuses
on actual programming, even if it is an estoric language for an architecture
that could never exist.

~~~
strangecasts
> for an architecture that could never exist.

Interestingly, there _is_ a real world equivalent to the TIS architecture: the
GA144[1] has lots of memory-constrained Forth cores with software defined I/O
between them.

[1] [http://www.greenarraychips.com/](http://www.greenarraychips.com/)

~~~
db48x
Or the Connection Machine, where the individual processors were arranged in a
hypercube.

~~~
qwertyuiop924
Similar architectures could exist, but the exact one the TIS used? Not in a
million years, unless somebody was explictly doing it to recreate the game
IRL.

~~~
db48x
Ok, sure. It's only similar to architectures which have existed. I doubt there
have been any serious ones which limited you to a dozen instructions at a time
:)

There's nothing in the TIS-100 architecture that is unique or unheard of, just
things that are left out of it.

------
pmoriarty
I've played both TIS-100, and their earlier game, Space Chem. Like Space Chem,
which doesn't have a whole lot to do with real chemistry, TIS-100 doesn't have
a whole lot to do with programming. They use chemistry and programming as
window dressing for what are otherwise pretty uninspiring puzzle games.

To my knowledge, the game that gets closest to real assembly language
programming is Core Wars.[1][2]

Also, it's not assembly language, but Screeps[3] uses real Javascript
programming, or any language that compiles to Javascript.[4]

[1] -
[https://en.wikipedia.org/wiki/Corewar](https://en.wikipedia.org/wiki/Corewar)

[2] - [http://www.corewars.org/](http://www.corewars.org/)

[3] - [https://screeps.com/](https://screeps.com/)

[4] - [https://github.com/jashkenas/coffeescript/wiki/list-of-
langu...](https://github.com/jashkenas/coffeescript/wiki/list-of-languages-
that-compile-to-js)

~~~
jblow
I am not sure how you can say these games "don't have a whole lot to do with
programming". They _are_ programming.

Maybe you didn't ever have the experience of programming on an 8-bit CPU and
don't get the joke? The machines in these games are comically limited, "this
is like the cruftiness of an 8-bit CPU but even worse". The funny thing about
TIS-100 is that it's a speculative fiction game, postulating an alternate
reality -- what if we had gone down the path of multicore CPUs back when they
were still super-primitive?

~~~
jblow
Wait I just realized maybe a lot of kids these days don't know what assembly
language is and that's why one might say this "doesn't have a lot to do with
programming"???

~~~
DigitalJack
It seems to me that all programming is, in some sense, about solving puzzles.
I used TIS to as a platform to introduce my wife to programming, just to
expose her to it and see if it interested her.

She's very much into puzzle solving, so it seemed a natural presentation for
her. We shared screens (mac) and played together discussing how we would solve
the problem and then work together to implement it.

It was pretty fun. Honestly I wish there were more games that were cooperative
and not about shooting things. The only other game we play together, and have
for years now, is minecraft.

BTW, braid is still one of my favorites.

