Live data from Hacker News

Ask HN: Which programming games helped you become a better programmer?

news.ycombinator.com

61–70 of 90 posts

Re: Ask HN: Which programming games helped you become a better programmer?

#62

I never understood the point of games that emulate the programming experience. Whenever I play them I feel like I'm wasting my time and I could be making something real.

Also, I don't particularly love the act of writing code itself, I like the results (problems getting solved or fun things happening) of which there are none in most of these games.

Interestingly it seems it's the exact opposite for games simulating other kinds of jobs. I hate driving, I do it to get somewhere and nothing else. But trucking simulators? Endless fun and relaxation. Same thing with chopping onions, which I only do to make a nice meal. But in a burger joint simulator? I'll gladly slice tomatoes for two hours!

Re: Ask HN: Which programming games helped you become a better programmer?

#63
Many good suggestions in here already, so I'm just gonna add Space Engineers.

It's a voxel-based spaceship building game, where you can quite literally design your spaceship from scratch. If that's not enough for you, you can interact with your creation by writing c#-scripts that are stored in physically accessible programmable blocks.

There's also a large modding community you can get into.

Re: Ask HN: Which programming games helped you become a better programmer?

#64
Playing Battlesnake has helped me become a better programmer. I've used it to gain experience in multiple new (to me) programming languages as a freeform way to practice without deadlines, I've learned new algorithms and how they apply to game solving, and I am beginning to understand how many game-solving algorithms can be applied to more practical applications since "games" in the game-theoretic sense can just as easily be models of real-world situations where the players are rational people instead of "game" participants. For example, "pathfinding" and "decision making" has many parallels.

Learning game tree searches such as minimax, MCTS and CFR is teaching me about tree/graph algorithms and data structures, how to work with, reason about, and test explosive search spaces where the entire tree can't be feasibly completely exhausted, in the process of researching these things I've learned to read whitepapers in the literature that would otherwise be scary to me as a developer and actually care to understand the math, it inspired me to tinker with Formal Methods including TLA+, and all the while having fun and making friends.

Learning Goal Oriented Action Planning, or GOAP (which I actually didn't apply to Battlesnake in the end, but I never would have found it if I wasn't looking) helped me optimize my real-world productivity by translating the concepts from game AI to personal task planning. In my head there is an analogy now between handling backlogs according to the current working context, and a GOAP-like stack based finite state machine. Learning a simple game algorithm helped me procrastinate less.

For newer developers, you'll also out of necessity learn many real-world web development and ops concepts because the way Battlensnake works is that you run your own web server conforming to their move API. So you have to keep your snake AI up and reachable, responding to each request within the allotted timeout, and know the basics of HTTP on day one. Games can also run concurrently so you learn how to deal with concurrent games and whether to make them stateful or stateless between turns, which can be a different experience on different web frameworks/languages and might teach you about things like threading or the actor model or distributed systems.

For advanced developers, there's always somewhere to go next. Your snake AI can be anything from hard-coded rules to tree searches (as mentioned above) to deep reinforcement learning.

https://play.battlesnake.com/

Re: Ask HN: Which programming games helped you become a better programmer?

#65
post #42

I like CTF stuff. I tried this one called yolo space hacker: https://store.steampowered.com/app/1341450/Yolo_Space_Hacker... I like it because now I have something gameified to recommend to people who want to break into computer security. It was REALLY easy for me as someone who's been mired in that world for a long time, though I'm probably going to buy the other missions to see if they pose more of a challenge. Mak…

How does the game helps to get into computer security?

The goal of the game is hacking into a facility.

Re: Ask HN: Which programming games helped you become a better programmer?

#67

Factorio. Factorio doesn’t exactly have code. However, it’s very much a game about systems, and how to efficiently build and manage them. In fact, Shopify expensed the game for their employees [1] 1: https://twitter.com/tobi/status/1294330081452666882

I think of Factorio as a circuit board designing game more than programming. Still fun as heck though.

Dunno, I think it captures several of the skills needed in programming, not the actual writing code, but both refactoring and optimization are translated fairly accurately.

Re: Ask HN: Which programming games helped you become a better programmer?

#68

I never understood the point of games that emulate the programming experience. Whenever I play them I feel like I'm wasting my time and I could be making something real.

You're absolutely right, it is extremely hard to emulate the programming experience via such games. If you break down the skills you need in most (with obvious caveats) programming related jobs - reading others' code, explaining your code to others, designing, documenting, brainstorming, breaking down problems, etc, etc, it is difficult to train for those. In the abstract, it makes sense to practice those skills since for many programmers there isn't anything exciting happening day-to-day, and there is a lot of grunt work maintaining existing code bases.

In most physical fields (athletics being an easy example) there is an amazing amount of carry-over from training into performance. Training being where you build up skills and performance being when you apply said learned skill to the performance. But in more abstract and cognition-heavy fields its muddy and vague.

Re: Ask HN: Which programming games helped you become a better programmer?

#70

I never understood the point of games that emulate the programming experience. Whenever I play them I feel like I'm wasting my time and I could be making something real.

I've played a couple of these games (Opus Magnum, EXAPUNKS). What I liked about them is that they distill the experience of software engineering to "just the fun problem solving" part.

In these games, you don't write RFC, set up CI for your project, do code reviews or battle old dependencies. It's just you, a clear goal and all the right tools to reach it - somewhat similar to assembling Lego (or Ikea furniture) but with the fun of problem solving added.

Making something real would definitely net you a more satisfying end result, but maybe wouldn't be as entertaining. Obviously this depends a lot on what you find fun in programming and how smooth your real projects go!

Post reply on HN