Hello everyone! Thank you as always for your support.
Let's take a look at this week's progress!

download it from here. The new password is "y8cQ2zgbCk63mPB".
Due to a major update to the key input system last week, pre-inputs required for cancel actions stopped working. After investigating, I found the simple cause was that key inputs weren't being accepted during hit-stop.
I also took this opportunity to review the action-switching system. Currently, all actions determine the next action upon the end of a motion, but this approach has limitations. For example, after executing a standing A attack, the next state should ideally be "stand idle," but if the down direction is being inputted on the D-pad, it should switch to "crouch idle" instead. To address this, I implemented a new system that evaluates conditions for multiple possible transitions.
When an attack lands, the position of the hit effect can sometimes appear significantly different from the actual collision point. If the collider has a collision, Unity’s features make it easy to obtain the contact point, but this doesn’t work for triggers that only detect overlap. Currently, the effect location is set at the midpoint between the centers of the hitbox and hurtbox. However, this approach can lead to visual misalignment if one of the colliders is large. I considered a solution to adjust the midpoint based on the size ratio of each box, but the logic was complex. I even tried ChatGPT for ideas but couldn’t find an ideal solution. For now, I’ve resorted to dividing large boxes into multiple smaller ones.
While pre-inputs were successfully restored, the transition to the next action now feels too quick. For example, canceling from B attack to B attack 2 switches actions during the hit-stop phase. This happens because the timing to switch actions is set when the attack hits. To solve this, I plan to split attack actions into "start," "active," and "recovery" states and skip only the recovery motion when appropriate. However, implementing this system and applying it to all actions is too large a task for this week, so I've scheduled it for the coming weeks.
I updated the key config menu so that buttons for recording and replaying inputs in Practice Mode can be configured. I also implemented a setting that allows moving directly from the topmost list item to the bottommost, which had been unavailable due to coordinate issues in the list.
The red gauge reflects HP loss during a combo and decreases all at once when the combo ends. The reduction animation and its start timing weren’t working properly, so I made adjustments. Revisiting UI animation control after a while, I struggled with differences between world and UI coordinates. Additionally, I encountered issues with Dotween, where time was spent figuring out details. The "sequence" variable allows sequential animations but deletes itself after execution, preventing reuse. I solved this with some "magic words," but I’ll refrain from explaining since I don’t fully understand the logic.
The round system is surprisingly complex, involving interwoven conditions like timeouts, draws, and win/loss judgments, all while accurately reflecting animations. I wanted to adjust the screen-darkening timing, so I reviewed the previously written code, which was a mess and functioning almost miraculously. I introduced a new `enum` variable to manage the round-end states via a state system. However, I couldn’t finish it this week, so it’s on hold for now.
I fixed a bug where the camera wouldn’t track the character and would frame out if a knockout occurred mid-air.
I received confirmation for the Comiket event I applied for. Honestly, I was hoping for a partial chance of rejection, as there’s much to prepare if participation is confirmed. My previous spot was great, but this time I’m positioned on the “wall,” which is even more prominent, adding pressure. Now, I need to create a new book, which requires drawing at least 16 comic panels.
I spent too much time fixing small bugs discovered during work this week and couldn’t reach my original goal. With limited time remaining, I need to prioritize tasks more carefully.
- Comiket preparation
- Remaining tasks
- Sprite work
That's all for this week. Thanks to everyone's support, we can continue development! Much appreciation.
Have a great weekend!