After years of delay, I bring you Shining Force 2 in 3 hours, 26 minutes and 17 seconds.
- Takes damage to save time
- Uses death as a short cut
- Intentionally kill party members to save time
- Manipulates luck
- Plays on "Ouch" difficulty setting
- Uses secret configuration to speed up cursor
- Skips Battles (any%)
- Extensive use of Lua
The Game
Shining Force 2 is a turn-based strategy RPG, and has been on
IGN’s top 100 games of all time. The game consists of up to 12 player-controlled characters going against a group of CPU controlled monsters. The characters gain their own experience and levels. Each battle is fought, and ends when all enemies or a boss enemy is dead. I will be discussing the game in ‘halves;’ as the tempo of the TAS changes dramatically after battle 25. During first half of the game, 14 of the 25 battles require that you kill all enemies to proceed. During the second half, all battles rely on ‘boss sniping,’ or going after the single enemy that will end the battle.
The making of the run
This run was my first run that I can say was completely reliant on Lua. After my most recent WIP, I realized it had been ages since I had actually even looked at the RAM Watch window sitting open, dusty, and abandoned next to my Gens window. The way the RNG had to be manipulated (see RNG manipulation) required a guess/check methodology. However, since going through each iteration by hand would be near impossible, I had Lua do the leg work. My work consisted of using 7 Lua scripts to do all of the grunt work and calculations, which I will describe below. The scripts made TASing the game entertaining and fun, as opposed to grunt work. Don't be thrown off by the rerecord count - Lua did the majority of rerecords.
RNG Manipulation
The RNG of SF2 is a 16-bit sequential loop. It can only change for one of three conditions: A call for a random value, a text box pause, or sitting in a menu. For the two ones that can be manipulated, the RNG advances one step per frame. To cycle through all 65,536 values of the RNG would take 18 minutes! Additionally, this also means I only get 1 chance to access the RNG per-character turn, which limits my ability to manipulate the enemy movements, attacks, and etc. While most worthwhile attacks/rounds are available within the first 60 frames, there are a few waits that are a few hundred frames long, unfortunately. I did my best to minimize wait time in menus.
Attack Power and Leveling
The single most important factor to making this run is attack power. For the majority of characters, 1 attack is the most they can gain per level. The three characters used in the run all have the ability to gain more attack, +2 for Bowie and Slade, and +3 for Peter. However, these values are rare for the early, unpromoted levels (~10-20% for Peter and Bowie). Unfortunately, this system also means that quite a few enemies must be killed that otherwise wouldn’t be obstacles to the boss sniping. Also, as a side note, this system is ridiculous for a TAS. If you figure that +2 for Bowie and Slade is essentially gaining 100% more attack, then every +2 you get is like gaining two levels. Luckily, the game does not change the probability based on your current attack. This makes for an absurd amount of attack for Peter at the end of the game.
This introduces the idea of Priming. Since we only have 1 access to the RNG, it can be extremely difficult to manipulate both a double attack and an optimal level gain. So, most of the early game is spent attacking enemies twice. This primes the enemy to give one of the main characters the chance to do a maximum level gain. You will notice a ton of priming in the first half of the game.
Additionally, with the use of the Power Ring, every +3 Peter gains is ~+4.5 after casting Attack Spell with the Power Ring.
The Characters
Bowie (Named Z)
Bowie is a crappy hero. I needed him strong enough to 1-hit Taros without wasting a Power potion on him, as those are reserved for Slade and Peter. However, once we finish the first half of the game, he is no longer required for any battle. So, during the second half of the game, you’ll see him take on a different role
Slade
The Ninja Rat is bad ass. His probability for +2 attack grows exponentially, so less and less time is spent priming enemies in favor of straight up ass-kicking. However, once promoted, he can only gain +0 or +1 attack, which is why he spends a majority of the game un-promoted. +2 attack per-level far outweighs the benefit of post-promotion weapons.
Peter
The obnoxious bird does it again. Pre-promotion, Peter has a very low chance of getting +3 per level. Additionally, his un-promoted MOV is one less than his promoted MOV. However, promotion cures that ill, and turns him into the strongest character in the game. In addition, early promotion allows me to use the Turbo Pepper on him. During the entire second half of the game, he has 11 MOV!
Sarah
Poor Sarah. She is dragged through the game, at level 1, helplessly sitting at the back of the battle, watching everyone else become powerhouses. While this may seem strange, she serves a very important role. By staying at level 1 and never attacking, her turn always happens right before the next round of battle begins. This gives me a chance to access the RNG, and directly select which battle order I want. However, her fate is questionable...
Kazin
Kazin's Desoul is great. It kills most of the bosses in the game, and with the turbo pepper, he becomes a boss killing machine. Disregard that, Kazin sucks ass. My first long WIP relied on Kazin to desoul bosses. The problem is, it gives levels and movement boosting items to someone who won't have a use for them, in the later stages of the game.
Secret Configuration
By entering a code before the title screen, the secret configuration can be accessed, and set for ‘fast mode’. This was done to reduce the amount of boredom caused by cursor movements. I opted for this after it was requested in the SF2 thread. It has no effect on the most important part of the run, the luck manipulation. It also does not affect the speed of attacks, or text. I also made this choice, because, unlike SF1, it is impossible to pick the perfect battle order for every round. A side note, while it suppresses the animations of the pop-up text boxes and menus, it doesn’t actually speed them up!
This may have been a bad decision to some; however, I went ahead since it is what the majority of WIP-watchers had requested. It makes an already-long movie shorter and (hopefully) more watch-able.
Lua Scripts
MidBattleOrder
For Sarah, when run on her turn, allows you to select which battle order for the next round. Commands include: Before - select one character to go before another. Remove - Remove a character from the current length count. Next - Change what you are looking at. Select Round - the script auto-executes and gets the round desired. Tells you the est. length of the round, based on current character positions.
StartBattleOrder
Same as MidBattleOrder, without some of the automation, for starting battles (obviously)
GenericAttack
Executes a single simple attack. Commands include: More - get more battle rounds, Next - Show page of other info. Tells you the length of the attack, all changes to characters caused by attack (Level up, Stats change, death). After a round is selected, the script automates the rest of the manipulation
FullAttack
This script has less automation, but also allows you to do magic, items, and etc. Has similar functionality to GenericAttack, but the script continues until your next character’s turn. Also, it has a map function, which tracks enemy movements, so you can manipulate those as well. Requires selecting of the proper RNG value by hand. The map has a shrunk mode and expanded mode.
MoveChars
This script allows you to left click, and pick up and put characters down on the map. This was helpful for testing strategies. Also, right clicking brings up an icon of the character stats. Also, the current and next 5 RNG steps are listed at the bottom of the screen.
Battles
Battle 1
This battle seems to be one of the more difficult ones. Chester can only defeat Gizmos that are within the staircase area, as it has 0% land effect. Also, since Sarah attacks, it is difficult to manipulate both a double hit, and the correct battle order.
Battle 2
This battle contains one of those long waits for +2 Atk for Bowie. It pays off next battle, as he is able to start 1-hitting rats.
Battle 3
Standard kill all enemies battle. The AI in the far corner wastes time moving away from the player. I was unable to manipulate those movements away.
Battle 4
It was a surprise discovery of mine that this battle doesn't need to be completed. Score one for messing around with a game.
Battle 5
The movement glitch shows its power! Walking over walls makes for good times.
Battle 6
Another clear out all enemies battle. Boring, but not much can be done about that.
Battle 7
This battle actually has two boss creatures (the dark smokes, noted by their double turns). However, we still are forced to kill all enemies. Using JAHA for bait, to lure the dark smoke on the left earlier may save time.
Battle 8
Here is where Slade and Bowie's boosted attack start to really separate them from the pack. I also picked up the Chicken Leg, which won't be used until the very end of the game.
Battle 9
I picked up a Spear for Chester, to try and keep him useful for at least a few more battles. While I was at the store, I also upgraded Bowie's weapon. Also, Peter joins as AI controlled, for this and the next 3 battles, I have to manipulate enemies to come towards him, so he starts his ridiculous level gains earlier than when I can actually play him. An amusing factoid, the King gives you a measly 100 Gold. At this point, I have ~3000 gold. Thanks King.
Battle 10
Pretty standard kill all enemies battle. Slade gets the power ring!
Battle 11
Turning off Scroll A High allows you to actually see what is going on in this battle. The shadow provides a really annoying game mechanic. Also, Slade is so over-leveled, he starts gaining only 1 experience for killing bats.
Battle 12
Finally, a boss sniping battle! Chester needed to die here, and so he serves a good purpose of luring the boss to Slade. Unfortunately, he needed a higher agility at this point. A possible improvement to this battle would be getting Chester a few +2 Agility levels.
Battle 13
Another Boss-snipping Battle. Also, the game gives me Gerhalt, who does an excellent job of dying. I also picked up the Speed Ring, which is valuable till the end of the game.
Battle 14
Clear out all the enemies. Now the team is down to the three core party members. Given that they've had 5-10 levels of max attack, they really start wiping the map clear, quickly. Also, Luke does a great job of luring enemies into my attack zone.
Battle 15
Peters flying makes this battle a quick one. Not much to do, other than kill the boss and keep moving. I also boost Peter, as it allows me to 1-hit the boss, and still get +3 Attack. Also, I hear the "You're a Spy!" speech twice, at it is much faster than suppressing it.
Battle 16
Unfortunately, every time you change the number of characters in your party, you change the starting battle positions of the party. I end up having to use the movement glitch twice, to get Peter close enough to the Kraken.
Battle 17
Nothing spectacular happens in this battle, just a bunch more +2/+3 attack levels.
Battle 18
Bowie takes on Taros. All the +2 levels pay off here. Extra manipulation is required to keep the Black Monk from both Attacking Bowie, and also staying out of the way of Taros. He can literally stand right in the spot Bowie would use to kill Taros. Also, more movement glitch fun. Bowie also gains his first +1 attack level, which spells a bad omen.
Battle 19
This battle never happened. You can walk around the trigger spot, just above the elven village, which I don't enter.
Battle 20
This is by far one of the most difficult battles in the game to manipulate. The Harpies hit for extreme damage, and don't approach until the player is in position. Also, a tight map means the possibility of getting attacked, often.
Battle 21
Once again, I boost Peter to ensure his +3 level. Otherwise, a pretty standard boss-sniping level. Also, once inside Creed's, I promote Peter, and give him the Turbo Pepper. The TAS starts to accelerate at this point.
Battle 22
Almost a Fool's mate! I beat the CPU at Chess in 6 character turns.
Battle 23
Stupid Peter is 1 space off from being able to kill Willard in 2 turns. Otherwise, standard boss sniping.
Battle 24
GAAAH! Two last 'kill all enemies to proceed' battles. However, with Turbo'd Peter and the movement ring on Bowie, I pass through the battle faster than the usual 'kill all' battle.
Battle 25
Another in the dark battle. Last 'kill-all' battle of the game. The game reaches the maximum speed point after this battle.
Battle 26
Peter with the movement ring means 11 MOV from here on out. We start the massive run of quick boss battles. Sarah, who has been faithfully following every battle meets with fate...
Battle 27
A forgettable battle, done in 3 rounds. I also saved for the first time ever in a Shining Force TAS! This will allow me to egress back to the chapel. It takes ~15 seconds, but it takes 40 seconds to walk back, so its a saving of about ~20 seconds.
Battle 28
Flying Peter pays off. The boss is murdered in just over 1 round.
Battle 29
Another fly up and kill the boss in two battle rounds. These battles become quick and easy to do, as there isn't much manipulation required.
Battle 30
The first greater devil appears, and he is a weakling. Zalabard meets his end in 1 hit, and Peter gains his +3 Atk. Does it get any better?
Battle 31
I use the movement ring/speed ring swap in this battle, to remove the chance of Peter getting attacked. Otherwise, standard boss sniping.
Battle 32
An interesting note, if you kill Jaro before his Speech, you still get the discussion bubbles; his lines just come from a disembodied voice at the bottom of the map, and actually takes longer. I would have demonstrated this, but Peter can't get close enough to the boss and still kill Jaro.
Battle 33
Thanks SF2, for replacing one of my dead characters with another character to kill off. I really needed that.
Battle 34
Cameela, the second greater devil, meets her end to an unboosted Peter. That is just insulting. Also, this battle is probably one with the biggest improvement possible.
Battle 35
If you enter the desert area of the map, five mudmen appear. I obviously avoid this in favor of boss sniping.
Battle 36
Those Prism flowers really did the job, Geshp. Congrats on doing nothing. Also, the executioner drops a worthless battle sword.
Battle 37
When I first started this TAS, I expected all the bosses, starting with Red Baron, would require beatdown by both Slade and Peter. I was pleasantly surprised to find this isn't the case. Peter is a mad m... bird?
Battle 38
The burst rocks prove to be an annoyance. I was unable to manipulate all of them into not bursting. Also, Geshp dies pathetically fast.
Battle 39
Silly battle is fast and silly. Why is this battle even here?
Battle 40
Odd Eye. You'd think for all the build up, it would take more than 48 frames to manipulate killing him.
Battle 41
I seriously dreaded the tower battle, before I got to it. It turned out far easier than expected, as should be obvious. Also, after this battle, Slade finally uses the Chicken Leg picked up in Old Granseal.
Battle 42
King Galam takes the longest time of manipulation to kill of any enemy in the game. If I had given Peter the Power Water, back in the ancient shrine, it wouldn't have taken the ~8 seconds of waiting to kill him.
Battle 43
ZEON! Zeon has a total of 500 hit points (Galam only had 240). Also, the boost starts at ~50%, but the second turn it drops to ~36%. This means that Peters first attack is much stronger than his second. Also, when boosted, peters attack reaches 190 for the first round, only 10 away from the maximum attack the game allows.
Battle 44
While not actually in this TAS, I will include this battle... at some point. Seriously, this battle is a pain in the ass. Mainly because all the bosses get 2 turns, and I've got a party of 12 mostly useless characters. Most people didn't want it as part of the TAS, so it will be included in the submission or thread at some point.
mmbossman: Viewer response has been excellent, so I'm accepting this for publication.