
Python for Kids brings Python to life and brings you into the world of programming. For kids aged 10+ (and their parents). The code in this book runs on almost anything: Windows, Mac, Linux, even an OLPC laptop or Raspberry Pi!
Other than that, it all depends on which part he'll like more if he starts......graphics, coding, game assets, level design and so on.. by the time he figures that out, he'll be able to pick a game engine for "adults" (for example, Unity)
1. These game engines claim to be kid and beginner friendly: - https://www.kodugamelab.com - https://www.cocos.com/en/
2. Python is a solid all-rounder, future-proof skill
Here are some free resources:
- https://github.com/pygamelib/pygamelib - https://kidspython.com - https://wiki.python.org/moin/BeginnersGuide/Programmers - https://www.geeksforgeeks.org/python-for-kids/ - good starting point with general Py guidelines for kids. - https://github.com/mytechnotalent/Python-For-Kids - very cool free book
3. Playing Minecraft, Roblox, beamNG, or any other game that supports mods & user made goodies. It's a good place to start building something in that environment. This can even bring some money if the idea becomes popular among the game's community.
4. The Hardware side of things
- building STEM games - with countless of gadgets, toys and other crazy devices out there. ( ex: Osobots ) These may become a bit expensive quite fast, but rewards on this path are surely worth it - on the CyberSecurity side, there are some cool little gadgets that can run all kinds of clever games - pwnagochi (a tamagochi pet that eats wi-fi to stay happy and needs to be fed), FlipperZero ( https://lab.flipper.net/apps/category/games ) - Internet of Things - ( https://github.com/microsoft/IoT-For-Beginners )
-- smart devices, PCBs, chips, sensors that can make "dumb" objects smart (instructables.com) -- IoT will revolutionize the gaming industry by changing the way players interact with a virtual world. -- gamification of activities in other industries to make them easier to learn/understand/do
5. Last, but not least, there are many other areas of game development
- mobile games - browser games (HTML Canvas games, or crazy 3d JavaScript libraries)
Some extra resources - might be a bit off-topic, but maybe you'll find something interesting
- https://github.com/HollyAdele/awesome-programming-for-kids - https://github.com/yrgo/awesome-educational-games - https://learn.khanacademy.org/khan-academy-kids/
Hope this helps, good luck !
Once your kid discovers an area of interest within game development, such as graphics, coding, game assets, or level design, they can start exploring more specialized tools and resources. For example, if they're interested in coding, they might consider a kid-friendly game engine like:
<https://www.kodugamelab.com>
<https://www.cocos.com/en/>
Eventually, they can move on to more advanced game engines like Unity.Game Development with Python and Mods
Python is a versatile and widely-used programming language that's great for beginners. Here are some free resources to help kids get started with Python:
<https://github.com/pygamelib/pygamelib>
<https://kidspython.com>
<https://wiki.python.org/moin/BeginnersGuide/Programmers>
<https://www.geeksforgeeks.org/python-for-kids/> - A good starting point with general Python guidelines for kids.
<https://github.com/mytechnotalent/Python-For-Kids> - A very cool free book
Playing games like Minecraft, Roblox, or BeamNG that support mods and user-made content can also be a great way to get started with game development. This allows kids to experiment with building and creating within an existing game environment. This can even lead to earning money if their creations become popular within the game's community.Hardware and Cybersecurity in Game Development
The hardware side of game development offers exciting possibilities for kids and teens. Here are a few areas to explore:
Building STEM games: Numerous gadgets, toys, and devices can be used to create interactive games. This is a good start for getting into Robotics. Ozobot, Beebot, Evollve. Keep in mind that some of these tools can be expensive, but the learning rewards can be significant.
Cybersecurity games: Gadgets like Pwnagotchi (a Tamagotchi-like pet that "eats" Wi-Fi) and Flipper Zero (<https://lab.flipper.net/apps/category/games>) with its collection of hacking-themed games can introduce kids to cybersecurity concepts in a fun and engaging way. These tools can help them understand how games interact with networks and devices.
Internet of Things (IoT): IoT is transforming how we interact with the world and has huge potential in game development. Kids can learn to use smart devices, PCBs, chips, and sensors to create interactive games and "smart" objects (<instructables.com>). Here's a resource to get started: <https://github.com/microsoft/IoT-For-Beginners>
IoT opens up exciting possibilities for game development, such as:
- Revolutionizing player interaction with virtual worlds.
- Gamifying activities in other industries to make them more engaging and easier to learn.
Other Areas in Game Dev
- beyond what I already mentioned, there are many other interesting and exciting paths to take. Consider checking:
Mobile game development: Creating games for phones and tablets.
Browser game development: Building games that can be played directly in a web browser using technologies like HTML Canvas (<https://github.com/servercharlie/awesome-html5gamedev>) or crazy 3D JavaScript libraries.
Additional Resources - might become useful along the way Awesome Gamedev: <https://github.com/Calinou/awesome-gamedev>
Awesome Programming for Kids: <https://github.com/HollyAdele/awesome-programming-for-kids>
Awesome Educational Games: <https://github.com/yrgo/awesome-educational-games>
Khan Academy Kids: <https://learn.khanacademy.org/khan-academy-kids/>https://nostarch.com/python-kids-2nd-edition
I've heard really great things about this book.
////
The other one is "How to Think Like a Computer Scientist, Learn Python 3"
https://openbookproject.net/thinkcs/python/english3e/"
which is used by Art of Problem Solving for their "Introduction to Programming with Python" class (https://artofproblemsolving.com/school/course/python1)
When I started in the mid to late 80's as a child, we had a Commodore 128 and it was Basic or nothing. I also remember typing in those program listings, getting annoyed they didn't work, realising I'd transcribed something wrong, then when it was working making changes.
We then moved onto a 386 and I gravitated towards QBasic (and later TurboBasic because you could use the mouse and compile to an exe)
With my son, I ended up searching high and low, umming and ahhing, and in the end I found the spiritual successor to those computer magazines with program listings in a Python for Kids book that takes them step-by-step (a little like the Commodore manual did) introducing concepts and eventually getting you to build a game.
I think a lot of the wonder about computers that seems to have waned is because we're all older and not looking at it through the same lens, true, computers are far more ubiquitous now, but learning that you can tell it what to do and are only limited by your imagination is still incredibly powerful to a child.
I was at a steam fair last weekend, and they had the OhBot, a programmable robot face, on display. It is programmed with what appeared to be a version of Scratch. You could control the head, mouth, and eyes with the track pad and keys. Kids were really into that and there was quite a line at that table.
Thinkfun also has a good board game to teach programming logic called Code Master Programming Logic Game.
If you really do want to go a more abstract route, I would start with the Python for Kids book by Jason Briggs. Once he gets through that, get the Python Crash Course next and work through the 3 problems in that book. It has one where you make a Django app with a user login.