top of page

Yokai Splash

Gameplay Designer

 

Unity

7 Members team
(September 2019 - May 2020)

Play as a maid with the power of purification, cleansing the corrupted yokai that invaded the peaceful town in 2D Action Platformer Yokai Splash. 

​​

Responsibilities:

  • Design and develop core player combat and controls with C#. This includes player movement physics, melee and ranged combat, as well as animations.

  • Implement enemy behaviors such as edge detection, player detection, combat behaviors, and animations.

  • Co-design boss unique attack patterns with the design lead, as well as implement them in the engine. Some boss designs that stood out are the Onyudo boss that can summon falling rocks that track the player's locations and the Corrupted Prince boss that summon tsuchinoko from both sides of the screen.

  • Responsible for managing the development tools of the team. This includes managing source control, resolving merge conflicts, and developing scripts for team members who aren't well-versed in using C#.

Untitled.png

Gameplay Designer

Ideas and technical limitation

I worked primarily as a programmer on the team, but I had quite a bit of input on the gameplay design side. It was a team of people who just recently picked up programming in Unity, myself included.

​

I discussed with the director what the player character can do. We came up with many ideas like combo attacks, special burst mode, and multiple forms of ranged attacks. However, as I got to working with implementation, I found myself up against the wall due to my lack of skill. We ended up having to cut several ideas and focus on the basics like a normal attack, ranged attack, and dashing for the player ability.

Yokai Splash: Gameplay

I primarily worked on designing, implementing, and fine-tuning players' abilities. These involved movements, melee, and ranged attacks, as well as the spill mechanic. 

​

The concept of the game is "cleansing" the corrupted Yokai (Japanese demons). This concept is best reflected in boss enemies with the Corruption bar, the purple bar beneath their green HP bar. Corruption will negate damage received by the boss and must be lowered by using the ranged attack to cleanse the corruption.

​

A ranged attack does low damage but can reduce Corruption on enemies, while a melee attack does higher damage but exposes the player to getting attacked. This dynamic created a gameplay rhythm where the player use ranged attack to lower the enemy defense at safe distance, closes in for quick damage, and then falls back to be able to react to the enemy attack.

​

Initially, we also planned to have the special "Burst mode" where the protagonist unleashes her true power, becoming faster and immune to damage for a short duration. However, due to scoping and implementation issues, it was unfortunately cut from the game.

Boss Fights
1 Onikuma.png
2 Onyudo.png
3 Baku.png
4 Prince.png

At the end of each level, the player will face boss that is prowling the area. Bosses are tough enemies with immense corruption. Attacks against them will deal less damage if the corruption is not dealt with first.

​

Fortunately, the player character can cleanse corruption by shooting water at the bosses, allowing them to deal more damage to the bosses with a melee attack.

Untitled.jpg

Implementation

Learning on the fly

With very limited experience with C# and Unity, I had to look up a lot of online resources about how to get things done and tried to wrap my head around them. It was a great and fun experience, with a lot of trials and errors. 

​

In this project, I ended up defaulting to doing a lot of things by using Unity's trigger collision system that I learned in other classes. Looking back at it, it had a lot of problems and was not the most efficient way to do things. However, it was what started me learning to become better at prototyping games and allowed me to try my hands at a different genre of game prototype later down the line.

Yokai Splash: Program

With a very limited amount of programming know-how that I had back then, most scripts I implemented back then relied heavily on complex
if-else statements. Collider detections were also extensively used for various systems like ground detection and damage detection.

​

However, one aspect that worked out well for me was utilizing the Event system in Animation. It allowed me to accurately control which frame of an attack will have an active hitbox and which frame it will end. I relied on this mainly to implement various boss attacks, like shooting beams that cover an entire screen or summoning spikes from underground.

​

Due to the team being composed of only artists and designers, none of whom had prior programming experience, I mentored and helped my fellow teammates in working with Unity. This resulted in having to do a lot of research on my part, and it proved to be a useful skill set to have to the present day.

The part that I'm most proud of in this project is how fluid character movement is. Jankiness of animation aside, the character movements are very responsive, agile and easy to control. Thanks to Unity's physic system, acceleration and intertia of movements feel very natural to control.

bottom of page