Several Zachtronics games are just "programming, but intentionally annoying".
I don't really see the appeal compared to ordinary programming. My favorite programming game has actually been a flash game where your goal was to transform binary strings (represented as sequences of blue/red dots) into other binary strings. You were still writing in Befunge, but the rest of it came off as trying to be helpful to the extent possible, rather than giving you a goal and then disabling the tools you'd want to use to get there.
I feel like there are different types of constraints. Some are useful for creativity (limited number of specific resources), some are annoying (making you work harder to achieve known goal).
I stopped playing exapunks because of this before the end. The limited instruction set, limits on movements, etc. are cool - they force new solutions. Not having functions or advanced templates is just annoying - I need to implement the same thing multiple times, by copy-pasting.
I see Zachrtonics games as just the fun part of programming. Programming, but you don't need to mess with build files, tooling, unit testing, deployment, maintenance, customers, PMs, etc... It's just the puzzle solving part of programming, which is my favorite part of programming.
They're the line for me. Factorio is fun, Zachtronic not so much. And within those: Opus Magnum was better than others because the presentation appealed to me. Factorio I do not play "efficiently" because the "just plop blueprints and let bots handle it" style is boring - I much more enjoy organically grown chaos. Sometimes play challenges with artificial limitations.
It's one of the games I was thinking of as "programming, but intentionally annoying". Checking my installation, I seem to have completed the first three chapters.
Some things off the top of my head that I find annoying:
- Puzzles start feeling like they're asking more for busywork than for puzzle-solving. I enjoy thinking about "how do I do this?" I don't enjoy thinking "well, I know exactly what I want to do, but it's a huge slog to actually go through the motions."
- You can't rotate the thing that accepts a polymer. So if you end up making the correct thing, but your orientation is off, you get to manually re-lay every part of your machine, instead.
- Everything uses the same clock.
- You can't even apply purely mechanical fixes for everything using the same clock, like a three-arm grabber with one of the arms cut off. There goes the conceit that the rules are justified by the theme.
I like that Opus Magnum scores you separately on time, space, and monetary cost. That was a good idea. I like working out fundamental minimums for how quickly I can produce something (based on the source pieces I'm allowed...) and designing something that can achieve that. The animation of a completed machine is fun to watch.
I think the monetary-cost mechanic seems underdeveloped.
> Puzzles start feeling like they're asking more for busywork than for puzzle-solving. I enjoy thinking about "how do I do this?" I don't enjoy thinking "well, I know exactly what I want to do, but it's a huge slog to actually go through the motions."
Wow, I just finished the first level and I can already tell that I'm going to love this game. Tightly crafted puzzle games are my favorite genre - thanks for mentioning this one.
I much prefer Spacechem. Opus Magnum has the control separated from the machine, so it’s easy to optimise all the timings. With Spacechem, you have to play with having the red Waldo control the blue, because the blue already has a command at that point.
I guess it’s like Harvard vs. Von Neumann. Harvard is more practical, but Von Neumann allows more fun hacks.
I don't really see the appeal compared to ordinary programming. My favorite programming game has actually been a flash game where your goal was to transform binary strings (represented as sequences of blue/red dots) into other binary strings. You were still writing in Befunge, but the rest of it came off as trying to be helpful to the extent possible, rather than giving you a goal and then disabling the tools you'd want to use to get there.