8 ms·
I love the idea of almost every ZachTronics game. My issue with them is that they get close enough to actual programming that I invariably quit, and go actuall
by fake-name 8y ago
I love the idea of almost every ZachTronics game.
My issue with them is that they get close enough to actual programming that I invariably quit, and go actually work on a hobby programming project, rather then play. As a result, I generally buy the game, play the first few levels, and then go make some commits on a programming puzzle that has an actual end-result that I benefit from.
I really wish the games used an actual language or assembly opcode set. If I could play TIS-100 and practice ARM or AVR assembly, that would be amazing.
- colordrops 8y agoYou just articulated what has been bothering me about these games! I couldn't put a finger on it. I tried them out, and found them to be incredibly well made, and yet couldn't get myself to play them. I felt like I was seriously wasting time that I could spend doing actual programming, so I stopped. I think these games would do really well targeting an audience that is new to programming.
- fake-name 8y ago> I think these games would do really well targeting an audience that is new to programming. That's why I really, really wish they would use a real architecture's opcodes, or a real language.
- WorkLifeBalance 8y agoThat doesn't bother me because actual opcodes are the least transferrable skill of the parts of programming they teach. Yeah, I'm not going to be able to go from the games straight into x86 programming but when I come across the idea of op-codes and registers again I'll be in more familiar territory. What they do teach very well is the Test / Execute / Debug loop and problem solving.
- therein 8y agoExactly how I felt about Factorio. Building and optimizing pipelines... I do that at work.
- Moru 8y agoI believe these sort of games are made by people and for people that dont want or cannot do a thing for real but would love to try it out with a pause and/or fast forward button. Look at all the simulator games coming out from germany and other places. There are skyscraper builder simulator, busdriver, lots of farming, fire fighter and so on. Not to mention the flight simulator genre that is even used by pilots to practice. Coding simulators are more aimed at teaching you concepts and get you started thinking the right way.
- chongli 8y agoLife is too short to feel like you always need to be productive. Believe me, I know the feeling and I find it frustrating because it impedes my ability to relax. Time spent enjoying yourself and learning things (even if they aren't directly applicable to work) is not time wasted. Improving your problem solving skills is always good and it often feels good, as long as you keep the level of time commitment within a healthy range.
- Swizec 8y agoThe way I read grandparent is that the game feels so much like real work that you might as well get something out of it. I have the same problem with a lot of puzzle games: I already solve puzzles all day every day, might as well go work on those.
- taneq 8y agoNot the gp but that's exactly how I feel about these kinds of games. They're fun, but they're too close to what I actually do for a living and I might as well just go do some work. It means they're not relaxing.
- OberstKrueger 8y agoAlong those lines, as someone who just programs as a hobby and not a career, these games are just as much fun as any side project. They're a puzzle that uses similar logic, but I never feel like it's wasted time, since a lot of programming hobbies are "wasted time" in that they are fun for me to work on and sometimes produce something tangible, but it's mostly just about messing around with something new.
- TeMPOraL 8y agoI have the opposite feeling - solving "puzzles" for real-life work is tedious and boring (and the end result is just money), while Zachtronics games let me exercise the same mental muscles with much less frustration. EDIT: Urm, sorry. Zachtronics games let me actually exercise my brain, just like side projects. Real on-the-job programming these days is mostly gluing, which has nothing to do with technology, and is essentially navigating bureaucracy created by other people. You have state A, you know state B you want to be in, you have to discover the appropriate forms to fill in and stamps to collect on the way, and often perform kafkaesque dance around public keys and OAuth flows and related concepts. It's getting about as fun as tax forms.
- tokyodude 8y agomaybe it's more interesting if you aren't a programmer? I remember a 3d artist friend saying they had zero interest in Second Life which they saw as working outside of work.
- fpgaminer 8y agoI have the same problem. But I did just finish Exapunks. I think it was because the atmosphere of the game was very enjoyable, and the puzzles were a lot easier than usual. So it was easier to play a few levels as a break from real programming. I also really love Zachtronic's earliest games. IIRC there's one about designing ICs at the silicon level, and one about reverse engineering hardware. > I really wish the games used an actual language or assembly opcode set. If I could play TIS-100 and practice ARM or AVR assembly, that would be amazing. Yeah. A lot of Zachtronic's games and other programming/hacking type games really leave me with a similar hunger for something more realistic. So I ended up making a prototype of such an idea where you can find and exploit a bug in an emulated ARM core to unlock a door: https://vimeo.com/271555947 https://vimeo.com/271555947 EDIT: This was the early reverse engineering game that Zachtronics released: http://www.zachtronics.com/ruckingenur-ii/ http://www.zachtronics.com/ruckingenur-ii/ it's free and short; worth a playthrough. And this was the semiconductor game: http://www.zachtronics.com/kohctpyktop-engineer-of-the-people/ http://www.zachtronics.com/kohctpyktop-engineer-of-the-peopl... Of course Zachtronics is also indirectly responsible for Minecraft, so there's that too :P
- jsnell 8y ago> So I ended up making a prototype of such an idea where you can find and exploit a bug in an emulated ARM core to unlock a door It sounds like both you and fake-name might like Microcorruption: https://microcorruption.com/ https://microcorruption.com/
- TeMPOraL 8y ago> Of course Zachtronics is also indirectly responsible for Minecraft, so there's that too :P For those who don't know the story, Zachtronics had this game called Infiniminer[0], from which Notch apparently took the idea for block-based game[1]. From the words of Notch himself[2]: "But then I found Infiniminer. My god, I realized that that was the game I wanted to do. I played it in multiplayer for a while and had a blast, but found it flawed. Building was fun, but there wasn’t enough variation, and the big red/blue blocks were pretty horrible. I thought a fantasy game in that style would work really really well, so I tried to implement a simple first person engine in that style(...)". -- [0] - http://www.zachtronics.com/infiniminer/ http://www.zachtronics.com/infiniminer/ [1] - https://minecraft.gamepedia.com/Infiniminer https://minecraft.gamepedia.com/Infiniminer [2] - https://notch.tumblr.com/post/227922045/the-origins-of-minecraft https://notch.tumblr.com/post/227922045/the-origins-of-minec...
- mikorym 8y agoI was going to ask this (whether it involves actual programming). Maybe it would be useful to teach more inaccessible parts of actual programming. Assembly is a good example of something useful which I would assume a lower % of programmers have time to practise. Another example is reading source code. Again, a smaller % of progammers do this as a hobby. There was an example of the algorithm that turns the screen red in Doom. If I recall, this led to an interesting HN rabbit hole.
- fridek 8y agoColobot, released in 2001, was a game like this. You used a C++-like language to program robots as an astronaut on a planet somewhere.
- gambiting 8y agoI never thought I'd see a mention of Colobot on HN - but yes, you could play the entire game like a normal action-adventure 3D game, or program robots to do everything for you and just sit in one place the entire game. It was amazing.
- chc4 8y agoI highly recommend https://microcorruption.com/ https://microcorruption.com/ - it was a game by (the now defunct) Matasano to do hiring for exploit researchers, and is a lot of fun. You're given the disassembly for an ARM e-lock and told to craft an exploit to gain access.
- pdpi 8y agoIt's an MSP430, not an ARM, but yeah — definitely recommend MicroCorruption
- monkeynotes 8y agoThis is generally my opinion about all gaming. I'd rather do anything with real world results than spend time and money on video games. As a kid I would spend a whole summer on the PC playing SimCity, Doom (I am old), and later Rainbow Six (I loved that game), but eventually I realized how empty I felt after playing those games to death. Oh, and Tetris dreams, I don't miss them one bit. I still get the same effect if I work on a programming problem relentlessly into the night, dreaming in code is torment for me.
- OskarS 8y ago> ...spend a whole summer on the PC playing SimCity, Doom (I am old), and later Rainbow Six (I loved that game)... You're really not THAT old :) On your main point: I disagree. Even if they don't have "real world results", that doesn't mean that they're not valuable. They have value as cultural products much like books and movies do, but I also think there's an inherent value in "play" itself. It gives us joy, it teaches us how learn new skills, it gives as a practice arena for social interaction, and it exercises the parts our brains dealing complex thinking, spacial reasoning and reaction. It's also just plain fun, and that's not nothing. You could say playing games "has no value" in the sense that reading a novel "has no value": doing this activity doesn't contribute anything to the world. It's just good for you.
- bitwize 8y agoI feel the same way lately. Occasionally I'll fire up a game, play for a while, get bored, and go back to programming. Then I get bored programming because outside of my work, I can't think of what to make... besides games. Or things tangentially related to games, like music synthesizers or things that draw cool effects on the screen.
- empath75 8y agoTIS-100 and Shenzen-io are actually a good introduction to the concepts behind assembly, even if they're on a toy platform. I had done a lot of python and ruby programming, but I didn't know what a register was or an op code, etc, until I played around with those games. It also was the first time I understood what a pointer is and "low level" programming in general, and gave me enough of a knowledge base to get a grasp on Rust and start learning it.
- Terr_ 8y agoOf the bunch, my favorite so far has been Infinifactory, I think because it's metaphorical floor for solutions is usually lower, and the solutions are visually pleasing in a way that doesn't require you to understand code.
- HeavyStorm 8y agoWell, I prefer games that abstract the programming behind a nice visual. SpaceChem is still a favorite and while I haven't actually played it, Magnum Opus is my next in the list.
- foobiekr 8y agothis, basically. I've been programming since I was 8 and professionally for decades. Shenzhen I/O was very cute at first and then just became an exercise that closely resembled work.
- akashaggarwal7 8y agoI never knew about ZachTronics. I was excited to buy the game but then I saw your comment, which was a doubt I had in mind. Now I don't really want to buy the game. Thanks!