TIS-100 is a game where you program a fake computer using some kind of assembly language made of simple commands like MOV (to move things around), ADD (to add values to an accumulator), JMP (to jump to a label) and conditionals like JGZ (to jump to a label if the accumulator is greater than zero, for instance). The special thing about this TIS-100 computer is that you have a bunch of nodes physically located around each other and while they have a small space for you to write code, you can move values around and create complex programs. I had a really good time with it, even if I feel the game doesn't do enough to help non-programmers.
When you launch the game, you are offered to read a PDF that serves as the game's manual. It's a neat looking-thing and it serves as lore for the game but I'm not a fan of presenting help for the game that way. This is the biggest issue I have with TIS-100; there's no in-game help. If you get stuck on a tough level - and I did in a few of the later ones - your only strategy is to cheat and go look at the answer on the web. I really wish there were in-game tips, like trying to nudge you in the right direction. It's possible to do that without giving the whole solution away and that would've done wonders for me. The beginning puzzles are quite simple (like moving values from INputs to OUTputs) and when you complete them, you see a nice way to integrate your friend list; You see how you fared compared to other people who played the game, in number of cycles, nodes used and instructions. I didn't have many friends who played TIS-100, but it still was fun to try and compete.
There is very little in lieu of story around this game, but you have some text boxes that relate the general plot; Someone bought this computer from a garage sale and died and you now own it, go wild. Most levels have inputs and rules you have to follow in order to produce the desired outputs. The game runs multiple sets of tests (3 predefined and 1 random) so there's no chance for you to game the system. The TIS-100 has a bunch of quirks and it gets stuck easily if you try to read from a location that isn't writing anything, or vice versa. Stacks get added after a while and they allow you to place a bunch of numbers to use later. The game loses a bit of steam when it asks you to do image processing. You have to input values in a specific format to draw squares of color and it's a bit confusing.
I really liked TIS-100! It's not a game for everyone (non-programmers probably will have a rough time) but it was clever and interesting. I had to cheat to complete some of the puzzles, but overall I managed to beat it mostly fair and square. I'm not going to dive into the user-generated content, but if you like anything programming, you should try it!