Games that teach you to program (without you realizing it)
Brian Greig

Brian Greig @ignoreintuition

About: Senior Engineer specializing in integration, data collection, data visualization, and data analytics. Family man and board game geek.

Location:
Charlotte NC
Joined:
Nov 11, 2017

Games that teach you to program (without you realizing it)

Publish Date: Jul 24 '18
30 23

I've been replaying a game recently on Steam called Spacechem. I had never realized it before but this game does an excellent job of simulating programming. For example:

  • Creating small, modular components that can be used in conjunction to create more complex systems
  • Multiple processes run in parallel and need to be managed concurrently
  • Bugs in your dependent modules that were tested individually can break when incorporated into larger systems if not thoroughly tested

I could go on but you get the idea. The premise of the game has nothing to do with programming but, fundamentally, it is requires the same skills and techniques to be successful. It's amazing because when I started playing this game 6 or 7 years ago I never thought of it as, basically, a training module for building complex applications.

What are some of the games that you found invaluable in learning to program? I am not specifically talking about the obvious ones like CodeCombat, which are great games in their own right, where the primary objective is to teach programming. I am referring to those that are more subtle and teach you the techniques while not ultimately being a coding exercise disguised as a game.

  • BG

Comments 23 total

  • Guidouil ツ
    Guidouil ツJul 24, 2018

    Well this game is not related to programming but it teaches you how to properly use VIM shortcuts :)
    vim-adventures.com/

    • Brian Greig
      Brian GreigJul 24, 2018

      I’ve played this before. It’s a clever way to teach Vim.

  • Matt Miller
    Matt MillerJul 24, 2018

    Zachtronics have more programming oriented games as well! Some are abstracted logical thinking games where it will teach programmatic thinking, others are more literal low level coding games.

    Abstracted
    zachtronics.com/infinifactory
    zachtronics.com/opus-magnum

    Assembly style programming
    zachtronics.com/shenzhen-io
    zachtronics.com/tis-100

    You also have Human Resource Machine, which is somewhere between the 2 types.
    store.steampowered.com/app/375820/...

    Then if you want to lose all your free time to a game that benefits from programmatic thinking you can try Factorio. I'd try the demo first but it's £21 very well spent, with more content and value for money in early access than most fully released games. An example of early access done very right.
    store.steampowered.com/app/427520/...

    The developers also release a weekly blog describing what they're working on, which often features lots of C++ and game design discussions.
    factorio.com/blog/

    • Brian Greig
      Brian GreigJul 24, 2018

      Factorio has been in my Stram wish list for months. Maybe it is time to bite the bullet and buy it.

      • Matt Miller
        Matt MillerJul 24, 2018

        No reason to not try the demo. It can last you a few hours and gives you a good experience of the gameplay through some structured objectives and maps.

        • Brian Greig
          Brian GreigJul 26, 2018

          I downloaded the demo last night. So far I am enjoying it.

      • John Alcher
        John AlcherJul 25, 2018

        Its too time consuming that I have to issue a refund :/

    • Dian Fay
      Dian FayJul 24, 2018

      The assembly language set are a bridge too far for me (if I want to write code for fun I'll write code for fun) but Opus Magnum is phenomenal. The use of independent armatures instead of Spacechem's waldos really emphasizes reuse, multitasking, and parallelization in ways that are difficult-to-impossible for strictly procedural programs.

      • Kasey Speakman
        Kasey SpeakmanJul 25, 2018

        I'll have to give Opus Magnum a try. I played Spacechem, but I was disappointed by the lack of any real reusability. For me it basically highlighted why effectful procedural programming makes reuse impossible.

        I did play through TIS-100, and it was a bit too far for me as well. But it taught me a couple of things. 1) Pushing through that feeling of "this is impossible", which was a frequent experience. 2) Modern languages/compilers/cpus are freaking amazing feats of engineering.

        I started playing Shenzhen IO. Then I found this, and my brain exploded.

        InfiniFactory is on my wish list.

        Factorio is amazing, but I now find it hard to play through from the beginning, because there is so much to get through to arrive at automated construction with drones. I feel like it really needs an early game automated construction mechanism. I've been meaning to leave feedback with some ideas about that, but they suggest doing so through their forums. And I never want to leave feedback on forums ever again.

  • John Alcher
    John AlcherJul 25, 2018

    I just realized that I've played Counter Strike ever since I was a kid. Its console is pretty much my first exposure to a CLI, so there's that :)

    • Brian Greig
      Brian GreigJul 25, 2018

      There are definitely a lot of aspects of games that lend themselves to learning the tools we use everyday. I think this could be a discussion in and of itself.

      • John Alcher
        John AlcherJul 25, 2018

        On a higher level, this shouldn't come as a surprise. We are software developers, and games are, erm, software themselves. But it really is amazing how the complexity is hidden with the entertainment that we easily and happily consume.

        • Brian Greig
          Brian GreigJul 26, 2018

          Probably why there is so much overlap between developer and gamers :)

  • Kasey Speakman
    Kasey SpeakmanJul 25, 2018

    In addition to Zachtronics games and Factorio mentioned in comments, here are a few others, most of which are only slightly related to programming.

    Mobile games

    Cargo Bot - procedural programming a cargo crane, iPad only tho
    Trainyard - more of a puzzle/simulation game but definitely has planning and problem solving aspects.

    PC Games

    I find that tower defense games have somewhat an element of programming with planning your tactics to accomplish the goal. Perhaps they are more like Ops since there is a live element after the initial setup. Along those lines, one of my favorite games -- considered "FPS tower defense" -- is called "Orcs Must Die!" (here it is on Steam).

    Another, but maybe a slightly different dimension of "programming".

    X3:Terran Conflict or its successor X3:Albion Prelude. This game seems impossible / terrible to start, and still has outstanding bugs. But it has such rich and deep gameplay if you push past that. The part I really like is the economy simulation aspect, where you can build space factory complexes and vast trading networks between them and the rest of the universe. You can "script" your supply/delivery fleet to run automatically -- the in game "ship software" to do this are called CLS (Commodity Logistics Software) and CAG (Commercial Agent). The first hour I played X3:TC I thought buying the game was a mistake. But rather than stop playing, I wanted to find the fun that people were talking about. I ended up playing it for 6 months solid -- as in multiple times a week, hours at a time where possible. I still go back and play it now and again to try to get the last 2 achievements.

    Design games

    Design / UX is an integral part of good products.

    Empyrion - Galactic Survival. The core mechanic is to survive with food, water, heat, oxygen, health on potentially inhospitable and hostile planets (first person style). However, one of the real gems of this game is that you build your space craft and bases (space or terrestrial) out of blocks. They have some pre-mades you can spawn and use, but I have had a lot of fun making my own in creative mode. It has really showed me how terrible I am at designing things. I have a couple of things on the workshop that I do think look decent and are very functional (after a lot of iteration). Like this.

    I've heard that Space Engineers is similar to Empyrion in the way you design things. Not sure beyond that.

    Eh, I like games. I really want to build a game that combines the best aspects of some of these.

    • Brian Greig
      Brian GreigJul 26, 2018

      Those are some heavy games. Nice choices.

  • Kasey Speakman
    Kasey SpeakmanJul 25, 2018

    Oh yeah, another game I'm looking forward to being released is Satisfactory. It looks to be along the lines of Factorio, but first person. Looks amazing.

    • Brian Greig
      Brian GreigJul 26, 2018

      Those Goat Simulator guys aren't messing around.

  • Noxens
    NoxensJul 28, 2018

    It seems like no one mentionned Hacknet

    • Brian Greig
      Brian GreigJul 28, 2018

      I haven’t played Hacknet but it sounds very reminiscent of Uplink.

  • Moly Roy
    Moly RoyJul 18, 2024

    The app boasts a clean and intuitive interface, making it easy for both beginners and experienced players to navigate and enjoy the game.

  • Tarique Abro
    Tarique AbroJul 22, 2025

    Great pick with SpaceChem! I'd add TIS-100 and Human Resource Machine—they sneak in core programming logic so well game vault 999 apk, you’re optimizing loops before you even realize it.

  • jasonmiller
    jasonmillerSep 5, 2025

    Absolutely! Games that teach skills subtly are the best—reminds me of how 89F Game APK Download challenges you to think strategically without feeling like a tutorial.

  • Randyorton Randyorton
    Randyorton RandyortonOct 21, 2025

    Games that teach programming subtly, like Human Resource Machine or CodeCombat, turn logic and problem-solving into fun challenges. Players learn loops, variables, and conditionals while progressing through engaging levels that feel more like puzzles than lessons. This playful approach mirrors the immersive experience of Mega888 , where entertainment and skill development blend seamlessly. Both encourage strategic thinking, attention to detail, and persistence, proving that learning complex systems—whether coding or gaming can be exciting, interactive, and rewarding when built around engaging and well-designed experiences.

Add comment