(Link to video)
This is an any% TAS of the No-Slots category of Final Fantasy VII
No Slots means not using Cait Sith Limit 'Slots' which instakill any enemy including bosses.
Like every PSX TASes, I must start by saying that Bizhawk emulates PS1 loading speed. It cannot be compared with runs done on a PS2 with Fast Disc Speed. If we had Fast Disc Speed, we would most likely look at a time under 6 hours.
Random Encounter on the field
StepID 0x9c540
Step fraction 0x9c6d8
Danger 0x7173c
Formation 0x71c20
Offset 0x9ad2c
rnlist = [0xB1, 0xCA, 0xEE, 0x6C, 0x5A, 0x71, 0x2E, 0x55, 0xD6, 0x00, 0xCC, 0x99, 0x90, 0x6B, 0x7D, 0xEB, 0x4F, 0xA0, 0x07, 0xAC, 0xDF, 0x8A, 0x56, 0x9E, 0xF1, 0x9A, 0x63, 0x75, 0x11, 0x91, 0xA3, 0xB8, 0x94, 0x73, 0xF7, 0x54, 0xD9, 0x6E, 0x72, 0xC0, 0xF4, 0x80, 0xDE, 0xB9, 0xBB, 0x8D, 0x66, 0x26, 0xD0, 0x36, 0xE1, 0xE9, 0x70, 0xDC, 0xCD, 0x2F, 0x4A, 0x67, 0x5D, 0xD2, 0x60, 0xB5, 0x9D, 0x7F, 0x45, 0x37, 0x50, 0x44, 0x78, 0x04, 0x19, 0x2C, 0xEF, 0xFD, 0x64, 0x81, 0x03, 0xDA, 0x95, 0x4C, 0x7A, 0x0B, 0xAD, 0x1F, 0xBA, 0xDD, 0x3E, 0xF9, 0xD7, 0x1A, 0x29, 0xF8, 0x18, 0xB3, 0x20, 0xF6, 0xD1, 0x5E, 0x34, 0x92, 0x7B, 0x24, 0x43, 0x88, 0x97, 0xD4, 0x0F, 0x35, 0xAA, 0x83, 0x68, 0x27, 0xA8, 0xD5, 0xBE, 0xFA, 0x14, 0x31, 0xAF, 0x10, 0x0D, 0xD8, 0x6A, 0xCE, 0x23, 0x61, 0xF3, 0x3D, 0xA4, 0x08, 0x33, 0xE3, 0xA9, 0x38, 0xE6, 0x93, 0x1D, 0x1C, 0xF0, 0x0E, 0x87, 0x59, 0x65, 0x82, 0xBC, 0xFF, 0xFE, 0x7E, 0x8F, 0xC1, 0x1E, 0xF5, 0xCB, 0x49, 0x02, 0x32, 0x09, 0xC4, 0x8E, 0xC6, 0x2B, 0x40, 0xA7, 0x17, 0x76, 0x3B, 0x16, 0x2A, 0xC8, 0xFB, 0xB2, 0x58, 0xA5, 0x15, 0xAE, 0x25, 0xCF, 0x46, 0xC7, 0x48, 0xB4, 0x0A, 0x3F, 0xC9, 0x06, 0x85, 0x51, 0x89, 0x62, 0x4D, 0x12, 0x8C, 0xEA, 0xA2, 0x98, 0x4B, 0x79, 0x6F, 0x5C, 0x47, 0x30, 0x1B, 0xE7, 0xC5, 0x22, 0x9C, 0xE8, 0x96, 0x3A, 0xE4, 0x7C, 0xE0, 0x69, 0xA1, 0xB7, 0x05, 0x39, 0x74, 0x01, 0x9F, 0xBD, 0xC3, 0x84, 0xFC, 0x77, 0x86, 0x13, 0x4E, 0xBF, 0xF2, 0x53, 0x5B, 0xED, 0x21, 0x8B, 0x6D, 0xC2, 0x41, 0xB6, 0xDB, 0x3C, 0xD3, 0x28, 0xEC, 0x2D, 0xE2, 0x9B, 0xA6, 0x42, 0x52, 0x57, 0x5F, 0xE5, 0xAB, 0xB0, 0x0C]
dangerrng=(rnlist[StepID+1]- Offset)%255
dangerbattle=dangerrng+1)*256)%65535
if Danger > dangerbattle then Random Encounter (however a dangerbattle of 0 doesn't trigger a battle)
Every time you take a step, the Step fraction increases by 32, and when it reaches 256, it rolls over to 0 and if you're in a field with random encounters, your StepID increases by 2 and your Danger increases as well, otherwise nothing happens.
Each field has a Danger increase value. If you're walking when the StepID increases, your Danger will grow only 1/4 of the increase you'll get if you're running.
As you can see, on fields where a random encounter can happen, the game will check your StepID, the Offset and your current Danger to determine if a battle occurs every time your StepID increases.
When the StepID reaches 256, it rolls over to 0 and Offset increases by 13.
Formation determines which set of enemies you will get in the next encounter. It increases every random encounter or when a Menu Glitch is performed.
So, how to efficiently deal with random encounters ?
Well, several options :
1) Because the Danger only increases when StepID increases, we can run all the time and walk only on the frame the StepID increases. This only loses a frame of movement and gives us a lower Danger value. This is called Stutter stepping.
2) We can perform a Menu Glitch. On the frame a battle is supposed to happen, calling the menu will cancel it. It will still increase the Formation and does not reset the Danger value. However it has the side-effect of activating the Double Boss Battle glitch.
3) Simply accepting a battle and escaping immediately. This does reset the Danger value to 0.
Double Boss Battle Glitch : If a Menu Glitch is performed just before a scripted fight, said fight will happen twice. It is very time consuming, so we want to avoid that. To cancel the glitch, we simply need to get a random encounter in between.
Sometimes, we want to fight a specific enemy (for exemple, to learn an Enemy Skill). To do so, we can manipulate the Formation value by performing more Menu Glitch than otherwise necessary.
Random Encounter on the World Map
WMEncounterCheck 0x11627c
WMDangerValue 0x116284
WMRNGIndex 0x10ae58
WMRNGTable starts at 0x10ae5c
WMEncounterCheck starts at 116 when you enter the World Map and is set to 226 when dismounting a Chocobo or exiting a vehicle. It increases by 1 for every frame of movement. As long as it is above 16, no battle can occur (which is why exiting and reentering the buggy avoids battles). Once it reaches 256, it loops back to 0. From there, when it reaches 17 a Battle Check happens and it is reset to 0.
Every time a Battle Check happens, WMDangerValue increases by 512.
WMRNGTable is a list of random numbers used to see if a battle happens. It is updated when entering the World Map, depending on your In-Game time, or when the pointer reaches the end of the list.
WMRNGIndex is a value that points directly to a number in the WMRNGTable. It increases on every Battle Check and also depending on which button is pressed. Left and Right increase both WMEncounterCheck and WMRNGIndex. Up and Down increase WMEncounterCheck only. R1 and L1 increase WMRNGIndex only. Because of this, it is pretty easy to avoid encounter.
If WMRNG < WMDangerValue/256 then Random Encounter
RNG
There is two types of RNG.
The first one is what we call List value (located at 0x95dc8). Depending on the field, it can move more or less fast or not move at all. It is not used very often in a meaningful way but has some use (helps determining the list of possible floors in Shinra Elevator or which move is asked in Junon mini-game. The most important is whether or not you get a battle on each step of the Final Descent). This RNG always increases by a specific value called Stones (located at 0x4a630). We have no control over it until we reach Shinra elevator. Then it will change depending on which frame we press the button. After that it will update in Bone Village depending on our In-Game time and will be set for the rest of the game.
The second one is the In-Battle RNG. There is a list of RN from 0x62e10 to 0x62e17 and a pointer in 0x62e18 indicating which number to use. Those RN are used to determine misses, critical hits, steals, drops,... The pointer moves to the next number every 4 frames.
Stats
Cloud always starts the game with the same stats. Every other character that will join later can have different stats based on the In-Battle RNG when they join. Which means that the last battle before a character joins should be manipulated to get the stats we want. Stats may or may not increase during a level up also based on the In-Battle RNG at the end of the fight as long as they didn't reach the cap for the current level. Which is why Cloud can have different stats right after the first fight. It is worth noting that even characters that didn't take part in a battle will receive some experience and can level up off screen, and thus have stats' increase.
At the beginning, the most important stat is Cloud's Luck. It should be manipulated to the maximum possible until Jenova-BIRTH because Luck plays a part in whether or not you get a critical hit. Having 22 against Jenova-BIRTH instead of 21, doubles the odds and helps getting a faster fight. It's nice that Cloud gets good Strength and Magic, but perfection in those stats isn't required so if the manipulation takes too long, we can settle for a bit less.
Because Tifa is gonna be the main hitter for a good chunk of the game also, manipulating her strength was done as well.
Paralysis dodge
A glitch that is used quite a few times. On certain occasions, we can trigger two textboxes at the same time, usually by talking to someone at the same time that we go over a trigger zone. This allows us to keep control of the character and move on way sooner than otherwise by exiting the area or doing two things at the same time.
Renaming characters
On Fastest, textboxes print 6 characters every 2 frames (60fps). Which means that renaming our heroes to a one letter name will save a couple of frames most of the time their names appear in a dialog.
There is a skip right at the beginning of the game where by positioning Cloud perfectly, we can skip the dialogs with the members of Avalanche and save a bunch of seconds. However this forbids us to rename Cloud and Barret and Barret joins at level 1. Because of that we lose a bit of time on Guard Scorpion because Barret cannot make a critical hit, but more importantly we would lose time on every textbox where their name appear. I honestly haven't counted how many times it happens but I'm fairly certain we would lose time over a full TAS, which is why this skip isn't performed. However on PC any%, it is likely to save time considering how shorter it is.
Starting ATB
Very easily manipulable. The starting values change every 2 frames (60fps), so we can just wait a little bit until we get what we want.
ATB on Wait trick
Stoping the enemy ATB from filling up while a character attacks. This is done when our character's ATB fills faster than the enemy one (normally or after getting a Limit), so he can act twice in a row.
World Map movements
Going diagonally is the fastest form of movement.
Moving the cursor
Most of the time, it is possible to do two actions in one frame. For exemple it is possible to move the cursor and confirm at the same time to save a frame.
Kalm Skip
This is very technical and not easy to explain. I would recommend watching : https://www.youtube.com/watch?v=llQnrUHS0yA
And here we go :
Beginning :
Right off the bat, we delay a little bit the end of the first fight, so both Cloud and Barret gets a Luck of 17. You can see that thanks to stutter-step, I don't have to Menu Glitch on the bridge like RTA does.
Guard Scorpion :
Thanks to 17 Luck, we have 3% chance of critical hits every 4 frames. While doing less damages than Bolt, critical hits from Cloud are faster even if they require an extra turn. Barret can do 2 regular attacks instead of a critical if it takes too long to manipulate. Thanks to a critical Braver, we can finish the fight before it raises its tail.
Train :
First exemple of Paralysis Dodge. We talk to Jesse and try to exit the wagon at the same time. Then we exit and come back. This saves 11-12 seconds.
Entering 7th Heaven :
You will see console runners zone out and in to skip waiting for Barret to let you in. While this is faster on a PS2 with Fast Disc Speed, on Bizhawk the loading times are longer which makes waiting faster.
We could have skip this whole sequence by performing the Guard Skip immediately, but we need to do it to be able to use Materias. Before leaving we buy Grenades. They are very powerful early game.
Guard Skip :
By carefully positioning Cloud, we can actually clip through the guard and reach Wall Market immediately. This skips more than 20 minutes. Aerith cannot be renamed and join at level 1, but the benefits vastly outclass the losses.
Wall Market :
We can perform a couple Paralysis Dodge to save time here. While the sidequest to have Cloud chosen by Don Corneo takes a bit of time, it is almost a minute faster overall by not having to battle. During the squats mini-game, the timer doesn't actually starts at 30 flat. It's 30 seconds plus how many frames you're missing from the next full second of In-Game time. Which means that you can start anywhere from close to 30 to close to 31. In the basement of the mansion, we pick up the Ether to sell for money.
Aps :
This boss, being in a field where random encounters are possible, can be fought in Preemptive. Preemptive happens on specific StepID, but unfortunately, the first one is so far from where we are that it is faster to just fight it regularly. I choose to do 2 critical hits and 2 Sewer Tsunami to save a couple of grenades and fill Cloud's Limit gauge further.
On the way out, we pick up the Steal Materia. It will prove useful a couple of times.
Reno :
Not much to say. Cloud being way faster than Reno, we can put ATB on wait while he attacks to get 2 turns in a row. We continue to fill his Limit gauge.
Sector 5 Slum :
We refill our stock of grenades. We need enough to reach Junon.
Shinra HQ :
Every fight with Grenade Combatants is manipulated to drop a Grenade and get good stats' increases. It would have been possible to drop 2, but the manipulations cost too much time. The elevator is manipulated to reach floors 17, 29, 38, 47 and 59. This is the fastest and only cost one grenade. It is also manipulated to have a stone of 97 on exiting which gives the fastest Junon mini-game. We picked up the Poison Materia as it will speed a couple of boss fights.
Sample:H0512 :
The 3 minions in front of Sample can do nothing when it's their turn. We manipulated them to do so. We want Cloud to be poisoned as Sample only attack physically poisoned characters. This gives Cloud a Limit and we can use the ATB on wait trick to give him 2 turns in a row.
We pick up the Enemy Skill Materia. A few skills will help later.
Shinra HQ :
Prison skip. By carefully positioning Cloud, we can perform another Paralysis Dodge. This saves 4-5 seconds
Hundred Gunner :
We want Barret to get hit so he can have a Limit ready. Doing enough damages with the grenades skip its second attack. Barret has a Luck of 18 which gives him a 2% chance of critical hit.
Heli Gunner :
This one is annoying. We want Red to get hit twice and not being put to sleep to have a Limit ready. Then Red needs to finish the fight with a critical hit (2% chance) to skip one of Heli Gunner animation AND the RNG at the end of the fight must give Cloud a boost of Luck. Getting all that to work together and fast was painful.
Rufus :
Not much to say again, except that because of Cloud good strength, we can finish Rufus with a regular attack instead of a critical which saves a bit of time.
Motorball :
As Motorball is weak against Lightning, Cloud's Bolt will do more damage than grenades, which will save a few turns. When it's close to death, we voluntarily let it take a turn so we avoid a second twin burner.
Exit Midgar :
Once again, we perform a Paralysis Dodge, so we can leave right away. This saves about 30 seconds. Then we go to Chocobo Farm to buy a Chocobo Lure. This is needed to get a Chocobo, which is needed for the Kalm Skip. While we equip it, we put ATB on active for the next boss fight. Getting into a battle with Mandragoras alongside the Chocobo is optimal as they can be insta-killed with a grenade.
I managed to get a battle on the second encounter check. First one was impossible with this RNG List. If I had equiped the Chocobo Lure while in the farm, it would have been possible to get a first check encounter but the formation would not have been Mandragoras.
Finally we perform the Kalm Skip. Like I mentionned earlier, check out the video by AceZephyr if you wanna understand what's going on. Note that I performed the fastest skip that was found at the time of making the TAS. I didn't and still don't have the tools and knowledge to find a fastest one, which possibly exists.
Junon :
Buying more grenades...
Bottomswell :
The strategy is simple. Poisoning Bottomswell and let the poison ticks and grenades kill it. The only trick is purposefully delaying a grenade throw on our second turn so it attacks Cloud with Tail Attack instead of Moonstrike on everybody. Not only is it faster but it also gives a Limit to Cloud which is mandatory.
CPR mini-game :
The goal is to reach a value of 41 in address 0x75e3c. Every time Cloud inhale, the value you can get increase by 1. You can go up to 10 and then you have a one frame window to get 11. The optimal pattern is one time 11 and three 10.
Send off to Rufus :
There are 4096 different possibilities for this mini-game depending on your List value and Stones. Out of them all, I managed to get the fastest with a time of less than 40 seconds from first to last command. It's a shame it takes so long for the RNG to be in the right place though.
Cargo Ship :
Choosing our team is a bit tricky. Red throws grenades way faster than Aerith, but having Aerith in the team skips some dialogs in Costa del Sol. Also because we need to manipulate criticals with Cloud, which requires waiting, the time saved by throwing faster can be reduced or nullified. All in all, I TASed both team member and Red comes faster but not by much.
Jenova-BIRTH :
We put ATB back to Wait to manipulate the RNG easily. Cloud with the Force Stealer and Power Wrist will do more damage with a critical hit than a grenade. Jenova-BIRTH is in the same situation as Aps. Meaning it's possible to get a preemptive. Luckily this time, there is a good StepID really close. Because we've manipulated Cloud's Luck to the maximum, he has a 2% chance of making critical hits. He also is ready for a Braver thanks to Bottomswell. All in all, Braver's damage is multiplied by 4 in a critical preemptive, making a lot of damages to start the fight. I tried to go for an all critical hits from Cloud, however setting this up ended up taking too much time and it was in the end faster by around 20 frames to do a regular hit plus grenade.
Costa del Sol :
Here is a not obvious one. Getting the Fire Ring in the villa takes about 21 seconds. So why not take the Fire Armlet in Gaea's Cliff, which is on the way ? Well a couple of things. First of all, it's an accessory, which means it can be equip alongside with the Dragon Armlet, so we don't have to heal Cloud against Schizo which saves 4,5 seconds. But that's not enough, the Fire Armlet would still be faster. The problem is, that the optimized steproute gets to fight a Stilva BEFORE the Fire Armlet as part of the route. Fighting one after to learn Magic Breath is possible of course but would force a fight that we would otherwise skip. So it loses around 17,5 extra seconds on top. All in all, it's pretty close but the detour to get the Fire Ring saves about a second total.
Also while here, the List value is changing every 2 frames (60fps), so we wait 2 extra frames to set it up nicely for Rocket Town.
On our way to Corel :
We add a few more Menu Glitches than necessary to manipulate the Formation value. We take the opportunities presented by fighting Bombs to steal 2 Right Arm. They are pretty powerful at this point.
Corel :
We buy a few Hyper, Tranquilizer and Molotov. Choosing 'Don't go on' and manually entering the ride saves a bit more than 6 seconds.
Gold Saucer :
Nothing special to be noted except that having a bad List value can make Tifa take slightly longer to join you. Not much though.
Corel Prison :
Cait Sith joins the team as he's able to Manipulate. After selecting our characters we can directly exit by the left with careful movements. Formation was manipulated before so we encounter 2 Deathclaw and can learn Laser. They will not open with Laser though, so manipulating is one second faster.
Dyne :
Nothing special. Right Arm kills him instantly. He can sometimes counter but this is easily avoidable by simply delaying the throw.
We pick up Ramuh as it doesn't cost time.
Chocobo race :
Because the race ends only when 2 Chocobos cross the line, we need to look for a fast opponent's Chocobo. Then we push it so it goes faster. Finally, we start rushing in the end at a specific time so it also starts running as soon as possible. Chocobo number 3, despite looking good, won't run at the end.
Tifa joins the team to earn more experience.
Cosmo Canyon Skip :
By positioning the buggy on a very precise X position (0x1fedd0 : we want 86016) and a somewhat precise Y position (0x1fedd8 : we have more room here. Around 170800-171000 is ok usually), then exiting and reentering the buggy, we can bypass the trigger zone that would break the buggy and skip Cosmo Canyon entirely.
Mt. Nibel :
We pick up the Powersoul, which is gonna be the main weapon for Tifa starting at the end of Disc 1 until the end. It has a unique mechanism and : - when Tifa is under Death Sentence, the damages quadruple - when Tifa is in low HP, the damages double. Which means that under the right conditions she would do 8 times her normal damages.
Materia Keeper :
In FF7, there is a nice easter egg, called 'All Lucky 7'. When a character (friend or enemy) has exactly 7777 HP, its next attack will do 7777 damages. The thing is, a tick of poison is considered self-inflicted damage. So if we can poison Materia Keeper and then get it down to 7777 HP exactly, the next tick of poison would kill it. We also use the opportunity to fill Cait Sith's Limit gauge.
We pick up Counter. It'll be useful once.
Rocket Town :
We talk to the old man to receive the Yoshiyuki. It takes a little bit less than 20 seconds to get, but it has more attack than the Force Stealer and also deals more damages if a party member is dead. Because of that it will save more time in the Temple of Ancient's boss battles. When entering the rocket, the List value is used to determine how fast you can talk to Cid. It was manipulated in Costa del Sol so we can talk right away.
Palmer :
Cait Sith's Limit 'Dice' will deal as a damage, the sum of the die times 100. If you roll a double, an additional times 2 is added. Which means a double 6 will deal 2400 damages. Cait Sith is targeted so he can use his limit twice, which ends the fight pretty quickly.
Gold Saucer :
We don't have to win the fight, we can just escape. Cloud being dead would have worked as well. The gondola ride's length varies based on the List value. Luckily the List value moves very fast in the Event Square so we can manipulate it. We take Cait Sith in the party because of his Limit.
On our way to the Temple :
We take a small detour to pick up Deathblow. It allows for a physical hit that has only a third of the original accuracy but is a guaranteed critical hit if it lands, regardless of Luck and Level. It's a loss of 11-12 seconds compared to getting it after the Temple but dealing double damages against Red Dragon and Demons Gate makes it worth. At this point, Cloud cannot make a regular critical hit against Red Dragon or Demons Gate.
Temple of Ancients :
We use the random encounter to fill Cait Sith's Limit gauge.
Red Dragon :
Cait Sith continues to hit 2400 with his Limit. We use Red Dragon to kill Aerith, this will double the damages done by Cloud. Cait Sith defends so he can survive the hit and still get a second Limit.
On the way to Demons Gate :
It only costs 2 frames (60fps) to pick up the Bahamut Materia. In the clock room, we wait a little bit to advance the List value further. It's the last time the List value will be moving this fast and that we can wait with no timeloss, since we would be waiting before starting the next fight anyway.
Demons Gate :
In this fight, we use the second Right Arm and a Braver to do enough damage to skip a costly second Demon Rush at the end. Every time Demons Gate loses 2500HP, it gets ready to do a Demon Rush. Cait Sith defends to survive it and gets a Limit. The rest of the fight is as usual, Cait Sith's Dice and Cloud's Deathblow.
Gongaga :
We buy the Haste Materia. Because we didn't learn Big Guard or pick up Long Range, we need it to be able to deal with Sephiroth before he takes the sky and become unreachable. Buying it here instead of Rocket Town later is slightly faster.
Bone Village :
We buy a few Hi-Potions, Phoenix Down, and Ethers. We want to get rid of almost all of our Gil to save time in Fort Condor later. Once we start looking for the Lunar Harp, Stones get updated depending on our In-Game time. It's important to get a value that allows for an encounterless Final Descent, as not all of them do. If we press confirm at the right time, we can skip the chest opening animation.
Corral Valley :
We equip Tifa with the Powersoul, Gigas Armlet and Power Wrist. Until we get the Curse Ring, this is the equipment for maximum damage. We have to force a battle against a Boundfat here. Boundfat will counter with Death Sentence if they are killed by either Magic or Summon, so we use Ramuh to get rid of them all. Ramuh is way faster than Bahamut. We also manipulate a Dazers drop.
World Map :
We switch Barret for Red as he has a way faster reaction to Aerith's death. We also reset Tifa's Limit gauge so she can abuse the ATB on Wait trick in the next boss fight.
Forgotten Capital :
We can open the chest from the upper floor and perform a Paralysis Dodge. Because we have to wait a little before being able to leave the hut in the dark, we pick up the Enemy Skill Materia at no cost. We can also pick up the Comet Materia from below which is gonna be a useful one later on.
Jenova-LIFE :
We let Jenova-LIFE attack Tifa to put her on critical HP and use Death Sentence on her. As explain before, she's now able to do a crazy amount of damage with this setup. Add Deathblow to that for critical hits and this is a breeze.
END OF DISC 1
Icicle Inn :
After dodging Elena's punch, we only confirm to cross path with the soldier and save a bit of time. We picked up a Hero Drink to speed up Schizo fight.
Great Glacier :
We pick up the Added Cut Materia. When linked to Deathblow, it will allow Tifa to make a second regular hit which can also critical provided her Luck is high enough.
Snow Field :
Acts like the World Map so we wanna go diagonally as much as possible to save time.
Inside of Gaea's Cliff :
We fight against a Stilva to learn Magic Breath. Thanks to the Wizard Bracelet we can one-shot it with Comet. The experience Tifa would get by fighting the Icicles would not change her level during the next bosses fight, so it doesn't matter if we revive her before or later. Icicles are weak against Gravity so Laser instakills them and ends the fight immediately.
Schizo :
We cast Death Sentence on Tifa as usual but add an Hero Drink on top to boost her damages further. The most important is to get rid of the head who uses Ice because nobody is immune to it. So that's our primary target. The idea is to get the Ice to hit Red who can survive one hit, and the Fire to hit Cloud as it won't hurt him thanks to the Fire Ring. We steal the Protect Ring to have M-Barrier later. Red heals Tifa so she can survive the counter magic upon an head's death and then he gets the second Ice hit now that he's not useful anymore. Fire still hits Cloud who doesn't care. Tifa goes back to critical HP and finishes the job easily. Thanks to the Dragon Armlet, Cloud doesn't have to heal to survive.
Jenova-DEATH
Jenova-DEATH is gonna have a turn no matter what, so it doesn't matter if she opens or not. Then we set up Tifa as usual. Because Jenova-DEATH is really fast, we have Red and Cloud making actions to stop her ATB from refilling once it's full. Red throws the Dazers to paralyze it, and we keep ATB on Wait for every attack from Tifa, so it stays paralyze until death.
Despite having to cover more ground, because of the dialogs the difference in total between giving the Black Materia to Barret and giving it to Red is minimal. We pick up MP Turbo. It'll be useful in the train fights.
Junon :
FMV Skip. Despite his model being invisible, Barret is present in the room and can be controled. So we make him exit the room and skip a good chunk of FMV. This saves around a minute fifteen. It is, unfortunately, slightly faster to let Scarlet win the slapping contest.
Mideel :
Two things we are NOT doing. - Getting the Curse Ring. It takes roughly 1m10s to get it here and only saves about 20s in the train fights. It is way faster to steal it later. - Getting the Destruct Materia. It saves only 10-11 seconds against Sephiroth and 6-7 seconds in Fort Condor by having less money. But takes roughly 21 seconds to get. But we do wait a little bit more than necessary to advance the List value to the point where we want it.
Fort Condor :
The fastest way to end the mini-game, is to buy Tristoner and remove them until we run out of money. That will trigger a fight, that we can loose immediately and be done.
On the way to the Train fights :
We want the Attack Squads to drop a S-mine.
Train fights :
1) Nothing special. 2) Red doesn't have high magic, so his Magic Breath + Dragon Fangs are barely enough. 3) Cait Sith gets targeted to trigger his Limit. Thanks to ATB on Wait he can, then, attack twice and do enough damage thanks to MP Turbo. 4) The enemy is weak against Lightning so Magic Breath does a lot of damage. 5) This is why we wanted the S-Mine drop.
Corel :
We can perform a Paralysis Dodge and save 28-29 seconds. However we cannot exit Corel by the right immediately. We need to go towards the Gold Saucer first and then come back.
Ultimate Weapon :
It always attacks with the same 3 moves and then take off. Thanks to the Protect Ring, Cid can survive without having to heal. We steal the Curse Ring.
Lifestream :
Very boring section. Nothing to do to speed this up.
Junon :
We equip Tifa with the Curse Ring. It puts her under Death Sentence automatically so we don't have to cast it again and boosts tremendously her stats to the point where she's a killing machine. No need to use anybody else anymore. During the pincer battle, having Tifa countering saves a bit of time. We use this battle to put Tifa in critical HP as well.
Carry Armor :
Thanks to the Curse Ring, Tifa has now a 2% chance of making a critical hit with her Added Cut attack, while Carry Armor can use a 'do nothing' move. With a bit of manipulation, we can put 5 critical hits in a row without it moving!
Inside the submarine :
Pincer battle. Tifa cannot take a hit and counter here, so we have to use the ATB on Wait trick. We wait a little bit for the List value to advance further.
Submarine mini-game :
By optimizing our movements it is possible to end with a time left of 09:50, though it's pretty close.
Rude :
One hit and done.
Inside the rocket :
How fast some textboxes appear when we try to help Cid when he's trapped is based on the List value. This was manipulated to be fast.
Forgotten city :
We take a slightly less optimal trajectory when leaving to let the List value change one additional time. This is the last time we manipulate it and it now guarantees an encounterless Final Descent.
Before Diamond Weapon :
We replenish Tifa's HP. This might seem like a waste of time because Tifa needs to be in critical HP to be dealing the most damages but...
Diamond Weapon :
We need to hit Diamond Weapon with two Limits before it opens and that Tifa can do meaningful damages. Because of that, it will get a turn before we can use Deathblow. We can use it to our advantage by making it hit Tifa and put her back in critical HP. This will fill her Limit gauge and allow her to act twice in a row with the ATB on Wait trick. This saves a bit of time as Diamond Weapon's turns are slow. Tifa has a 2% chance of making a regular critical hit.
Midgar skip :
On the sequence right after Reeve is calling, our characters models are invisible but can move for a frame. This is all we need. By keeping Down, Right and Run pressed, we jump straight into the sequence with the Hojo fight. This skips the whole return to Midgar and saves a lot of time. However this glitches the music until the end...
Hojo :
Not much to say. Tifa powers through. It is possible to critical hit on the second phase to save an attack which will carry on to the third phase, but this will make Hojo attack on the third which we don't want. On the third phase, Hojo can 'do nothing'. Thanks to Haste, it is possible to attack him twice and kill him without him moving.
END OF DISC 2
Northern Cave :
We open the chest at the same time the ground is shaking for a Paralysis Dodge, but we don't close the textbox until the next ground shake for another Paralysis Dodge. We use the first random encounter to put Tifa in critical HP. By selecting the Save Crystal and climbing down at the same time, we can perform yet another Paralysis Dodge. Funny enough, a battle was supposed to happen also, so it's a Menu Glitch at the same time, that costs nothing. We say we want Cloud to go to the right and exit the screen. We're not supposed to be able to go down the next screen, but by placing the Save Crystal on a specific position, we can perform the final Paralysis Dodge of the run. On the final random encounter, we, unfortunately, couldn't escape before getting hit.
Thanks to the manipulation of the List value and Stones, we go through the Final Descent without trouble.
Jenova-SYNTHESIS
Tifa has 1% chance of critical hit with her regular attack. We manipulated one, as doing more wouldn't save a turn and just loose time.
Bizarro-Sephiroth
Tifa has a 3% chance of critical hits. By doing a high damage roll, followed by a critical regular hit, it is possible to save an attack. We use Haste to skip a turn of attack and healing from Bizarro-Sephiroth. (This is not present in my encode as it was changed later, but is done in the movie file)
Safer-Sephiroth :
Not much to say for this final fight. Critical hits are not possible. So it's just : attack, ATB on Wait trick, repeat until death.
THE END !!!
The In-Game time at the final hit on Sephiroth is 6h11m04.
Hope you enjoyed :)

