Invent with Scratch!
Scratch is a graphical programming environment from MIT. It teaches programming concepts to kids by snapping “code blocks” into place to form complete programs. Scratch is completely free.
You can start creating with the Scratch editor in your browser immediately. It's helpful to sign up for an account on the website so you can save your work online.
While making animations and programming simple behaviors is intuitive, I found that there were not a lot of Scratch examples for complete game ideas. The screencasts on this site walk step-by-step on how to construct these programs. Even if you do not have much experience with Scratch, the sceencasts are designed to be easy to follow along.
I wrote Scratch Programming Playground, with many of these projects. You’ll learn to program by making cool games where players destroy asteroids, shoot hoops, and slice and dice fruit!
Each game includes easy-to-follow instructions, review questions, and creative coding challenges to make the game your own. Want to add more levels or a cheat code? No problem, just write some code.
I've finished an online course on Udemy that follows the first six projects from the book. You can sign up for the online course for free with the coupon code INVENT_WITH_SCRATCH.