Tool-assisted game movies
When human skills are just not enough

Submission #4412: PoochyEXE's N64 Magical Tetris Challenge "maximum score" in 01:55.33

Console: Nintendo 64
Game name: Magical Tetris Challenge
Game version: USA
ROM filename: Magical Tetris Challenge (U) [!].v64
Branch: maximum score
Emulator: BizHawk 1.7.0
Movie length: 01:55.33
FrameCount: 6920
Re-record count: 1311
Author's real name:
Author's nickname: PoochyEXE
Submitter: PoochyEXE
Submitted at: 2014-08-25 12:10:31
Text last edited at: 2014-09-25 09:29:09
Text last edited by: PoochyEXE
Download: Download (5297 bytes)
Status: decision: cancelled
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)


This obsoletes my previous run, beating it by 5,789 frames (1:36.48) and by 1:19 in-game time. I have another submission which uses Expert instead of Easy (and a significantly different route), but is slower by 123 frames and 5 seconds in-game time. Both are intended for Moons and possibly Notable Improvements, although I only aim to get one or the other published. When one is accepted, I'll cancel the opposite one (unless people request otherwise, which I doubt will happen).

I was rewatching my first TAS and noticed a couple minor things that could be further optimized. I went and edited the movie to add the optimizations, but it resulted in the rest of the movie desyncing partway through stage 1. So I said "screw it, I'll just make an entire improved run from scratch." Next thing I knew I was trying to squeeze the entire run into a single stage.

Magical Tetris Challenge is a rather obscure Tetris game made by Capcom in 1998. Like a lot of Tetris games, the objective is to clear multiple lines at once and/or clear lines with consecutive pieces to send attacks to your opponent, and whoever fills their field to the top first loses. But unlike most Tetris games, attacks don't come in the form of rising rows of garbage blocks. Instead, sending attacks fills up your opponent's queue with unusual, harder to use "magical" pieces which they then have to place.

The magical pieces start out as pentominoes. However, if you clear a line while you have magical pieces in your queue, you can counter some of your magical pieces, which turn into square blocks and are sent back to your opponent, showing up as "?"s in their queue. These are 2x2 square blocks after the first counter, but they can be countered right back, and they grow with every volley up to a maximum size of 5x5 after 4 counters.

If you let your queue fill to capacity, any overflow turns existing pieces in your queue into "!". A "!" piece can't be countered, and they're massive pieces you really do NOT want to get, such as pyramids and diamonds.

One other unique feature is a meter in the bottom corner. Single-line clears that don't counter anything fill up the meter. When it reaches the maximum, after the next piece you drop, your entire playing field will collapse down to the bottom, your lowest column gets removed entirely, and then everything above meter's height is erased and the meter grows longer for next time. Doing an All Clear is the only way to shrink the meter back down.

Game objectives

  • Emulator used: BizHawk 1.7.0
  • Aims for fastest time to 999,999,999
  • Uses easiest difficulty
  • Genre: Puzzle


Luck manipulation was still the hardest part. I still haven't found any method to change the initial seed, either. However, since my first submission for this game, I've discovered a new minor luck manipulation technique: Clearing lines appears to advance the seed. I managed to exploit this to get the right pieces for an All Clear.

Additionally, I use a new technique to save a couple frames on placements at a couple points: Normally pressing Up performs a hard drop, dropping the piece to the bottom and locking it immediately. However, if the player presses Up and either A or B on the same frame, the game processes the drop, then the rotation, and then locks the piece if it's still touching the ground -- similar to the behavior that allows Synchro moves in Tetris: The Grand Master. For piece placements where I had to twist the piece into place at the bottom or move it under an overhang, this saves a couple dozen frames of soft drop (pressing Down to make the piece fall faster)

For the curious, the scoring for line clears is as follows:

  • 100 points for a single
  • 250 points for a double
  • 750 points for a triple
  • 3000 points for a Tetris
  • 5000 points for a Pentris
  • The nth hit in a combo is multiplied by 2^n.