slamo: Replaced file with 92 frame improvement, and judging!
slamo: This is an outstanding run. I don't normally sit down and watch long RPG runs, but this one was really interesting, aside from the usual button mashing through cutscenes. The battle strategies were varied and interesting, and there were enough minigames in between to break things up a little. Your submission notes were excellent and I followed along with them while watching the run, and it helped me understand your routing. Obviously you put a lot of work into the optimization, including manipulating the RNG hours ahead of time so you get no encounters in the last section of the game.
I was curious about the category choice. From what I've read, No Slots is preferred over Slots for RTA runners for two main reasons:
  • 1. The Cait Sith Game Over exploit is really difficult to pull off, requiring precise inputs to bypass the RNG check that would normally prevent you from getting the Game Over move despite perfect timing. This exploit needs to be done dozens of times throughout the run, and doesn't even save you that much time in the end - the author estimates this is overall only about 5 minutes faster if done perfectly, which is not a lot for a 6-7 hour run.
  • 2. The battle strategies are not as entertaining in Slots. You are basically one-shotting as much as possible, so there isn't a whole lot of variety, and it isn't as interesting as No Slots.
The first one doesn't matter too much for TAS purposes, but the second one is relevant for our site because it can be seen as a valid speed/entertainment tradeoff. I think this run should easily qualify for Moons, not only due to its entertainment value, but also due to its notability in the speedrunning community, something I personally think we should put more weight into. It will definitely make FF7 speedrun watchers happy with a familiar category and introduce new viewers to it as well. The feedback between the thread and Youtube comments was completely positive.
There is a little bit of a wrinkle to take care of. There is an existing published run that uses Slots, but it is actually slower than this run due to new skips and some corrected mistakes. Now, I could just obsolete that run with this and leave it at that, but I want to try to future-proof the categories for this game. Slots is, to the best of our knowledge, theoretically faster than No Slots if done properly, so it should stay as the Standard fastest completion run. Also, I believe Slots and No Slots can coexist on this site. There is inevitably a lot of overlap due to the nature of RPGs (mostly cutscenes), but the real meat of the run is the routing and the battles, which are more centric on Cait Sith in the Slots run and more varied in the No Slots run. If an improved Slots run is made, I want it to obsolete the published Standard run and keep this category intact, so the solution is...
Accepting to Moons as a new branch.
fsvgm777: Processing. Spikestuff is handling the encodes for this one.
fsvgm777: Spikestuff has returned as a publisher, so they'll be taking over instead.
Spikestuff: Publishing the emo boy with the long sword and is in multiple series for some reason.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14858
Location: 127.0.0.1
This topic is for the purpose of discussing #7489: Lil_Gecko's PSX Final Fantasy VII "no slots" in 6:10:51.06
Lil_Gecko
He/Him
Player (94)
Joined: 4/7/2011
Posts: 520
Requesting an update to the movie file. https://tasvideos.org/UserFiles/Info/637883787759055986 92 frames improvement by making a critical hit against Bizarro-Sephiroth. While I was writing the submission, I realized it made no sense to loose time overall if I made a critical hit against Bizarro. I then realized it was a bug in Bizhawk which made the loading time longer and desynced everything when replayed. I loaded a previous savestate and did the exact same battle, and sure enough, saved 92 frames instead of losing 60. EDIT : I won't reencode for just that though.
CoolHandMike
He/Him
Editor, Reviewer, Experienced player (636)
Joined: 3/9/2019
Posts: 580
That damage output of Tifa's becomes really insane really quickly so that was fun to see. What was the final setup for Tifa? Powersoul / Curse Ring / Gigas Armlet with Added Cut linked to Deathblow materia? Nice to see a version with no slots as well. Yes vote.
discord: CoolHandMike#0352
Lil_Gecko
He/Him
Player (94)
Joined: 4/7/2011
Posts: 520
CoolHandMike wrote:
That damage output of Tifa's becomes really insane really quickly so that was fun to see. What was the final setup for Tifa? Powersoul / Curse Ring / Gigas Armlet with Added Cut linked to Deathblow materia? Nice to see a version with no slots as well. Yes vote.
Correct. Curse Ring + Gigas Armlet add 65 to her strength. By the time she fights Safer-Sephiroth, she has a strength of 129! Thank you. :)
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
What do you estimate the time would be for any% (using slots, that is), using improvements that are in this TAS?
Lil_Gecko
He/Him
Player (94)
Joined: 4/7/2011
Posts: 520
I'd say we're looking at a time between 6h00 and 6h05 In-Game time. I might try it soon, as the published TAS is really outdated and full of mistakes. EDIT : Actually I might have been too optimistic. Looks more like a 6h05 to 6h08. Tough to say because it's a completely different steproute.
Player (159)
Joined: 5/20/2010
Posts: 295
Very nice run! I enjoyed seeing big skips and quick battles with Tifa. Well planned, manipulated and well-written submission text. Yes vote! And watching this new long tas encourages me to make other tases of other games.
Player (180)
Joined: 10/8/2006
Posts: 145
omg i posted this in the wrong thread after looking at the discussion for the currently published run anyway... I've been consuming a lot of RTA ff7 (no slots, no major skips, all bosses, and 100%) so this is an easy yes for me. back when the "slots" run was being produced i know I was a pretty big proponent for "no slots" since i think the strategies are generally more entertaining. That said, with the proficient RNG abuse Tifa does become about as over centralizing. In spite of that, it still feels like there are real stakes and you play so many boss battles close to 0 HP it does add a layer of excitement. Having virtually zero ranom encounters (Except when otherwise mandatory) is also dream come true. Made Demon's Gate look easy Dazers on Jenova Death was a nice touch. Carry Armor was easily my favorite. the only way this gets better for me is if it's a 100% or all bosses. really amazing work.
Spikestuff
They/Them
Editor, Publisher, Expert player (2284)
Joined: 10/12/2011
Posts: 6336
Location: The land down under.
To make literally every current Publisher's life easier, I'm encoding this one out.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14858
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4800] PSX Final Fantasy VII "no slots" by Lil_Gecko in 6:10:51.06