Inspiration
When we saw the theme was space potatoes. We thought about asteroids as they are potato shaped. Then we thought about games with asteroids and came up with our idea. The idea was irresistible and evolved into Space Potato Shooter.
What it does
The Space Potato Shooter game is a fixed shooter arcade game. The player controls a ship that shoots space potatoes at asteroids that fall down from the top of the screen.
How we built it
We programmed this game using the PyCharm IDE using python and the Pygame module.
Challenges we ran into
I came across a variety of challenges while working on this project mostly due to learning the specifics of working with the Pygame module. For example, the space potatoes and asteroids are each engineered as separate classes. But the space potatoes were created as a fixed array of objects that are instantiated at setup. In contrast, the asteroids are implemented as a list of objects that are dynamically added and deleted as needed during the game.
Another challenge was getting collision detection to work. we had to wrap our heads around how Pygame implements collision detection, through Surfaces and Rects. It took a few major rewrites to get this working, but it was exciting when a space potato hits an asteroid and they both disappear. For a while, shooting a space potato anywhere automatically destroyed any asteroids on the screen or crashed the game.
Accomplishments that we're proud of
The Space Potato Shooter game actually works! I made the spawn speed of asteroids ramp up as you play, and it's even fun to play to see how long you can stay alive and how many points you can score.
What we learned
We learned a lot about how to program games using Python and Pygame. If we started to program this game from scratch, it would likely be coded very differently than how it is currently implemented.
What's next for Space Potato Shooter
There are a variety of updates I still want to add to the Space Potato Shooter game, including: Checking for collisions between the ship and asteroids. Adding better background graphics. Adding sound effects and an ambient soundtrack. Add health packs to regain health. Finally, the plan is to add a machine learning component to the game. The first step here would be to train a machine learning algorithm to control the ship, and then create a competitive mode where the player competes against the AI to see who can score the most points.
Log in or sign up for Devpost to join the conversation.