10 November, 2021
Coding games are one of the best ways for kids to learn to program, as it combines education with exciting visual elements and a playable result. Pygame is a beginner friendly platform used by millions of people all over the world to program 2D games with Python, one of the world’s most popular coding languages and a great introduction to text-based coding for older learners.
Although Pygame is not the platform of choice for building commercial games, it is a great starting point for budding games developers to program small and simple games before moving onto more advanced languages and platforms later on. There are many benefits to game development with Pygame for kids:
If your kids liked Guitar Hero, then they’ll enjoy Frets on Fire. Designed by Finnish programmer Sami Kyöstilä, Frets on Fire is a game of ‘musical skill and fast fingers’. Kids must play their keyboard as accurately and quickly as possible and the game also has support for using guitar controllers and importing Guitar Hero songs. What’s more, players can create their own songs with the game’s built-in song editor, play hundreds of tunes composed by the Frets on Fire fan forum, and have the chance to compete with other users for a top spot on the Frets on Fire World Charts!
Its name might be silly, but Super Potato Bruh is certainly not an easy game! The mission of the titular Potato Bruh is to save Princess Lechuga (whose name means ‘lettuce’ in Spanish) from the dastardly Mr Ladle, who keeps scooping her up and stealing her away. The potato must journey through various worlds – mountains, forests, space, underground – while dodging food-themed enemies along the way. Super Potato Bruh belongs to the platform game genre (where the character must run, jump and climb while moving across the game’s terrain to reach a goal at the end) and the ‘bullet hell’ genre (where the character is faced with a large number of enemy projectiles), and this fast-paced game requires great reflexes and dexterity.
Lovers of fantasy games will enjoy Metin2, a famous multiplayer online role-playing game set in the world of the Dragon God. War has broken out and players must defend their kingdom against dragons, demon lords and fearsome beasts in action-filled battles and duels, collect equipment and items to help them, complete quests, and build up their lands. There are several classes of character to choose from including warriors, ninjas and shamans, who battle their way through different maps such as the Spider Caves, Ape Dungeons and Grotto of Exile.
As we’ve seen, some fun games can be programmed with Pygame – and games developers are even able to monetise their creations! If your kids are interested in game development then Pygame is a great place to start: here are some Pygame project ideas they could try. Some of the code to build these games is more advanced and will be easier for kids with some experience of programming. Those who are just starting out can find tutorials and download source code to run and experiment with in Pygame.
Flappy Bird took the world by storm in 2013 and was so addictive that its developer, Dong Nguyen, removed it from Google Play and the App Store less than a year later. Luckily the game is not lost forever – kids can even make a clone version of Flappy Bird on Pygame! This project will be easier for kids who have some experience using Python, but can also be undertaken by beginners who will learn the main programming concepts of Python and learn about input controls, graphics setup, crash events, game logic, creating menus and score display.
Kids probably don’t remember the original mobile game, Snake – videogames and mobile games have progressed pretty far since then! Building a snake game is a good introduction to Pygame. Kids will learn how to create an on-screen boundary where the snake can move, set time intervals for food to appear, add colour variables for the snake and its food, programme the controls used to move the snake, write conditional statements to end the game when the snake hits the wall, and so on.
Another classic game which can is popular to recreate on Pygame is arcade racing, where the player controls a vehicle or character speeding through a 2D landscape. The background image and sprite are fully customisable on Pygame, which adds another layer of fun to this project – will your kids create a sports car race in outer space, a horse and cart race in the woods, or a shark race through the ocean? They can also learn how to spawn obstacles and enemies, change the control function of their game to be played with keyboard or joystick, and decide what happens when their vehicle crashes!
Photos by Annie Spratt, Michał Parzuchowski and Emily Wade on Unsplash