Inspiration

This pandemic has hit us high school students hard mentally. Not only has online school been a huge challenge for us because not only is it much duller, staying at home limits our abilities to find a unique way to take a break after long hours of studying. In addition to this, our social interaction is also limited as we continue to stay at home. We were inspired by these two issues and decided the video games would provide a solution to both of these concerns by helping one unwind and connecting with others by competing with friends.

What it does

Our game is simple. The goal is to survive as long as you can by dodging enemies and reflecting a projectile off of your avatar by rotating it to destroy enemies. Over time enemy speed increases making the game more and more difficult.

How we built it

We created REFLECT by using python and the game library pygame while collaborating on repl.it. For the sprites, we used pixlr and an online colour palette.

Challenges we ran into

One of the most difficult challenges we faced was calculating collisions. It involved a lot of complex calculations, especially with the player avatar since it could be rotated. Another challenge we ran into was calculating the reflection when the projectile would hit the player on the rotated player body. An overarching challenge in the creation of REFLECT was learning to use pygame. It was our team's first time using it, so understanding how to draw the sprites or create a menu and restart function was all new. In addition to this, one of our team members felt really overwhelmed and could not participate in the Hackathon.

Accomplishments that we're proud of

For Isaac, it was his first hackathon and first time using python ever, so he is really proud that he was able to contribute to the project! Laila had never worked collaboratively on a programming project before so she's glad that we were able to flesh out the project so well. Completing a fun and playable game in under 24 hours is also an impressive feat and we included most of the elements we wanted to implement into the game. Finally, our ability to persist through challenges is worth noting as well.

What we learned

Our team learned how to create a simple game using pygame. For Isaac, he learned how to use python and Laila was able to figure out complex collision calculations between the rotating player body and the projectile. We also learned many general skills such as persistence, researching, and team collaboration/delegation.

What's next for REFLECT

Our team would love to add several new features into REFLECT:

  • Extra walls to give player more options to reflect projectile
  • Random mode: player’s avatar to spawn as a different polygon each round
  • Perks: can be purchased through accumulating points (e.g. increase in player speed)
  • Varying enemy types, such as enemies that take more than one hit to destroy
  • Multiplier mode: play with friends in versus or co-op modes

Built With

Share this project:

Updates