The T-spin AI bot (MisaMino ver 1.4.5 1111)

Started by misakamm, July 15, 2013, 05:42:05 AM

Previous topic - Next topic

XaeL

Quote from: oofw
i think allowing the user to set a speed for the bot would also be nice , if you plan on developing this game further
It's really good being able to play in real time!



QuoteLike many setups here, it is useful if your opponent doesn't move and you get 4 Ts in a row.

caffeine

By the way, this would be an excellent format for player vs player. It's a real-time KOS.

misakamm

Update:
Add a config file to set AI searching depth and garbage style

The depth of AI searching:
0 (无能力è€...) ---- only current piece and hold piece
1 (低能力è€...) ---- 1 next piece
2 (å¼,能力è€...) ---- 2 next pieces
3 (强能力è€...) ---- 3 next pieces
4 (大能力è€...) ---- 4 next pieces. Last version is level 4
5 (è¶...能力è€...) ---- 5 next pieces
6 (神能力è€...) ---- all next pieces

garbage style:
0 ---- TOJ style
1 ---- messy style. garbage hole position change every line
Try to beat this program with your T-spin
[!--ImageUrlBegin--][a href=\\\"http://i.imgur.com/AzV0vhL.png\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://i.imgur.co

larrytetris

#18
This is incredible! I remember somewhere someone issued a challenge to develop an AI bot that could beat Hebo without exceeding his speed. I think this is a fantastic first step. I consider myself a pretty efficient player and I'm finding it difficult.

Would you mind me streaming your game?
[div align=\\\"center\\\"]www.hrlarry.com[/div]
[div align=\\\"center\\\"]Hate cannot drive out hate, only love can do that.
~Martin Luther King Jr.
[/di

misakamm

#19
Quote from: larrytetris
This is incredible! I remember somewhere someone issued a challenge to develop an AI bot that could beat Hebo without exceeding his speed. I think this is a fantastic first step. I consider myself a pretty efficient player and I'm finding it difficult.

Would you mind me streaming your game?
stream is the best
Try to beat this program with your T-spin
[!--ImageUrlBegin--][a href=\\\"http://i.imgur.com/AzV0vhL.png\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://i.imgur.co

Integration

Quote from: misakammUpdate:
Add a config file to set AI searching depth and garbage style

The depth of AI searching:
0 (无能力è€...) ---- only current piece and hold piece
1 (低能力è€...) ---- 1 next piece
2 (å¼,能力è€...) ---- 2 next pieces
3 (强能力è€...) ---- 3 next pieces
4 (大能力è€...) ---- 4 next pieces. Last version is level 4
5 (è¶...能力è€...) ---- 5 next pieces
6 (神能力è€...) ---- all next pieces

garbage style:
0 ---- TOJ style
1 ---- messy style. garbage hole position change every line
Thank you.

Some words to garbage systems. In my opinion a good garbage system should fulfill those 2 points:

1. It should have the right balance between downstacking and Tetrising/T-spinning
2. Games should not be too short or too long

For example let's take that one Chinese multiplayer client (12 wide matrix, chessboard-like garbage). Downstacking is pretty useless there and in 3 or 4 players rooms games are very short. So it's not balanced in opinion. Have a look at the very messy garbage style (garbage hole position change every line):

about 1: T-spins send more messy garbage, so they are more powerful. On the other hand, the messy garbage also makes higher downstack combos more common (though you'll need luck). So, under circumstances the balance between T-spinning and downstacking isn't broken. On the other hand, Tetrising (making Quadruples) is pretty useless.
about 2: Games tend to be short. If your opponent is near the top, you can finish her/him by stacking for a Tetris-T-spin combo.

For that reasons, I would prefer messy, but not that messy garbage. As said before, I think it's perfect, if there's a 90% chance that the garbage hole will change every 2 lines (instead of 1) during an attack (combined with a 90% chance that garbage hole will change between successive attacks, attack = line clear that sends lines). This way the garbage could have a huge spectre. Most times the garbage will be messy, but it can also happen that an I-piece fits in the hole.

misakamm

#21
Quote from: Integration
Thank you.

Some words to garbage systems. In my opinion a good garbage system should fulfill those 2 points:

1. It should have the right balance between downstacking and Tetrising/T-spinning
2. Games should not be too short or too long
......
OK, current version is changing hole every 2 lines
Try to beat this program with your T-spin
[!--ImageUrlBegin--][a href=\\\"http://i.imgur.com/AzV0vhL.png\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://i.imgur.co

Integration

Thanks again.

I think your bot is also working better with 2 lines high hole than with 1 line high hole.

kevincentius

#23
Hmm awesome bot XD
Against lv6, I lost most of the time.

The bot can really compete in a turn based game, I'm impressed  .

MarioThePhenom

"The resource you are trying access belongs to an account that has not yet been validated

Still have questions, or think we've made a mistake? Please contact support for further assistance. "


Quote from: PandaLol no, that's ludacris. I have a sentence generator, Blink....

insatiate

#25
.

misakamm

#26
Quote from: MarioThePhenom
"The resource you are trying access belongs to an account that has not yet been validated

Still have questions, or think we've made a mistake? Please contact support for further assistance. "
it's ok now.
Try to beat this program with your T-spin
[!--ImageUrlBegin--][a href=\\\"http://i.imgur.com/AzV0vhL.png\\\" target=\\\"_new\\\"][!--ImageUrlEBegin--][img width=\\\"400\\\" class=\\\"attach\\\" src=\\\"http://i.imgur.co

vipjun

The bot is quite good in efficiency.

other than the inability to 4w i think the weakest area in the bot is that it can't handle spikes from human players or stack one itself. Most of the time it just trows 1 tspin and sometimes a tetris every 7 pieces. but it should save up sometimes to kill the player.

insatiate

I imagine that would be best implemented after it pays attention to the opponent's matrix... otherwise it'd be easier to kill. There's worse things than onsistently digging like a champ!

oofw

question about ai levels... out of curiousity ,  if you made it fight itself how much would each level win by ? (i cant test this out myself because of the randomizer)