Panel de pon
Tetris Attack, Pokemon Puzzle league, these are based on the original puzzle game Panel de pon right? No matter..
My Q is: I''ve played a lot of Tetris attack, and the 1p vs cpu games were really great, but I''m amazed by the AI the computer seems to exhibit. Does anyone have any clue where to start trying to replicate this AI? How is it done?
How do you have the computer look for chains and combos in an efficient way? I can see something recursive is happening, but it would have to be a real beast of an algorithm.
I''ve also noticed that the computer tends to level off the top of its playing feild pretty often. I''d imagine that this is purely for the purpose of making the rest of the AI more efficient by running it on a fully tiled map.
You''d have to be very familiar with the game to answer me, but I''m interested in anyone''s ideas.
Well, I dont know the game you are talking about, all I know is how to generate a good tetris-playing AI
Actually, it is about the same principle as four-in-a-row. Once you manage to create an AI that can play *that* game to a good degree, it will all become easier
The easy part of tetris, is the fact that you can sense an ''upper row'' for every column. With this info, you can quickly generate a height map. With this height map, you can calculate where the current block would fit. This is the easiest part...
Now, you need to figure out how to make some nice combos. Well, I''d guess with tetris, that''s easy The best combo is a four-liner, for that will bother your enemy most... Thing is, for a four-liner, you need room. Never go for one when you are near the top of your screen. So the tactic depends on how high you have advanced... When you are low, it should try to get four-liners. When you get higher, it should go for three, two, or even one liners...
Now for how to decide on the tactic... That is in fact the easiest part The game knows the size/shape of it''s current block. It knows what the screen looks like. It knows how high it is. Then it can quickly calculate the best spot to put the block. Considering an ordinary field is about 15 blocks wide, there are 15 * 4 = 60 possibilities at max... Actually, it will be less, so that is even easier
Now, how long do you think your program would need to create 60 instances of the matrix, and check the effect? I guess about a fraction of a second, give or take a bit
Actually, it is about the same principle as four-in-a-row. Once you manage to create an AI that can play *that* game to a good degree, it will all become easier
The easy part of tetris, is the fact that you can sense an ''upper row'' for every column. With this info, you can quickly generate a height map. With this height map, you can calculate where the current block would fit. This is the easiest part...
Now, you need to figure out how to make some nice combos. Well, I''d guess with tetris, that''s easy The best combo is a four-liner, for that will bother your enemy most... Thing is, for a four-liner, you need room. Never go for one when you are near the top of your screen. So the tactic depends on how high you have advanced... When you are low, it should try to get four-liners. When you get higher, it should go for three, two, or even one liners...
Now for how to decide on the tactic... That is in fact the easiest part The game knows the size/shape of it''s current block. It knows what the screen looks like. It knows how high it is. Then it can quickly calculate the best spot to put the block. Considering an ordinary field is about 15 blocks wide, there are 15 * 4 = 60 possibilities at max... Actually, it will be less, so that is even easier
Now, how long do you think your program would need to create 60 instances of the matrix, and check the effect? I guess about a fraction of a second, give or take a bit
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement