TIS-100 – Tessellated Intelligence System
zachtronics.com
zachtronics.com
As far as programming puzzle games go, Zachtronic basically has the market cornered.
[0] http://snakebird.noumenongames.com/ [1] http://www.stephenssausageroll.com/
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
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.
Making a TIS emulator in Elixir sounds like a fun and useless project.
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...
It looked neat but I have the same problem as with music games like Guitar Hero etc - I'd rather continue programming on one of my many pet projects or practice playing actual guitar...
I may be missing out though - I wouldn't know because I actually never invested more than 30 minutes in any of those games (also bought TIS-100 last year, never actually played it once).
Incidentally - are there any music games (rhythm, composition, etc) that are similarly "hardcore" as a TIS-100 that anyone would recommend?
I finally might be giving TIS-100 another shot as it is Sunday and all :)
Rocksmith does have its annoyances at times, though (the note recognition isn't perfect, so if you don't play absolutely perfectly it's going to miss notes occasionally, making the more difficult songs very hard to 100%).
https://www.rockpapershotgun.com/2016/10/03/can-video-games-...
A collaboration between them and Zachtronics would be lovely.
And yes, I did write one. It totally sucked, but it did work, mostly.
Perhaps you are even right since advanced Arduino programming (which many "Clever highschoolers" should be able to do) is in some sense like writing a really simple RTOS. :-)
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
[1] https://github.com/lucaspiller/dcpu-specifications
Shame it died, really.
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.
Mod looks cool, though.
Edit: Just realized there's a post about shenzhen too, woops.
TL;DR: basically Shenzhen is TIS-100++ and its freaking awesome.
Check it out here: http://www.zachtronics.com/shenzhen-io/
The video on that page was entirely made from ingame material, by the way.
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.
-=-=-=-=-=-=-=-
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...Gotta use those MSP430 assembly skills to bust through digital locks.
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.
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 [1] http://produto.mercadolivre.com.br/MLB-791538729-console-msx... [2] http://produto.mercadolivre.com.br/MLB-792461786-msx-expert-... [3] http://www.symbos.de/ [4] http://webmsx.org/
Sometimes you just want to write asm for an architecture that's far to bizzare to possibly be real. Is that so wrong?
US App Store link: https://itunes.apple.com/us/app/tis-100p/id1070879899
EDIT: NM, yes.... by the same
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.
There's nothing in the TIS-100 architecture that is unique or unheard of, just things that are left out of it.
That said, if you liked Uplink you should try Hacker: Evolution and HackNet.
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
[2] - http://www.corewars.org/
[3] - https://screeps.com/
[4] - https://github.com/jashkenas/coffeescript/wiki/list-of-langu...
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?
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.
None of this detracts in the slightest from their being great games but they're no more related to actual programming than Starcraft is related to leading actual troops into battle.