A game that lets players to experience software development is an excellent way to teach programming concepts and coding, such as loops and conditional statements. Games that accomplish this include Zachtronics’ Shenzhen I/O, which puts players in the shoes of disaffected engineers working at an uninteresting chip company and have to design computer chips by hand. The circuits they are asked to design are more complex beginning with making lights blink in a specific pattern.
The interface of the game is very similar to tools for developers found in browsers and teaches scripting. Another excellent example is Screeps, which incorporates JavaScript coding with massively multiplayer online gaming to create self-sustaining colonies. Both games are excellent in teaching fundamental concepts and slowly introducing others.