I got interested in how to get a higher score in Tetris for the NES, so I started thinking at what level to start to get the highest possible score. I also wondered how the line penalties after level 9 affected the final score outcome. I wrote some code to calculate the maximum possible score for each level. This is what came out of it: START LEVEL: 0 -------------- LEVEL 0: 4800 LEVEL 1: 10800 LEVEL 2: 22800 LEVEL 3: 33600 LEVEL 4: 52800 LEVEL 5: 68400 LEVEL 6: 94800 LEVEL 7: 115200 LEVEL 8: 148800 LEVEL 9: 174000 LEVEL 10: 214800 LEVEL 11: 244800 LEVEL 12: 292800 LEVEL 13: 327600 LEVEL 14: 382800 LEVEL 15: 422400 LEVEL 16: 484800 LEVEL 17: 529200 LEVEL 18: 598800 LEVEL 19: 648000 LEVEL 20: 724800 LEVEL 21: 778800 LEVEL 22: 862800 LEVEL 23: 921600 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 1 -------------- LEVEL 1: 13200 LEVEL 2: 25200 LEVEL 3: 36000 LEVEL 4: 55200 LEVEL 5: 70800 LEVEL 6: 97200 LEVEL 7: 117600 LEVEL 8: 151200 LEVEL 9: 176400 LEVEL 10: 217200 LEVEL 11: 247200 LEVEL 12: 295200 LEVEL 13: 330000 LEVEL 14: 385200 LEVEL 15: 424800 LEVEL 16: 487200 LEVEL 17: 531600 LEVEL 18: 601200 LEVEL 19: 650400 LEVEL 20: 727200 LEVEL 21: 781200 LEVEL 22: 865200 LEVEL 23: 924000 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 2 -------------- LEVEL 2: 30000 LEVEL 3: 40800 LEVEL 4: 60000 LEVEL 5: 75600 LEVEL 6: 102000 LEVEL 7: 122400 LEVEL 8: 156000 LEVEL 9: 181200 LEVEL 10: 222000 LEVEL 11: 252000 LEVEL 12: 300000 LEVEL 13: 334800 LEVEL 14: 390000 LEVEL 15: 429600 LEVEL 16: 492000 LEVEL 17: 536400 LEVEL 18: 606000 LEVEL 19: 655200 LEVEL 20: 732000 LEVEL 21: 786000 LEVEL 22: 870000 LEVEL 23: 928800 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 3 -------------- LEVEL 3: 49200 LEVEL 4: 68400 LEVEL 5: 84000 LEVEL 6: 110400 LEVEL 7: 130800 LEVEL 8: 164400 LEVEL 9: 189600 LEVEL 10: 230400 LEVEL 11: 260400 LEVEL 12: 308400 LEVEL 13: 343200 LEVEL 14: 398400 LEVEL 15: 438000 LEVEL 16: 500400 LEVEL 17: 544800 LEVEL 18: 614400 LEVEL 19: 663600 LEVEL 20: 740400 LEVEL 21: 794400 LEVEL 22: 878400 LEVEL 23: 937200 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 4 -------------- LEVEL 4: 79200 LEVEL 5: 94800 LEVEL 6: 121200 LEVEL 7: 141600 LEVEL 8: 175200 LEVEL 9: 200400 LEVEL 10: 241200 LEVEL 11: 271200 LEVEL 12: 319200 LEVEL 13: 354000 LEVEL 14: 409200 LEVEL 15: 448800 LEVEL 16: 511200 LEVEL 17: 555600 LEVEL 18: 625200 LEVEL 19: 674400 LEVEL 20: 751200 LEVEL 21: 805200 LEVEL 22: 889200 LEVEL 23: 948000 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 5 -------------- LEVEL 5: 109200 LEVEL 6: 135600 LEVEL 7: 156000 LEVEL 8: 189600 LEVEL 9: 214800 LEVEL 10: 255600 LEVEL 11: 285600 LEVEL 12: 333600 LEVEL 13: 368400 LEVEL 14: 423600 LEVEL 15: 463200 LEVEL 16: 525600 LEVEL 17: 570000 LEVEL 18: 639600 LEVEL 19: 688800 LEVEL 20: 765600 LEVEL 21: 819600 LEVEL 22: 903600 LEVEL 23: 962400 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 6 -------------- LEVEL 6: 152400 LEVEL 7: 172800 LEVEL 8: 206400 LEVEL 9: 231600 LEVEL 10: 272400 LEVEL 11: 302400 LEVEL 12: 350400 LEVEL 13: 385200 LEVEL 14: 440400 LEVEL 15: 480000 LEVEL 16: 542400 LEVEL 17: 586800 LEVEL 18: 656400 LEVEL 19: 705600 LEVEL 20: 782400 LEVEL 21: 836400 LEVEL 22: 920400 LEVEL 23: 979200 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 7 -------------- LEVEL 7: 193200 LEVEL 8: 226800 LEVEL 9: 252000 LEVEL 10: 292800 LEVEL 11: 322800 LEVEL 12: 370800 LEVEL 13: 405600 LEVEL 14: 460800 LEVEL 15: 500400 LEVEL 16: 562800 LEVEL 17: 607200 LEVEL 18: 676800 LEVEL 19: 726000 LEVEL 20: 802800 LEVEL 21: 856800 LEVEL 22: 940800 LEVEL 23: 999600 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 8 -------------- LEVEL 8: 249600 LEVEL 9: 274800 LEVEL 10: 315600 LEVEL 11: 345600 LEVEL 12: 393600 LEVEL 13: 428400 LEVEL 14: 483600 LEVEL 15: 523200 LEVEL 16: 585600 LEVEL 17: 630000 LEVEL 18: 699600 LEVEL 19: 748800 LEVEL 20: 825600 LEVEL 21: 879600 LEVEL 22: 963600 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 9 -------------- LEVEL 9: 301200 LEVEL 10: 342000 LEVEL 11: 372000 LEVEL 12: 420000 LEVEL 13: 454800 LEVEL 14: 510000 LEVEL 15: 549600 LEVEL 16: 612000 LEVEL 17: 656400 LEVEL 18: 726000 LEVEL 19: 775200 LEVEL 20: 852000 LEVEL 21: 906000 LEVEL 22: 990000 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 10 -------------- LEVEL 10: 331200 LEVEL 11: 361200 LEVEL 12: 409200 LEVEL 13: 444000 LEVEL 14: 499200 LEVEL 15: 538800 LEVEL 16: 601200 LEVEL 17: 645600 LEVEL 18: 715200 LEVEL 19: 764400 LEVEL 20: 841200 LEVEL 21: 895200 LEVEL 22: 979200 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 11 -------------- LEVEL 11: 361200 LEVEL 12: 409200 LEVEL 13: 444000 LEVEL 14: 499200 LEVEL 15: 538800 LEVEL 16: 601200 LEVEL 17: 645600 LEVEL 18: 715200 LEVEL 19: 764400 LEVEL 20: 841200 LEVEL 21: 895200 LEVEL 22: 979200 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 12 -------------- LEVEL 12: 391200 LEVEL 13: 426000 LEVEL 14: 481200 LEVEL 15: 520800 LEVEL 16: 583200 LEVEL 17: 627600 LEVEL 18: 697200 LEVEL 19: 746400 LEVEL 20: 823200 LEVEL 21: 877200 LEVEL 22: 961200 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 13 -------------- LEVEL 13: 421200 LEVEL 14: 476400 LEVEL 15: 516000 LEVEL 16: 578400 LEVEL 17: 622800 LEVEL 18: 692400 LEVEL 19: 741600 LEVEL 20: 818400 LEVEL 21: 872400 LEVEL 22: 956400 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 14 -------------- LEVEL 14: 451200 LEVEL 15: 490800 LEVEL 16: 553200 LEVEL 17: 597600 LEVEL 18: 667200 LEVEL 19: 716400 LEVEL 20: 793200 LEVEL 21: 847200 LEVEL 22: 931200 LEVEL 23: 990000 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 15 -------------- LEVEL 15: 481200 LEVEL 16: 543600 LEVEL 17: 588000 LEVEL 18: 657600 LEVEL 19: 706800 LEVEL 20: 783600 LEVEL 21: 837600 LEVEL 22: 921600 LEVEL 23: 980400 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 16 -------------- LEVEL 16: 572400 LEVEL 17: 616800 LEVEL 18: 686400 LEVEL 19: 735600 LEVEL 20: 812400 LEVEL 21: 866400 LEVEL 22: 950400 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 17 -------------- LEVEL 17: 649200 LEVEL 18: 718800 LEVEL 19: 768000 LEVEL 20: 844800 LEVEL 21: 898800 LEVEL 22: 982800 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 18 -------------- LEVEL 18: 753600 LEVEL 19: 802800 LEVEL 20: 879600 LEVEL 21: 933600 LEVEL 22: 999999 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 START LEVEL: 19 -------------- LEVEL 19: 841200 LEVEL 20: 918000 LEVEL 21: 972000 LEVEL 22: 999999 LEVEL 23: 999999 LEVEL 24: 999999 LEVEL 25: 999999 LEVEL 26: 999999 LEVEL 27: 999999 LEVEL 28: 999999 Notes: Soft drop points are ignored. The scores are calculated at the end of each level. A perfect game of all tetrises is so unlikely that we can say it's impossible.
Slight corrections: When you advance to the next level with a line score, you do get the points for the newly attained level, rather than the level you were on when you got it. So for example on a level 9 start, the 25th tetris would get you 100 lines, taking you to level 10, and you get the level 10 points for it. So you'd get 288,000 at level 9, and 301,200 at 100 lines entering level 10 (not to mention the addition of soft drop points, but nevermind that). Also, if you start on level 10-19, the level advance does not happen at 100 lines. They calibrated it so that you would get a little bit of a bonus for starting higher, but not so much of a bonus that it was easy to max the score out. Here are the level-advance # of lines for each starting level after 9: 10 100 11 100 12 100 13 100 14 100 15 100 16 110 17 120 18 130 19 140
Incidentally the best start I've ever had is a level 9 start where I missed only 1 possible tetris before getting to level 10. Eventually I'd love to record a perfect level 9 game. I'd estimate it's no better than a 1 in 100 chance if you play perfectly.
Thank you for the corrections! I'll poke around in the code and try to get this corrected and add that soft drop points are ignored in the notes.
Sure. Since I was on a roll, I went ahead and did some calcs myself. Fun fact - a level 15 start has the latest earliest possible maxout level of the level 9+ starts at 24.4. Code: Strt #Tetr LvMx TotSc 9 59 23.6 1,020,000 10 56 23.4 1,000,800 11 54 23.6 1,008,000 12 52 23.8 1,012,800 13 50 24.0 1,015,200 14 48 24.2 1,014,000 15 46 24.4 1,010,400 16 45 24.0 1,009,200 17 44 23.6 1,011,600 18 43 23.2 1,017,600 19 42 22.8 1,027,200 Intriguingly, you could do it with one fewer tetris on a level 19 start by "soft-dropping" every block! But good luck with all that. Also interesting is that level 19 is the only level where you could max it out quicker by making your final score a non-tetris - even a single line would suffice. So it would be level 22 5 lines in, instead of 8. So there you go - you only need 41 tetrises in a row starting on level 19!
I've had this spreadsheet called Tetris100% kicking around for a while -- of note, it also highlights perfect transition and kill-screen scores.
Very nice, though I see it does make a couple of mistakes. One is the thing I mentioned about when you reach a new level, it's not giving you the points for a tetris on the newly attained level, which the game does. To fix the code you could just add 4 to your cell reference, eg. INT((a3+4)/10. Also, starting at level 10, you need to add 1 to your index for 'before normal progression', and then you'll be in good shape.
I remember thinking about scoring at the level reached rather than the one you were on before, but I must not have finished that line of thinking and implemented it in the spreadsheet. I took this opportunity to clean up the spreadsheet logic significantly. If you notice any other errors, please let me know.
whoa. i had a 660k transition starting at 18 today- i was only 90k off the highest possible?!? i promptly proceeded to fuck the game up and ended w/708k but man that was close.
For me to remember and handily copy and paste the order of scoring potential: 19, 18, 9, 17, 11, 10, 8, 12, 13, 16, 7, 14, 15.