- Created Wednesday, August 12th 2015 @ 12:52:00
The previous point system was imbalanced because it overrated the combo points. I think the current point system is imbalanced because of the garbage lines. It is much more important to downstack than to make points. The problem with making a lot of points is that your opponent gets a lot of garbage lines, which are an excellent source for a combo, so, if you have a skilled opponent, you just get immediately the same amount of garbage back. I suspect that some of the current top bots completely ignore the point system and "just" are excellent downstackers.
Of course downstacking requires great skill, so I do not want in any way to diminish the feats of downstackers, but so does building up to get many combo points. To my understanding, the main purpose of the new point system was to allow different types of strategies to compete to make the competition more interesting.
An idea is to alternate sending garbage lines and solid lines, so after 4 points a garbage line is sent, after 8 points a solid line, etc. I think this would create a better balance between strategies: - to not take any risk and downstack - to take high risks and build for combo sequence - to take medium risk and build for multi-line clear
- Created Wednesday, August 12th 2015 @ 18:06:14
Currently my bot is one of the top bots. I do NOT ignore point system. But it is always a trade off when taking decision - should I kill more lines and get worse position or should I stop (and give up combo points) and have a better position for further "downstacking". But t-spins are not important in my opinion, I neglect them and take them only if they emerge naturally. Full clear is also not important in my opinion.
- Updated Friday, August 14th 2015 @ 07:08:37
I agree with this, It doesn't feel like there is much diversity in strategy. Yeah the alternating line sending makes sense, it may work. It feels a little bit complicated though for rule of the game
Maybe another way to make the game more interesting is to introduce the "bag" system for tetris pieces. This means the random piece generator "generates a sequence of all seven one-sided tetrominoes (I, J, L, O, S, T, Z) permuted randomly, as if they were drawn from a bag. Then it deals all seven tetrominoes to the piece sequence before generating another bag."
I think a bag system could allow for more strategy diversity. If you can be guaranteed that a T piece will come within the next X pieces, you'd go for more t-spin strategies. And the bag system lets you attempt many more crazy strategies like 4-wide comboing or going for full-clears. Under a random piece distribution, perfect clears are basically impossible
Maybe the competition could try checking out what the rules are in competitive tetris
- Created Friday, August 14th 2015 @ 14:29:00
This bag system sounds completely uninteresting. So opinions differ :)
- Updated Friday, August 14th 2015 @ 15:41:51
Any further change to the points system and game mechanics would seem to me to serve the purpose of increasing the complexities of the AIs, which in turn would seem to serve the purpose of increasing the point gap between one AI and the next. So as to better differentiate the skill of each AI.
So I thought I'd see what the average gap is between each successive bot of the top 8 bots for all the games so far.
By gap I mean the percentage of the difference between higherPoint and lowerPoint of lowerPoint. i.e. if the top 2 bots had points 15 and 10 then the gap is 50%.
Of course one still has to take into account that the competition is still in beta.
block battle 1.90 % texas holdem 1.19 % warlight 2 0.80 % heads up O 1.35 % warlight 1 1.60 %
The Python code and data I used:
def average_gap(seq): seq = sorted(seq, reverse=True) total = 0 for a, b in zip(seq[:-1], seq[1:]): diff = a - b perc = (float(diff) / b) * 100 total += perc return total / (len(seq) - 1) data = ( ("block battle", [2102, 2085, 2061, 2048, 1923, 1906, 1848, 1845]), ("texas holdem", [2000, 1941, 1919, 1912, 1848, 1847, 1844, 1842]), ("warlight 2", [2603, 2600, 2570, 2529, 2521, 2503, 2473, 2462]), ("heads up O", [1942, 1925, 1885, 1828, 1791, 1784, 1779, 1768]), ("warlight 1", [2777, 2743, 2649, 2628, 2531, 2523, 2519, 2487]) ) for game, top_8 in data: print game.ljust(15, ' '), "%0.2f %%" % average_gap(top_8)
OkeyDokeyCreated Sunday, August 16th 2015 @ 10:27:03
I think the rules are pretty decent right now. I've watched a few matches of the top bots and they send more garbage than they were able to clear. They also try not to downstack as quickly as possible, rather preparing for some downstack combos and T-Spins. The only problem I have is that Tetrises (4 lines cleared at once) are usually not worth executing. It's not worth executing in early game because T-Spins are much stronger (and can be chained in a combo if the T piece doesn't show up). And midgame, the garbage is so messy, so that one would have to upstack some lines to perform a Tetris (with the help of garbage lines). I don't really know how to fix that problem though (one way could be: make garbage less messy, but sent garbage every 3 points; I wouldn't go this way though because the game has a good balance right now, except T-Spins a bit overpowered perhaps).
If you want to make the skill gap bigger, then make the games last longer. Longer games can be achieved by postponing the insertion of the solid lines which a player receives every 20 turns.
OkeyDokeyUpdated Sunday, August 16th 2015 @ 10:37:58
What I forgot to mention: Perhaps make large combos a bit stronger. 6 successive line clears are hard to do. Perhaps add 1 extra point after 5 successive clears or make a gap of 2 points afterwards. Combo table examples:
- Created Sunday, August 16th 2015 @ 11:37:40
The last proposal is a little rough. Even now 6-7 cleared lines in a row is almost a death sentence to the opponent. After your proposal it would be veery hard to survive any such event.
- Created Monday, August 17th 2015 @ 11:34:07
@Russel: your calculations are rubbish. The used Elo system is based on the logistic distribution. So, it is NOT about the relative differences, but about the absolute ones. For instance: a difference of 150 Elo-points means that the stronger bot is expected to score 70%. https://en.wikipedia.org/wiki/Eloratingsystem
What can be a useful value to compare different AI's, is the Elo-difference between the -1 SD bot and the +1 SD bot.
Anyhow, I think that I prefer a mixture of garbage lines and locked lines, over the current implementation, but this one is fine too.
I disagree wiht OkeyDonkey. The thing is, that combo's (and clean sweeps) also involve a lot of luck. So making them even stronger is not necessarily a good think for the best bots.
Because, that is of course the most important thing: are the best bots on top right now? I think they are. I'm disappointed that my bot is not amongst them at the moment, and I'm working on it to make that happen again. There is no perfect point system. And as long as the best programmers, delivering the best bots win the competition, it's fine.
- Created Monday, August 17th 2015 @ 16:36:49
As some others have said, it depends a lot on how lucky you are with the garbage lines. In some games BlockParty makes a lot of points initially, and gets busted a little bit later on just because the opponent makes a 7-combo with the garbage lines it received, that is frustrating...
So garbage lines increase the luck factor, but of course in the end the best bots will win most often (although not as often as they deserve IMO). And there is no doubt that Kubisme will soon be among those:)
Increasing combo scores with the current garbage line system is not a good idea in my opinion, as it would increase the luck factor even more.
OkeyDokeyCreated Monday, August 17th 2015 @ 21:12:17
Downstack combos will barely score more points with the suggested combo table. The idea was rather to reward bots for starting the game with a big combo. Believe me, downstackable garbage lines don't increase the luck factor more than solid lines. Anyway, there's also the possibility that both bots receive identical garbage, that means the order of hole columns is predetermined. In this case, the bot who sends more lines will know in advance where its garbage holes will pop up (if it pays attention to the opponent's field). For identical garbage, the rule "multiple garbage lines sent at the same time will never have a hole in the same column" must be scrapped.
- Created Tuesday, August 18th 2015 @ 13:35:43
@OkeyDokey I disagree with your suggestion to make garbage lines identical between opponents. The bot who scores the first line from this point on will be able to predict which line spawns next. As much as I would love to implement that and as much as i dislike the garbage luck, it will probably snowball as soon as you have the slightest edge, making comebacks impossible. I like the current comeback possibilities, allthough I think it did me more harm than good ^^
- Created Tuesday, August 18th 2015 @ 23:36:41
The idea of identical garbage lines seems to be nice for me. It's not that easy to use this information to your advantage and people dislike the random garbage luck factor.
- Created Sunday, August 23rd 2015 @ 16:49:27
I think the only thing that should change is when both players send garbage lines at the same time, they pop at the same place. (Before garbage lines, a bot playing vs itself would always result in a draw)