Inspiration
We both came without a plan, but after discussing our skills, we found that we can both program with Python. We thought it would be interesting to do a game based on Python, so we searched online and found documentation about creating games in Python using pygames. We both took an online tutorial, showing us how to make a game in which a player avoids projectiles flying horizontally towards the left of the screen. From there, we designed and built our own game, expanding upon the concepts and tools the tutorial taught us, letting our imagination guide us to create Guardian of Hallowville, a Halloween themed defense game.
What it does
To run the game, you will need python3 installed and pygame, which can be installed with command "pip install pygame". After running the program, a game window opens up, Halloween music plays, and the player can control a character to fight waves of monsters. The character has two primary weapons: mines and a rifle. The mines are slowly charged over time, and can be stored up to a limit, while the weapon can be fired as many times as the player can click the key to fire it. There are pickup boosts on the ground, allowing a player to fire more bullets per key down or gain a temporary shield protecting them from monsters. The player can purchase a turret that fires automatically and upgrade it to increase its fire rate. In addition, there is a purchasable barrier capable of stopping one monster from reaching the end. There are two types of monsters: ghosts that move horizontally and bats capable of moving diagonnally. The game gets progressively harder, as the monsters begin to move faster and faster. The game ends if the player gets hit by a monster while shieldless or a monster reaches the wall.
How we built it
After completing an online tutorial on pygame, we used the concepts we learned to create our initial character and monsters. We first planned on implementing two weapons: land mines and the player's rifle. After completing those, we let our imaginations run wild, adding a variety of extra features to enhance the game, including pickup boosts and a shop for turrets and barriers. Sometimes, we had to look at further documentation to learn how to implement features not covered by the tutorial. Each of us worked separately on different components of the game most of the time, but we also supported each other when facing difficulty and combined our codes together several times to make sure the different components worked together at each step of the process.
Challenges we ran into
Throughout the development process, we ran into roadblocks trying to implement different components. For example, it was difficult to implement a shield that follows a player around after picking it up. However, after some brainstorming and trial and error, we were able to create an algorithm to allow for such behavior. In addition, there were points in which we wanted to implement features not covered by the tutorial, so we looked up documentation to learn additional features of pygame and applied them.
Accomplishments that we're proud of
We are proud to be able to create a game using pygame, which neither of us had any experience with prior to the hackathon. Through our teamwork, we were able to implement any feature we wanted to add to our game, ending with a creation beyond what we thought we were capable of developing.
What we learned
We were able to learn from scratch how to use pygame to develop a game. We also learned how to program in a team, dividing up different components, supporting each other when needed, and assembling our components into a single program.
What's next for Guardian of Hallowville
To improve the game, we can start by adding a scoreboard using a database containing the top scores reached by players. We can also add more weapons to the character, more items to the shop, and more unique monsters.
Log in or sign up for Devpost to join the conversation.