It’s official. I have now created my own Puyo game.
I would not have thought it possible but by adding delays between my puyo falling and puyo matching functions, I was able to fix the bugs and now puyo correctly match and disappear if there are 4 or more connected. The key was the recursive flood fill function that I wrote myself.
The game is made from modifying my Chaste Tris source code and changing the blocks and the way they behave. The collision detection works exactly the same which shows me how similar Tetris and Puyo are in their puzzle game mechanics.
But they are completely different because the goal is to match colored puyos of 4 or more rather than clearing lines.
The source code is available on github and anyone can compile and run it on any platform if they have the tools and know how to compile C programs using Raylib.
I haven’t yet compiled a Windows version yet because I feel like I would do that only when the game is tested better and includes some form of scoring system and documentation.
But basically everything is controlled with Z,X, and the arrow keys.