Mima's Adventure
ROLES
Game Developer, Game Designer
Takeaways
- Experienced the development pipeline for game development (Ideating, Prototyping, Testing, Asset Creation).
- Iterative design process, rapidly programmed and tested the core gameplay before commiting towards aesthetic improvements.
- Implemented visual feedback to enhance player engagement.
- Gained experience balancing scope and production constraints, including making strategic trade-offs between programming, art, and audio.
Project Overview
Mima's Adventure is a short 2D side-scroller. You play as Mima, a riceball who had their fries stolen!
Mima's Adventure was the first game I ever made, it was a solo academic project I completed at SFU within four weeks. I created the game in Processing, the art in Clip Studio Paint and Aseprite, and the music and sound effects in FL Studio.
You can play the game here: Mima's Adventure (Make sure to have Processing and the ControlP5 Library installed!)
Context
Genre: Action, Platformer
Team Size: 1
Platform: PC (Windows Only)
Development Time: March - April 2021 (Four Weeks)
Tools Used: Processing (Game Engine), Aseprite (Artwork), FL Studio (Music, Sound Effects)
Objective
Mima's Adventure was a final project meant to demonstrate the technical skills we've developed with Processing throughout the course. With only four weeks to create the game, I opted to create a 2D side-scroller with a simple plot, as it's a game genre with well-established design conventions that I'm familiar with and would likely have many examples to draw inspiration from. Allowing me to allocate most of my time into programming the game with those conventions in mind, allowing players to intuitively understand Mima's Adventure through their famliarity with the popular side-scrolling platformer genre.
For abilities players can use, I planned on expanding upon the standard run-and-jump mechanics by adding a dash ability, a double jump, and the ability to interact with objects like signs or NPCs. This was to allow for both more freedom in player movement, as well as variety in level design. By allowing players to interact with signs or NPCs, it would allow the game to support light narrative delivery without interrupting the flow of gameplay since Mima's Adventure isn't a narrative-heavy game.
Development
After my initial proposal was approved, I set out to work on the game's foundations. This included the basic movement, enemy AI and things such as platforms. To ensure I didn't spend too much on aesthetics, I went with placeholder sprites that were meant to be replaced at a later date. This would allow me to quickly test and ideate other possible mechanics, and scrap them or planned ones in case it doesn't work out, all while preventing my the heartbreak compared to if I had already made the art for it.
For Mima, the playable character, I made sure that each action the player could do with them had some sort of visual feedback to reinforce responsiveness and improve the feel of the game. For example, when dashing, Mima generates afterimages to visually communicate the increased speed and the change in state, and when the afterimages disappear, this will serve as a cue that the dash has ended.
A bug turned mechanic I implemented was the mechanic on where if you stepped on multiple enemies at the same time, it would actually send you flying. Looking back, I believe the reason why this happened was due to the enemy classes handling how much momentum Mima gains when they step on them, and so when stepping on multiple, that momentum gain would stack and send Mima flying. I honestly saw this as something fun to play with, and so I kept it and made a section in one of the four levels take advantage of this mechanic. Having multiple enemies in a section with a sign nearby to inform players about it. This decision reflects an openness to emergent gameplay, where unintended outcomes can create novel player experiences.
Issues & Solutions
Given that it was my first time developing a game, I underestimated the time required for programming and debugging the game's core features before I could focus on both the art and music. So I had to compromise, while the polish for both aesthetics and audio was important, it was even more important that the game's funcionality felt just right, as that is what makes or breaks the player's enjoyment of a game.
While I managed to create polished sprites for the game, I had to use older tracks that I composed or covered in my personal time for the soundtrack. Even though I managed to complete the game on time, this part of development showed me the importance of time management and prioritization, and affirmed how I should prioritize programming in the future, and less time for aesthetics, as long as the game is functional and enjoyable, the aesthetics can be improved later on.
Conclusion
Despite the time constraint I found myself in, Mima's Adventure was a very rewarding experience, and set me on the path to become a game designer. It also showed me how important it was to prioritize and manage my time, with coding being the most important aspect of develpoment, and art and music being secondary. My efforts in this project resulted in the TA recommending me to send the project to my professor in case there was a SFU showcase that year.
I am currently remaking this game and hope to release it sometime soon, with more levels, more music, and hopefully better aesthetics.