More than 3 years ago, I created my first NES Tetris AI that played no rotation, well before BetaTetris was developed. Over these years, I've learned a lot from developing BetaTetris, so recently I decided to revisit the no rotation format and trained a new agent.
After completing the training, I ran 100,000 games on 50,000 randomly-generated TetrisGYM seeds (left well and right well for each seed). For all but two seeds, the maximum score was 80 lines, except for this one game that was a huge outlier, as well as another game with 90 lines.
Based on my estimation from the score distribution of other games, this agent can achieve 103+ lines in approximately only 1 in 5~6 million games (0.00002%). It is thus extremely lucky to found this seed even with 100,000 games. I ran an additional 300,000 games and did not find another game with more than 95 lines.
This is a no limits run, meaning the agent can react to the next box instantly, but it didn't know the seed and the piece sequence beforehand.
The agent achieves an average of 30.6 lines in this format (level 0 start, no limits), 6.2 lines higher than the previous noro agent. It achieves 30 lines in about 52% of the games, 35 in 30%, 40 in 15%, 45 in 6.7%, 50 in 2.6%, 55 in 1%, 60 in 0.33%, 65 in 0.1%, and 70 in 0.03~0.04% of the games. It also showed no statistically significant difference between the left and right well on level 0 with no rotation. At higher speeds (15, 19, 29 starts), right well performed slightly better (0.2 lines higher on average).
This no rotation agent can also play with / without adjustments, with / without tuck, and various starting levels (0, 9, 15, 19, 29). Gameplays in different formats are coming out soon!
The source code and the model are both available in this repository: github.com/adr... (documentation not available yet)
12 сен 2024