A game that lets players experience software development could be an excellent way to teach programming concepts and coding concepts, such as loops and conditional statements. Zachtronics Shenzhen I/O is a game that does this. It puts players in the shoes angry engineers who work for a non-existent company and are required to design computer chips manually. They are given increasingly challenging circuits to design. They begin by making lights flash in a certain pattern.
The game’s interface is very similar to that found in browsers, and it helps students learn scripting. Screeps is another excellent example that combines JavaScript code with massively multiplayer online games to build self sustaining colonies. Both games excel in teaching fundamental concepts and slowly introducing others.