top of page

Happy Nanji

Game Design / Development Project

Role: Lead Designer/Developer, Animator

Duration: 3 weeks (June 2020 - July 2020)

Tools Used:​
Processing (Development)

Game walkthrough link: youtube link

WeChat截图_20230217020902.png

Project Description

As part of my coursework in IAT 167: Digital Games: Genre, Structure, Programming and Play at SFU, I created a platformer game called "Happy Nanji" that features challenging levels of varying difficulty. The game incorporates animation and audio to enhance the player's experience.

In "Happy Nanji," players face off against multiple enemies across different levels. To defeat these foes, players have the ability to cast spells and level up, growing stronger with each victory. The game culminates in a final boss battle, where players must dodge a barrage of projectile attacks armed only with a pistol.

My goal with this project was to explore the design of fast-paced gameplay, drawing inspiration from existing games like "MapleStory" in the platform bullet hell genre. By creating my own game, I gained valuable experience in game development and learned how to create a compelling player experience through engaging gameplay, animation, and sound design.

I'm proud of the work I put into "Happy Nanji" and look forward to continue to refine my game development skills in future projects.

Disclaimer: I do not own any of the images and most of the content from the game. All the resources from the Maplestory.

A image list from the game

Planning and Proposal

When making the proposal for the project, I wanted to streamline the process so that I could clearly follow up on my concept down the line. Clearly sectioning systems and different aspects of design allowed me to easily refer back to the document later.

I decided to make HappyNanji an exciting game that challenges players with three progressively difficult enemies. Each enemy has their own unique attack damage and move speed, increasing the complexity and experience as players progress through the levels. With high-action gameplay, players must stay alert and be quick on their feet to succeed.

To aid in the battle, the character has two powerful spells that players can unlock as they level up. These spells can only be casted a limited number of times, requiring players to carefully choose the perfect moment to use them. This adds an extra layer of strategy to the game, as players must carefully manage their resources and choose the most effective time to cast each spell.

Overall, HappyNanji offers an engaging and challenging gaming experience that will keep players entertained and coming back for more.

game pro1.png

First page of HappyNanji proposal. Most of the remaining proposal is formatted similarly, in short points/sentences in order to make it easy to refer to.

story board.png

Initial sketches for the game, showing gameplay layout as well as some menu layouts.

Art and Audio

The art and audio in the game serves to clearly convey to the player what their current situation is in regards to the game.

 

The art and character design in this project have been carefully crafted to effectively represent the narrative and provide the player with a clear sense of progression throughout the game. The game consists of three different scenes, each with a distinct aesthetic that evolves as the player advances towards the final boss level. As the scene changes from light to dark, the appearance of the monsters also evolves to match the level's atmosphere, preventing the player from feeling bored or monotonous.

To create a variety of unique monsters, I conducted extensive research and sourced a diverse range of monster photos from various websites. Each level features a distinct set of monsters, ensuring that the player is always presented with new challenges. The final boss monster has been designed to be more vicious and larger in size, effectively representing a formidable enemy that the player must overcome.

Overall, the art and character design in this project are not only visually engaging, but also crucial in conveying the game's narrative and providing a dynamic gaming experience.

For the background music in this project, I utilized music from Maplestory because its style and tone aligned well with the game's overall aesthetic. The music is particularly well-suited for younger audiences, making it an ideal choice for this project. Additionally, I added sound effects to supplement the player's actions, with unique audio cues for character attacks, jumping, and skill usage. This enhances the overall gaming experience, making it more engaging and increases the game's replay value.

shot.gif
move.gif
hit.gif
ezgif-3-43fca33329.gif
cru.gif

Gif about some of the animations in the game.

Game Mechanic Design

When developing the game, one issue I had to consider was how I could attract new players to the genre without it being difficult from the onset. As a result, I designed each level of enemy status with certain themes in mind.

As the first level of the game, I setted the monster's movement speed and collision damage to be relatively low to ensure that novice players do not feel discouraged by the game's difficulty at the beginning. In the next two levels, I gradually increased the monster's level, as well as their health and damage. If players challenged stronger monsters with a lower level, they will need to spend more time in combat and their lower level may make them more vulnerable to monster attacks. However, high risk also means high reward, and killing a higher level monster and the player's will yield double experience. This approach encourages players who enjoy high difficulty challenges.

In the final boss battle, I designed two different skills for the boss. The first skill randomly shoots in a direction, but the bullets do not track the player. The second skill is only triggered when the boss is attacked. When the boss is hit, they will immediately counterattack and shoot a tracking bullet towards the player's current direction, so the player needs to use the three different jumping platforms in the third level to avoid the boss's attacks. As the boss's health decreases, their movement speed increases, and players need to remain highly focused and avoid the boss's attacks.

If the player is defeated by a monster during the game, they will return to the first level and learn from their previous experience to continue their challenge until they ultimately defeat the boss. Throughout this process, the game provides players with a sense of satisfaction in overcoming a great challenge after experiencing failure.

Development Challenge

The biggest challenge for me in this project was the time limit. Due to the pandemic, the originally scheduled five-week project had to be completed in three weeks. As i am passionate about the games, I wanted to create a memorable project that would improve my techincal skills. Prior to starting the project, I analyzed and divided the game production plan using UML diagrams, and listed the attributes that I needed to establish and the methods I needed to call for each class in order to execute the game effectively. To ensure that I could complete the project on time, I also created a timetable to remind myself of the tasks that needed to be completed each week.

uml.png
timeline.png

An UML map about the code plan diagram and overall development schedule for the game.

The coding aspect of the project was relatively easy for me because the UML list helped me to have a general understanding of each step. However, I encountered some technical difficulties when designing the boss. I wanted to create homing bullets to make the game more challenging. Initially, I didn't know how to design them, but my strong curiosity drove me to contact my TA and ask for help. With the TA's guidance, I gained an understanding of how to use code to create homing bullets. This experience taught me that I still need to continue learning in order to implement my game design ideas.

code5.png

Sample code image for Boss. Depicted is the code for one of the Boss's attack patterns, where he shot back the bullet when he gets attack from the player, and the bullet will chase the player's current location. 

Takeaways

Throughout this project, I learned a lot about the process of game design and how elements of high-action gameplay can be designed to give the player a sense of challenge. Additionally, through the use of UML diagrams and proper OOP practices, I gained a better understanding of how to structure my code for better readability and maintainability. With more experience in animation and sound design under my belt, I hope to touch on these skills in the future and develop my personal style in those fields.

Project Link

git.png
  • YouTube
bottom of page