Game Based Learning Code Combat -- http://codecombat.com/ -- Born out of the belief that you learn by doing, Code Combat is a game-based computer programming program masquerading as a multiplayer game. This is Sir Talks A Lot's current and all time favorite way to learn programming. He is learning Python, although the program offers instruction in Java and many other languages. We purchased a subscription, which provides access to tutorials and opens many more levels of game play. However, even without the subscription, there are hints and a forum to provide answers to questions.
This rather lengthy video clip shows entry level game action and is a great way to assess the game.
Gamestar Mechanic -- https://gamestarmechanic.com/ -- This program offers several ways for students to learn programming. There are quest games which are designed to teach programming skills by having the player use them to solve problems. Players can also create their own games or take a course with an instructor to learn how to develop a game, Once the student has designed the game, s/he can share it to a community forum and get feedback. The audience for this program is stated as kids between the ages of 9-14. The purpose of this program, as stated by its creators, is to serve as an entry level programming vehicle to spark a passion for designing games and learning programming.
Cargo Bot -- https://itunes.apple.com/us/app/cargo-bot/id519690804?mt=8 -- This iPad app features a series of logic puzzles which are designed to teach basic programming skills. The game uses a simple, visual drag and drop programming language. The simplicity of the game itself makes this game appropriate for very young students; however, the appeal of the challenges makes it suitable for all audiences.
Hakitzu Elite: Robot Hackers -- http://www.kuatostudios.com/games/hakitzu-elite/ -- This app is available for either Android or Apple technology and offers game play with increasing levels of difficulty so that players can learn to program in Java. Players in this game have to use code to tell their robot avatar what to do in order to defeat the opponents in the game. The play progresses from the most simple level of play where the code is modeled for the player to the advanced level where the player is expected to be comfortable with writing code. As with most of these games, the goal of the game is to make coding attractive to players so that they will be enticed to learn more. It does not claim to offer a complete programming tutorial.
Hack 'n Slash -- http://www.hacknslashthegame.com/ -- Many aeons ago when I was a young thing and video games were new and almost all open source, hacking was a common occurrence. Which is to say that game players learned coding by hacking into and improving their favorite games. This game is based on that principle. Players must use logic and creativity to rewrite elements of code and change the game in order to proceed through the game environment. I think the experimental, intuitive nature of this app is extremely appealing.