I wanted to practice Python in an unfamiliar domain. I chose PyGame since I've never done any game development before.
Learnings:
- Coding in Python
- OOP in Python (see scratchpad for notes)
- Using Github Copilot: first time I've used the AI-assistant extensively for a project, and I had to learn how to prompt it effectively. This exercise ended up being a great way to learn about the tool and Python at the same time.
- Basic game design: PyGame library (see tutorials folder), the game loop, drawing, events, game states, thinking in terms of single frames, etc.
Same Again! is a matching and language skills game for my toddler. When she loves something, she'll keep asking for it, 'same again! same again!', hence the name :)
Each puzzle in the game asks the kiddo to match an item against four options. The puzzle is preceded by a spoken word in a target language (English, Portuguese, or Arabic) in order to teach her new words and reinforce the matching skills. The items to match can be images or colored shapes as the levels progress. The game is designed to be played with a parent, who can help the kiddo learn the new words.
See the demo below (note that the frames are janky and the sound quality low only due to recording on my machine. Be sure to unmute the audio):
same-again-demo.mp4
- Mouse left button selects the correct answer
- Escape key opens a menu where a player can:
- set their name
- set the target language
- start a new game
- quit the game
- Fruits and Vegetables: Free Food & Drink Twemoji Icon Pack by Twitter Emoji, Iconscout Digital License
- Animals: Free Food & Drink Twemoji Icon Pack by Twitter Emoji, Iconscout Digital License
- Vehicles:
- Ambulance: Free Emergency Vehicle Icon from Free Medical Services Icon Pack by IconScout Store , Iconscout Digital License
- Bycicle, Ship, Tractor, Truck: from Free Vehicle And Transport Icon Pack by Jemis Mali, Iconscout Digital License
- Bus, Car, Helicopter, Plane, Train: from Free Vehicles Icon Pack by Zolute Technology and Consulting Pvt Ltd, Iconscout Digital License
- Silly Intro by Alexander Nakarada, Music promoted by https://www.chosic.com/free-music/all/free-music/, Attribution 4.0 International (CC BY 4.0)
- Monkeys Spinning Monkeys by Kevin MacLeod, Music promoted by https://www.chosic.com/free-music/all/, Licensed under Creative Commons: By Attribution 3.0 License
- Run Amok by Kevin MacLeod, Music promoted by https://www.chosic.com/free-music/all/, Creative Commons CC BY 3.0
- Silly Fun by Kevin MacLeod,Music promoted by https://www.chosic.com/free-music/all/ Creative Commons CC BY 3.0
- Pixelland by Kevin MacLeod, Music promoted by https://www.chosic.com/free-music/all/, Creative Commons CC BY 3.0
- Fluffing a Duck by Kevin MacLeod, Music promoted by https://www.chosic.com/free-music/all/, Licensed under Creative Commons: By Attribution 3.0 License