top of page
  • yhawhwa

Project Drift: February 6th ~ February 19th

Updated: Feb 19, 2023

Studio Meeting

Bug Fixes

Can't Attack when the Dash is on Cooldown

This is a weird bug caused by the player controller we had in the game. Since only one player controller can be active at a given time, the melee weapon controller cannot sense input while the dash controller is on cooldown. To solve this problem, we can not use "deltaTime" to calculate time. Instead, we must keep a "last dash time" and check when the next input was detected. This was not as easy as it sounds since all of the dash's logic depends on the "deltaTime timer." It turns out I have to rewrite the whole dash controller. At the end of the day, I love the solution that I wrote because time update is completely independent of the update function.

Melee Attack Combo is not Accurate

This bug was completely on me. I miss interpreted the design doc. The melee weapon has a combo window where the player can make fast attacks. If the player does not reach the combo max count during the window, there shouldn't be a cooldown before the player can strike again. This took a while because all the attack routines had something to do with coroutines, making the situation a lot more complex.

Leaping Behavior

Leaping in this game is super hard. We have to mimic 3D physics somehow using only 2D velocity and 2D view. On top of that, we have to hold leap duration and leap height constant. I tried a bunch of ways to do it. At last, I settled with simple parabolic movement (not happy with it, but I've spent too much time on this). This is how everything works:

  1. Calculate downward acceleration (for creating the parabola movement)

  2. Calculate upward velocity using the downward acceleration and leap duration

  3. Rotate the "parabola" so it lines up with the vector between the enemy and player

  4. Flip the parabola if neccisary

  5. Start the movement in a coroutine

Boss 2 Behavior


This part took so long; It has its own section. (Seen Above)

Shock Square

Shock square is a cool ability where the boss will shock two of the four islands. One island will be the island where the player stands. This ability forces players to move around. The implementation was quite straightforward. It took a while for me to think of a way to detect which island is the player standing on. In the end, I added a "quadrant divider" to the scene. I can tell which island the player is standing on just by looking at which quadrant the player is in.

Sniper Shot

The boss aims at the player for a while and shoots an extremely fast shot toward the player's location. It should be relatively easy for the player to dodge the shot.


Boss summons thrusting enemies on all islands.

Behavior Tree


Case Study

Blog Post



Time Spent (hours)

Studio Meeting


Bug Fix


Leaping Behavior


Boss 2 Behavior




Case Study


Blog Post


8 views0 comments


bottom of page