Inspiration
The aesthetics of the game were mainly inspired by my memories of playing Wii Play Laser Hockey when I was younger. The gameplay was inspired by various sequence matching minigames that I've encountered over the years, with the added twist of trying to remember the sequence while also dodging an obstacle.
What it does
In MATCH/DODGE, the player controls a disc and needs to carefully observe and repeat sequences of illuminated panels, all the while pursued by an enemy disc that gets faster as the levels of the game progress. Players can try to quickly input the sequence as it is displayed instead of waiting for the sequence to finish, but too much haste can easily cause one to select the wrong panel or fall into the hands of the pursuing disc. Each level will increase the length of the required sequence by one; the game is theoretically endless if a game over can be avoided. When the game ends, players will be able to see their total score for that round and choose to start another game if they wish.
How I built it
I wrote this game in Python, using the Pygame library to set up the game screen, sprites, and events. Pygame is designed to be used for writing video games, and I've used it in the past, so it was well-suited to this project. I created all of the visual assets for the game on my own using ibisPaint.
Challenges I ran into
One challenge I encountered while working on this project was handling all of the different states of the panels during gameplay. I considered creating separate assets for each state, which would have taken extra time, but I decided to simply modify the brightness of the image to varying levels to quickly generate all of the states needed. Another challenge I faced was handling all of the different ways that the game can end. The game can end either due to the player being caught by the enemy disc, or by the player selecting the wrong pane while inputting the memory sequence, either before or after that step of the sequence is displayed. Multiple options can even happen simultaneously. It took me a while to formulate the logic to handle all of the different game endings and ensure that everything would function properly upon the game restarting, but I got it working in the end.
Accomplishments that I'm proud of
I'm proud to have completed a game on my own in just one day, even if it is a relatively small game. I'm also very happy with how the visual design of the game turned out; I think that the visual assets, font choice, and text displayed all work together to create an interesting aesthetic. Also, I'm proud to have participated in my first every hackathon!
What I learned
Over the course of completing this project, I gained a lot of experience with Pygame. I've used the library for small projects in the past, but for this project, I feel like I made good use of classes, events, and the library's built-in collision detection. I also learned how to plan, design, build, and test a game in just one day; I had to ensure that my project stayed within a reasonable scope so that I would be able to finish everything that I planned and submit something I was proud of. I think that this experience will help me with the planning and execution process of future game development and other coding projects, even if I complete them over a longer timeframe.
What's next for MATCH/DODGE
If I were to continue working on this game, one thing I'd love to add would be gradually shifting colors during gameplay. I think this would add to the aesthetic and make the game more visually striking. I could also add additional enemies, possibly with different movement patterns or that appear as the level count grows higher. I could also add some background music, either befitting royalty free music or something I created myself.
Log in or sign up for Devpost to join the conversation.