ninetailsrabbit / match3-board

This lightweight library provides the core logic and functionality you need to build engaging match-3 games. Focus on game design and mechanics while leaving the complex logic to this library
https://godotengine.org/asset-library/asset/3405
MIT License
12 stars 2 forks source link

Bomb with color/shape? #12

Open univeous opened 1 week ago

univeous commented 1 week ago

Is your feature request related to a problem? Please describe. Currently, if a special piece can be swapped, it will trigger itself when it is swapped with another piece.

However, a very common scenario in many match3 games is: the player matches a 4-in-a-row to create a bomb of the corresponding color/shape; this bomb is only triggered when it is matched again with the same color/shape, not when it is swapped with any piece.

This seems difficult to do with the current implementation. Do you have any ideas on how to do this?

Describe the solution you'd like Provide a way to make such bombs with colors/shapes work.

ninetailsrabbit commented 1 week ago

@univeous As you say it's difficult with the current implementation, I can think of ways but they are too convoluted to be useful.

I honestly wouldn't know how to deal with this problem and how the match-3 games that already exist do it since there is not so much information about this (or at least I could not find it).

The tutorials I have seen only teach how to create a board and match normal pieces (brute forced in most cases) but not how to create special pieces and manage a board where pieces are constantly consumed.

univeous commented 1 week ago

I think the problem is that the special pieces are not flexible enough. Any piece should be able to decide whether or not it triggers a match when it is swapped (to match the current behavior of the special piece); also any piece should be able to define its own behavior when it is triggered (Matched manually / matched by other pieces' special behavior). In other words, special pieces should not be distinguished from regular pieces, but rather regular pieces can have special behavior.