Inspiration
Our project was born from a shared love of cats and a desire to create something playful and engaging that reflects our collective interests. Drawing inspiration from the fun character of cats, as well as the chilly Canadian weather, we designed this project to be both fun and interactive, bringing together elements of our daily lives. Every team member has a soft spot for cats, and that shared passion kept us going throughout the project. We’re excited to showcase our work, inspired by our mutual appreciation for these adorable pets!"
What it does
Our game, Don't Leave Mike Naked, is an exciting survival game where players control Mike, who must dodge obstacles and collect coins to stay in the game. As rocks and snowballs appear, players must carefully time their jumps to avoid collisions that reduce Mike’s lives. Coins collected are later used to buy clothes for Mike's wardrobe, adding an interesting aspect of customizability. With fun visuals, responsive controls, and a creative twist, our game offers a playful and challenging experience for players of all ages.
How we built it
We built our game using Python and the Pygame library, implementing several core technical features to create a smooth and interactive gameplay experience. We used Pygame’s rect collision detection for player interactions, as well as custom timers and event handling for spawning obstacles and power-ups at randomized intervals. The game keeps track of lives and coin count, which we render with Pygame’s font module, updating appropriately to reflect gameplay progress. Player movement and gravity were managed through velocity changes to create realistic jumps, while obstacles like rocks and snowballs move along a horizontal axis, resetting as needed to maintain a steady challenge. Our wardrobe even contains hand-drawn pieces from one of our members, further adding a personal touch. Overall, each team member contributed to coding these mechanics, adding creative touches, and carefully adjusting game physics—all while keeping our mutual love of cats front and center!
Challenges we ran into
During our hackathon journey, we encountered several challenges, especially as first-year students with limited technical experience. This being our first hackathon, we initially struggled to settle on an idea, which led to restarting our project multiple times. Despite facing difficulties with programming unfamiliar features and managing our time effectively, these challenges ultimately taught us the value of teamwork and perseverance. Each new concept and challenge helped us strengthen our skills, and seeing our game take shape was an incredibly rewarding experience.
Accomplishments that we're proud of
We're incredibly proud of how much we've accomplished, especially given our experience level and the challenges we faced. First, we successfully developed a fully functional game that not only works smoothly but also captures the lighthearted spirit we wanted. We tackled new technical skills, like implementing collision detection and creating randomized obstacles, which initially seemed daunting but ended up adding great depth to our game. Additionally, our team overcame the challenge of managing our workflow and organizing code effectively, which helped us improve our collaboration skills. Seeing our hard work come to life on screen and sharing a finished product we're excited about has been incredibly fulfilling.
What we learned
Throughout this project, we learned about various technical aspects of game development, including the logic behind collision detection, gravity, and timed events. Using Python and Pygame, we implemented obstacle spawning with randomized intervals, ensuring a dynamic and unpredictable gameplay experience. By setting up timers and custom events, we controlled the frequency of obstacles and integrated mechanisms to adjust difficulty over time. We also became proficient in handling image scaling and layering for backgrounds, objects, and characters, which involved transforming assets and optimizing blitting for smooth performance. We implemented collision detection that accounted for single-event triggers—like reducing lives only once per collision—and created logic to increment scores on coin collection. This experience taught us a lot about debugging and testing specific game mechanics, while also optimizing for efficiency. As first-year students with little experience, exploring these new programming techniques at our first hackathon was a huge learning curve, but very much worth it.
What's next for Don't Leave Mike Naked
For the next stages of our game, we have some exciting features in mind to enhance gameplay and keep players engaged. We plan to introduce multiple levels, each with increasing difficulty and unique themes, to add variety and challenge. This will include more diverse obstacles and different environments, adding an element of progression and exploration. Additionally, we’d like to add a power-up system, allowing players to gain temporary abilities like extra speed or invincibility. Long-term, we hope to develop improved graphics and sound effects, creating a more polished and immersive experience.
Log in or sign up for Devpost to join the conversation.