Originally posted by Adelheid
Originally posted by Bisqwit
Now, within these boundaries, the game still tries its best to make sure you never get what you want when you want it. Let me know how well it fares!
The more I play it, the more I feel like it's perhaps even easier than normal tetris. Increasing the queue doesn't make it harder, it makes it easier; sure, you play with a bunch of bad pieces immediately in play, but then it levels out, and just before the queue is refreshed you get a glut of the most useful pieces. It's very manipulable.
I see. Thank you for the analysis.
If your playing style hinges on a particular piece occurring every so often, an algorithm that _must_ balance the odds once in a while will satisfy your playing style perfectly.
As long anyway as you aren't doing something stupid like making a wasteland of 1-wide wells to be clumsily blocked by a square piece that has
no place to go.
Is there any possible other way to go about this? I.e. fair, but still screws you over...
How my program decides the next piece, barring the balance equation, is that it uses a state-of-art AI algorithm by
Pierre Dellacherie to evaluate all possible placements for all pieces (only dropping though; no slides, wedges or t-spins), and chooses the piece for which the best possible placement had the worst score compared to the other pieces. The AI evaluates things such as two-dimensional Fourier transform of the board, choosing an option that has least high frequencies*, the cumulative depth of 1-wide pits, number of piece cells eroded by a possible line clearing, the height of placement for the center of the piece on the playfield, and number of empty cells hiding beneath filled cells.
*) Not really, but for a mathematically inclined person what the algorithm really does in that step, this is the easiest explanation. It really just sums for each column and each row how many times the field transitions from "vacant" to "occupied" or the other way around.
P.S. Who hasn't yet seen this video?
http://www.youtube.com/watch?v=sZrs8ZCO8xM