I came across this new programming puzzle game on steam. http://www.zachtronics.com/tis-100/ The constraints of the machine make for some interesting programming puzzles. You get a grid of nodes. Each node can execute 10 or so really basic instructions (MOV, ADD, SUB, JMP, SAVE, SWAP). You only have one primary register and a "backup" register that can't be read from or written to directly but only swapped with with the primary register. You can also move data to IO ports connecting to adjacent nodes. The points are based on how well you optimize and balance cycle count, instruction count and node usage.