I love stories. I love how engaging and impactful it is to experience a story as if you lived it. Books, poetry, videos and podcasts are amazing media, but games are one of the most powerful ways to engage with your audience. It has been a dream of mine to build a game and to be honest it always looked extremely difficult. So, with this hackathon I wanted to challenge myself.
48 hours of coding. Here's how far I got.
Playing the Game
Unfortunately, the executable file is too large to be uploaded into the repository. There are two ways you can play the game:
(1) Download the zipped folder with all the files from this link (https://drive.google.com/file/d/1sjz_eoiAJEwZgLjx_IzQL1NiTBBeGE_e/view?usp=sharing) and open the exe file to play (2) You can download the files in the GitHub repository and follow the instructions from this video (https://www.youtube.com/watch?v=lTxaran0Cig&ab_channel=DaFluffyPotato) to create an executable file on your own computer
The gameplay is fairly simple where you control a player who can move in a maze. The objective is to reach the treasure chest while avoiding the fire sprites. You have three lives that get reset each level and the option to restart that level if you die. The 'intelligence' of the fire sprites increases from Level 2 to Level 3 where instead of moving on a fixed path, they can detect you and 'chase' after you.
How I built it
Used Adobe Illustrator to draw the main character and create the background and blocks. The other icons were taken from flaticon.com.
The game was coded with Python using the PyGame and exported into an executable file using Py2exe.
Future of the Game
There are a few major modifications I would make to the game if I had more time:
- Include a narrative storyline
- Every level would be a minigame that served to further the plot
- Fix the main character so she doesn't continuously bounce off the walls
- Increase the 'intelligence' of the fire sprites
- Create a maze generator
Challenges I ran into
I hadn't really understood how to use classes before this project. I knew what Object-Oriented Programming was and briefly touched upon it in my courses, but it took a lot of Googling to really understand how to link classes together and minimize repetitive code.
I also hadn't realised until the end that PyGame is not very accessible because the game cannot be shared with others through a weblink. The file must be shared as an executable application which makes it an unideal situation for getting feedback and iteration.
Accomplishments that I'm proud of
This is my second ever hackathon and I am so happy with the way this game turned out! The game in itself looks a little simple, but I never imagined that I would ever be able to create something like this.
What I learned
My dreams of being a game designer are not far-fetched. I think I've really been inspired to pursue this future pathway!