With all the stay at home orders in place across the country, and world, parents are struggling to keep their children both entertained and educated. One thing I’ve heard over and over from my friends and family is they are searching for ways to encourage their kids to put down the controller (this is difficult with Animal Crossing still being very new). One tip that may be helpful is to use their love of games to help them learn a new skill. If you are in this boat, I’ve gathered together several great resources to use games to teach programming. There are options for kids as young as 5 to learn basic programming concepts without needing to type out long lines of code.
Scratch was created by MIT as a way to teach children between the ages of 8 to 16. It is free and runs in an internet browser, so is available on any device. There is no typing code. Instead, kids use graphical blocks that represent code functions. This is great for learning the logic principles of programming in a way that is accessible to young kids. It's set up in a way that makes it easy to build simple games or interactive stories. It even allows users to add their own images and sounds, or use the included paint editor to create their own characters. One key aspect of Scratch is all projects published to their website can be opened in the editor. This makes for a great learning opportunity when getting started. They also offer tons of tutorials. You won’t be able to create anything very complex here, but the point is to develop their creativity and reasoning skills.
ScratchJr is an iPad/Android app version with an updated UI to make it easier for children 5-7 to pick up and begin making their own creations.
GameMaker Studio 2
Now we are getting into the big apps. Gamemaker is a fantastic 2D game engine that is surprisingly easy to use. The scripting is node based, and works very similar to the scripting blocks used in the educational options above. The transition from Code.org or Tynker to Gamemaker should be pretty smooth. It also includes tools for making all your images and animations. Some pretty noteworthy games have been developed in Gamemaker. The base cost is $40, or if you want to be able to sell your creations, there are different licenses depending on platform.
Unity is a full fledged game engine with a great roster of shipped games. You can create 2D or 3D games, VR projects, and anything else you want. While it's not the easiest to learn straight out of the box, I’m giving it a mention here because of Unity Playground. This is a project that you can download for Unity that simplifies things and gives a good framework for newer users to create a simple 2d game. Year after year, Unity keeps growing in power and popularity. If you have an older kid that is considering game design, Unity should be on their radar.
It's hard to talk about game development without talking about Unreal Engine. Unreal has been around for a long time and powers some of the biggest games. Games like Fortnite. In fact, if your kids play Fortnite on the PC, Unreal Engine is available in the same Epic Games Launcher. It's free to use, but it is quite complex. Although it is difficult to learn, there are a LOT of tutorials and their documentation is extensive. Unreal has grown beyond just a game engine. It is now used extensively in Architecture, Film, TV, and more.
This is just a few of the many resources out there to get your kids into coding or game design. Even if they don’t want to be full programmers, learning the basics of coding will become more and more important. Building reasoning and logical thinking skills alone make this a worthy avenue to explore. If you have experience with any of these, or any other resources please share your experience in the comments below. There are plenty of people in similar situations that would love to hear more opinions.