Karasu_Tomoe
Member
I'm taking my first shot at a Match-3 game, similar to Puzzle Quest games where you're playing against a computer opponent on a shared grid.
I've gotten most of the engine together and now I'm working on the AI. My question is how complex and/or advanced it should be in order to present a big enough challenge.
My AI is mostly put together and is working exactly as I planned, I just worry it's still too straightforward. I don't play a lot of Match-3 games so I wouldn't know what it really takes to be good at it besides a strong attention span and good logical reasoning. That being said, what I have of the AI is certainly capable of overwhelming me (lol), but whether it would present a challenge to more experienced players, I wouldn't have the slightest idea.
Here's basically how it decides what to do:
1.) The grid is analyzed and compiles a list of all legal moves (since you'll only be allowed to make moves that result in a match of 3 or more).
2.) For each possible move, the AI first simulates the outcome and determines how big a combo would result and how many "gems" are cleared. After the simulated chain is finished, it tallies up the combos, and then analyzes how many potential legal moves would then be left available at the start of the opponent's (i.e. the player's) turn.
3.) The AI would use this information to assign a score to each move according to the size of the resulting combo chain, as well as the variety of move options the player will end up having. Since different "gems" will be used for different things, the AI can use this knowledge of the player options to try and deny them access to important gems or limit their ability to chain combos.
-
Pretty standard setup, now that I'm reading it out. Should I expand on it more? What I could do to take it a step further is after Step 2, further analyze each of those predicted player moves in the same manner to predict combos and such. Hell, honestly, I'm confident I could make this into Deep Blue if I had time and resources.
I think the only real limit is the hardware. I can mitigate stutter by breaking the calculations down across multiple steps, but still I want to try and keep things as efficient as possible. Then again, I suppose such things shouldn't be a big concern for a turn-based game. Slowdowns are non-existent on my machine, but obviously other machines may be different.
I've gotten most of the engine together and now I'm working on the AI. My question is how complex and/or advanced it should be in order to present a big enough challenge.
My AI is mostly put together and is working exactly as I planned, I just worry it's still too straightforward. I don't play a lot of Match-3 games so I wouldn't know what it really takes to be good at it besides a strong attention span and good logical reasoning. That being said, what I have of the AI is certainly capable of overwhelming me (lol), but whether it would present a challenge to more experienced players, I wouldn't have the slightest idea.
Here's basically how it decides what to do:
1.) The grid is analyzed and compiles a list of all legal moves (since you'll only be allowed to make moves that result in a match of 3 or more).
2.) For each possible move, the AI first simulates the outcome and determines how big a combo would result and how many "gems" are cleared. After the simulated chain is finished, it tallies up the combos, and then analyzes how many potential legal moves would then be left available at the start of the opponent's (i.e. the player's) turn.
3.) The AI would use this information to assign a score to each move according to the size of the resulting combo chain, as well as the variety of move options the player will end up having. Since different "gems" will be used for different things, the AI can use this knowledge of the player options to try and deny them access to important gems or limit their ability to chain combos.
-
Pretty standard setup, now that I'm reading it out. Should I expand on it more? What I could do to take it a step further is after Step 2, further analyze each of those predicted player moves in the same manner to predict combos and such. Hell, honestly, I'm confident I could make this into Deep Blue if I had time and resources.
I think the only real limit is the hardware. I can mitigate stutter by breaking the calculations down across multiple steps, but still I want to try and keep things as efficient as possible. Then again, I suppose such things shouldn't be a big concern for a turn-based game. Slowdowns are non-existent on my machine, but obviously other machines may be different.