Inspiration
Following this year's RowdyHacks theme of "Into the Unknown", our team decided to use Python, a language that a majority of the team is unfamiliar with. From the start, creating a game similar to Snake was one of our most popular ideas, but we wanted to put our own twist on the base game by adding an obstacle to increase the difficulty and add a sense of urgency.
What it does
The application starts a simple game of Runner where the player has to avoid the obstacle and attempt to score as many points as possible. Every time the Runner gains another point, it gains more speed.
How we built it
Built entirely in Python, we primarily used the Pygame modules in order to implement every component of the game.
Challenges we ran into
Initially, we wanted to make dynamic boundaries that would change every time a certain number of points were accumulated. Procedural generation was our first choice, but we quickly realized that implementation was outside the scope of what we could accomplish within the time limit. We then attempted to create a set of manually created boundaries but ran into issues with proper collision detection. From there, we decided to instead implement a "moving" obstacle that the player would have to avoid instead of worrying about the boundaries.
Accomplishments that we're proud of
Thomas Gallegos: It was very challenging learning a new programming language however, I have learned a large amount of information regarding Python and Pygames in a short amount of time. I felt accomplished by implementing a part of the collision test that determines if the Runner has collided with a rectangle on the board. I also implemented the generation of polygons on the board. Although it may not seem much, I discovered various ways to detect collisions within the game before deciding on the most efficient method. Thorough research has provided me with new knowledge for a new language to add to my resume.
Andrew Magana: Learning a new language in of itself is a difficult task already. Especially learning to add modules/frameworks at the same time. I was able to learn a lot within the short time limit we had with both Python and the Pygame module. What I felt the most accomplished was making the fruit spawning along with implementing sprites instead of just square-colored pixels. Although it does feel like to me that I didn't really contribute all that much but food/fruit is a major part of the game.
Hans Landgrebe: I have barely used Python, so making a project in an unknown language was a challenge. Learning a Python library on top of that was even more challenging. The fact that it does something outside the command line is an accomplishment itself. Also, I was originally planning to go to RowdyHacks by myself. I typically work solo. Then I was invited to a team. Making something with a team, outside a class project, was a fun experience and took me outside my comfort zone.
Jhan Baldovino I have prior experience with Python but have never touched the Pygame modules so it was interesting being able to dive into the documentation in order to get a general grasp of it within the time of the hackathon. This event was the first time I had taken a closer look into procedural generation, and although we were not able to properly implement it into the final project, I enjoyed being able to do the research.
What we learned
- Python syntax and Pygame implementation
What's next for Runner
- Refactor the code, making certain components such as the player, points, and obstacle object-oriented for improved collision detection
- Implement obstacle generation / dynamic boundary generation
Log in or sign up for Devpost to join the conversation.