Inspiration
This project was inspired by a mixture of the old style metroidvania games that are 2d platformers where the main character wields a gun to fight enemies, and also puzzle platformers such as fireboy and watergirl, where the focus is more on pressing buttons and flicking switches to solve puzzles. However, we wanted to provide our own unique twist to the game, and after some brainstorming, we came up with the idea to have an ability where the character could swap locations with the projectile.
What it does
The Accursed Arrow is a puzzle platformer game that provides fun platforming challenges, and many tricky puzzles. The core mechanics of the game include an arrow that can be fired as a projectile, and an ability to swap the location of the player’s character with the arrow’s location on the level.
How we built it
This project was built entirely with Python, and the user interface was created using the pygame module. Many of the sprites were also original and created in the pixlr image editor.
Challenges we ran into
The biggest challenge that we ran into during development was the implementation of collision physics. Oftentimes, we would implement logic that we thought would work, but then it would not behave as we thought it would, and would frequently cause bugs such as clipping into walls, and phasing through floors.
Accomplishments that we're proud of
The accomplishments we are most proud of in this project is the overall graphics of the game, and the physics and animation of the arrow. The sprites that were created for this game are both visually appealing, and suit the game thematically in a way that is extremely satisfying. Being able to create the physics of the arrow itself was also a very proud moment for us, because we were able to see the arrow bounce along walls and onto the floor in a way that seems realistic and is also fairly smooth. Additionally, the animation of the arrow rotating as it flies through the air was also one of our proudest accomplishments, given that we had to use aspects of pygame we never had to use before, and we had to find creative ways to implement it the way we wanted to.
What we learned
We learned much about the specific details of pygame while making this project and encountering many different situations. We also learned how to efficiently collaborate using a github repository by breaking the project into many compartments in order to minimise conflicts.
What's next for The Accursed Arrow
For the future of The Accursed Arrow, we hope to create more levels to further explore everything that can be done with the core mechanics. We would also like to try and add more mechanics such as moving enemies to the game, allowing the users to experience many creative solutions to puzzles in the game. Additionally, we would like to create better and more detailed sprites for the game, so the user can have a more visually appealing experience. Finally, we would like to minimise the bugs with the physics logic in the game, and adjust it a bit, so the user can have an overall smoother experience of the game.

Log in or sign up for Devpost to join the conversation.