NokiMo
shibagani48
shibagani48

patreon


2025-Aug-3/5


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

CPU Development

Last week, I was working on separating the character status as part of a refactoring process, but the fixes ended up spreading across a wide range of areas.
On top of that, I lost track of my progress due to illness, so I had no choice but to reset a week’s worth of work.
This time, I wanted to create a CPU with more complex decision-making, so I asked someone else to draft the architecture. However, it seemed like it would take a lot of time to fully understand their code, so I ultimately decided to build the new logic myself in a way that felt more manageable.

As a new approach, I decided to let the CPU recognize the attack range as a numerical value.
For each attack, I target the collider set that contains its hitbox, then calculate the reach by using my current position along with the position and width of the hitbox. At the start of the match, all attacks are recorded into a list.
While it would be possible to save these values to avoid recalculating them each time, constant fine-tuning of actions is expected for now, so I’ve chosen to leave it as is.

Next, I made the CPU acquire the opponent’s parameters as a guideline for decision-making. Since this involves passing a large number of status values, entering them individually as arguments would make the code too long when relaying the values.
To solve this, I created a dedicated character module interface for the CPU and made it possible to generate a wrapper class that passes the required status values all together. The Character Manager provides this interface to the Request Manager, and the CPU’s Controller class executes the interface methods to receive all the necessary status values in a single pass.

With these tasks completed, the CPU can now approach its opponent and execute an attack once it’s within range.
Next time, I’ll work on building the other basic thinking routines and implementing custom combos triggered by condition checks. I hope to complete this by the end of the month.

Day by day, I feel just how insufficient my knowledge is, so I’ve been reading Readable Code and Clean Architecture, both classic books on programming.
I probably won’t be able to apply what I learn in time for the public demo, but this knowledge will be invaluable when I carry out larger-scale refactoring in the future.

Plans for Next Week

That's all for this week. Thanks to everyone's support, we can continue development! Much appreciation.
Have a great weekend!

2025-Aug-3/5

Related Creators