Posted September 08, 2024 by John Biswas
#Devlog #Updates
All right are reserved to Nintendo for the use of assets and sound effects from Kirby's Dream Collection.
Back in Grade 11, I was tasked with creating a final project for my Computer Science course. At the time, I was just starting to learn Python, and I wanted to challenge myself with something fun and engaging. So, I decided to work on Kirby Super Jump, a platformer-style game that captures the classic charm of Kirby’s world.
I had a limited understanding of game development at the time, so most of the code was inspired by tutorials and experimentation. My goal was to create something simple but functional, which I could expand upon over time. Here's a breakdown of my initial steps and progress:
I used Pygame, a popular Python library for game development. It was relatively easy to work with and allowed me to quickly set up a game window, manage sprites, and handle input.
pg.display.set_mode
and set the caption to match the Kirby theme.
One of the main challenges was implementing Kirby's movement, which involved jump mechanics. I allowed for both short and long jumps by detecting how long the jump key was held. To keep the feel fluid:
pg.spritecollide
to check when Kirby landed on a platform, helping him stay grounded.
I integrated power-ups like Maxim Tomatoes, which would boost Kirby’s health when collected, and traps like spikes that dealt damage.
pg.mixer.Sound
.
I found an amazing collection of Kirby soundtracks and effects from the Kirby Dream Collection Soundtrack. Integrating the background music and sound effects was a highlight for me, making the game feel more immersive.
I implemented a simple high score system using a text file to track the player's best score. If the player beat their previous high score, it would display a congratulatory message.
The project was a great learning experience, combining my early Python skills with my love for games. Though it started simple, it helped me understand the core principles of game loops, player movement, and collision detection, which would later shape my future projects.