For the benefit of anyone else trying to TAS this game, some useful information copy-and-pasted from my first submission:

There are ways to advance the seed in mid-game without dropping a piece, meaning the piece sequence will not always be entirely the same throughout the match. Sending magical pieces appears to be the primary cause of seed advancement. I'm fairly sure each pentomino sent increments the seed when it gets added to the queue, I'm not so sure about "!" pieces, and I don't think "?" increment the seed at all.

Alternatively, since both players share the second-to-next piece in the middle when neither player has any magical pieces queued, it's possible to manipulate luck by simply stalling and waiting for the opponent to drop a piece. But this is boring to watch so I kept it to a minimum.

Additionally, when the meter does its thing, the next several pieces in the sequence are guaranteed to be I's. Presumably this was programmed to help the player who just triggered their meter, since it tends to leave a flat playing field with one deep canyon in it, where an I would be extremely useful and anything else would be of minimal use. But with some luck manipulation and/or good timing, this can be exploited to get an All Clear.

Stage by stage comments

Stage 1

As with my first submission, I go for a big combo immediately, because the stage bonus multiplier is determined by your biggest combo in the stage. This time I aim for an exactly 15 combo, to avoid triggering the meter prematurely, because it takes 16 single-line clears to fill up the meter. Also, after 30 seconds elapse in the match, the attack level goes to 2 and the meter fills twice as fast, further requiring me to do the combo immediately. Additionally, the attacks sent from comboing set up the AI for a counterattack, which I exploit later to get an All Clear.

After that, I go for All Clears since they each add 100K to the base stage bonus. The first All Clear was done with the same strategy from my 1st submission, filling the meter while also filling up my playing field in a way that the collapsed field is ideal for an All Clear, then luck-manipulate my way into getting the perfect piece for the All Clear. This time around I also tried to squeeze a couple frames out of the meter animation, since each empty cell with one or more blocks above it in the same column adds 3 frames to the playfield collapse animation, as well as 1(?) frame per block in the lowest column.

The 2nd All Clear was done via pure luck manipulation. The 3rd one was partly luck manipulation, and partly waiting for the AI to counterattack and give me 2x2 blocks to fill in the gaps. 4th one is pure luck manipulation again. The 5th one is the same meter strategy as before, only with a 2-block high meter. This required a bit more creativity to leave a perfectly-shaped hole, but didn't require as much luck manipulation. Then the 6th one leverages the I piece chain triggered by the meter plus a little more luck manipulation to finish it.

At this point I had 6 All Clears for 600K bonus plus a 15 combo for x1800 bonus multiplier, which was more than sufficient to hit 999,999,999, so I build a crude "TAS" out of the blocks while waiting for the AI to die. At this point the bottleneck is how fast the AI drops its pieces, and there's not much I can do to make it die faster.

Score for stage 1:

  • 3,292,850 from line clears & combos
  • Bonus subtotal: 641,000
    • 35,000 points for time
    • 6,000 points for 6 countered magical pieces
    • 600,000 points for 6 All Clears
  • Bonus multipler: x1800 for 15 combo
  • Bonus: 641,000 x 1800 = 1,153,800,000
  • 1 point for clearing the stage (added during the stage transition, but not displayed since I had already hit the cap)

Total score for stage 1: 1,157,092,851

Stage 2

Pretty much identical to my previous submission's stage 3. Again, not much to say here. I intentionally top out as soon as possible, since the in-game time only stops when you lose. Then I input "TAS" for initials and end the movie.

Other comments

There may be room for more optimization, either via better luck manipulation or by finding a way to make the AI die a couple seconds earlier on stage 1 (but not too early, since you have to rack up a bunch of All Clears first).

I wanted to build a much tidier-looking "TAS" at the end, but I wasn't quite able to luck manipulate my way into just the right series of pieces before the AI bit the dust.

Screenshot suggestion: Frame 5270 showing the "TAS" I built out of blocks.

FractalFusion: Judging.

Similar submissions (by title and categories where applicable):