Finally!!! Shining Force 1 in under 2 hours! I can never look at this game again!

Battles with Big savings (>30sec)

#3 to Alterone

Killed less of the Dwarves, saves a ton of time.

#7 - Marionette Battle

Bought the Spear for Mae in chapter 1, and this was the reason. Saved 37 seconds.

#12 - Elliott Battle

I spent FOREVER on this battle, but it paid off in the end. Not killing all the enemies in the middle allowed me to just fly past them. Finding a Battle Order that worked to get everything required took way too long. However, it was the battle with the most saving - 49 seconds.

#24 - Colossus Battle

Went right instead of left, and saved an entire round. I tried this way back when, but without the speed ring, it never worked. A few runs back I got the speed ring, but never bothered to try again. Saved 45 seconds.

Battles with Mediocre savings (8+ seconds)

#1 The Gate of Guardiana

This battle improvement taught me not to open my big mouth about perfection. My "perfect" battle was slow by 8 seconds.

#13 Battling into Urbanatol

A different route for the birds results in less enemy movement and kills.

#22 Battle to the Ancient Tower

This is actually probably my favorite improved level. The last run, Balbaroy killed enemies, while Amon was bait to arrange enemies for Z (Max) to kill. This time, Balbaroy dual tasked as the bait and the enemy killer, leaving me the ability to kill off Amon earlier in battle 20. The fact that I was able to manipulate enemy movement and still put Balbaroy in places to kill enemies was monumental to m.

#24 The Battle with Chaos

While the actual battle is almost the exact same length, using Balbaroy to kill Chaos meant less swapping of the movement ring, which takes around 4 seconds of menu time outside of battle, and 2 in the next battle.

#26 Ramaldu's Creatures

Swapping the movement ring to Z instead of mushashi saves needing to equip it in 27, as well as 4 seconds of menu time. Additionally, Z kills 4 enemies instead of 1 in round 2, saving 1 second per enemy.

#29 Darksol's Final Stand

Looks like I never needed to kill anything but Darksol. Musashi walks around the enemies to kill Darksol this time around.

Lua

I ended up writing 15 scripts to do this run, and regularly had 7 script windows open, to execute the various tasks. I'm going to discuss a few of the scripts I wrote here, and talk generally about how much Lua kicks ass. This run would NOT have ever been completed without Lua. Additionally, all my code will be posted to the appropriate thread in the gens forum.
  • StartBattle - Generates the input to get the correct starting order for a battle.
  • BattleOrderExecute - Generates the input mid-battle to get the right next battle order
  • LevelModifier - Finds the characters level up, and then gives options that can be selected for the coming level. Checks to make sure the correct level up is found.
  • MoveChars - Inspired by XKeeper's moving mario script - moves characters around the battle field. Great for testing new strategies.
  • crits - Tells you the input required to get a critical,miss, double critical, etc.
  • gotarget - Tells the input required for a specific value of the RNG (defined in the script). This was used less, after I developed all the other scripts.
  • Spell - Brute forces a spell action scene. The RNG plays heavily into how fast these execute. I brute forced about 2-3K tries, and took the fastest one. Faster ones may be possible
  • dump - Dumps the current character positions into a text file. Good for matlab.
This may be the first run where a majority of the luck manipulation was done with a Lua. At least, it is the first where Lua's luck manipulation did not rely on brute-forcing, and instead on measurements and calculation. The first three scripts saved the most time. Generally speaking, using MATLAB or gotarget, takes about 5-10 minutes to get the next desired RNG value. This means that recreating a single battle with no changes takes a good 2 hours, and 3-5 if there are changes and tests. With those scripts, a battle reproduction could be done in about 30 minutes! Obviously, this means it was less cumbersome to check new strategies, try new ideas, and etc. Lua pretty much kicks ass, and has been the best addition to the TAS community since emulation itself.

Thanks

Thanks go to Nitsuja, Upthorn, and adelikat for their work on Gens - this run wouldn't have been possible without Lua for Gens. Also, thanks to Nitrodon for explaining uh... math, and how you can actually calculate things that use remainder operations. Still makes my head spin.

Watching -

I spent hours making sure that the cursor movements were totally optimized, and battle scenes occur as fast as possible, which is.... Extremely boring to the majority of TAS watchers. This script removes all cursor movements and battles from the TAS, shortening the watch time down to probably 2/3rds.
CHECK = savestate.create(); gui.register( function () if memory.readbyte(0xFFF009)==0 then savestate.save(CHECK); if (memory.readbyte(0xFF0FFD) == 16) then while (memory.readbyte(0xFF0FFD) == 16) do gens.emulateframefast(); end; else
  gens.emulateframeinvisible();	
  gens.emulateframeinvisible();	 
if (memory.readbyte(0xFF0002) < 12) then
for i = 1,85,1 do	
  gens.emulateframeinvisible();	
end; if (memory.readbytesigned(0XFF00F7) == -84) then savestate.load(CHECK); else while (memory.readbytesigned(0XFF00F7) ~= -84) do gens.emulateframeinvisible(); end; for i = 1,85,1 do gens.emulateframeinvisible(); end; end; else savestate.load(CHECK); end; end; end; end)
Will write more later...

adelikat: Accepting as an improvement to the published movie.


Player (84)
Joined: 8/18/2008
Posts: 80
This is a known issue with the site atm. You may want to email the zipped file to Bisqwit and ask him to upload it (rename it to whatever you named it to when published)
Banned User
Joined: 8/2/2008
Posts: 420
Location: italy
I just wanted to say that I uploaded this one on archive.org, though for a problem on their servers I don't know when I'll be able to provide the mirror link here. This is just to inform other people that there's no need to reupload it on archive.org if you were planning to, also because of that problem on their servers which may lead to further uploads to fail as well (but they might get through just fine, I can't know that). Just give me a couple of days and I'll contact an editor as usual with the fixed link. Now to be at least slightly on topic, it's cool to see this run published :)
Gone.
Skilled player (1604)
Joined: 6/11/2006
Posts: 818
Location: Arboga, Sweden
So someone actually managed to download this? My uTorrent has been messing with me all night so I thought that no one got their hands on it. Sweet.
Warp wrote:
omg lol this is so fake!!!1 the nes cant produce music like this!
Banned User
Joined: 8/2/2008
Posts: 420
Location: italy
Yup, I usually complain about torrents, but this one went through quite fine, actually. edit: http://www.archive.org/download/shiningforce-tasv3-darkkobold/shiningforce-tasv3-darkkobold.avi Now if only an editor wants to fill it in... :)
Gone.
Skilled player (1651)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
nineko wrote:
Yup, I usually complain about torrents, but this one went through quite fine, actually. edit: http://www.archive.org/download/shiningforce-tasv3-darkkobold/shiningforce-tasv3-darkkobold.avi Now if only an editor wants to fill it in... :)
Thanks nineko!
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Skilled player (1651)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
Here is the SS I tried to upload, (uncompressed). If someone better than me wants to give it a try, I'd appreciate it.
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Player (84)
Joined: 8/18/2008
Posts: 80
Bisqwit resolved the uploading images issue. I upped the screenshot for you.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Is there any way to have that screenshot not stretched and filtered? My eyes burn. ;_;
Post subject: Specific mechanic question
Joined: 9/1/2016
Posts: 1
Hi Darkkobold. I RTA run the SF games and often watch your TAS videos for ideas and inspirations despite many of the things you do being completely impossible to do in real time. One thing I've always wondered and I think you might know the answer to is speed and turn order. In SF2, the turn order is determined at the end of each round and someone can change by 12% (source, http://pastebin.com/jp1uDkFP) but I've never quite figured out SF1 and how much it can change by. Some people have said 50%, which seems too high. In your 2:08 run upload, you specify that Max needed 18 speed going into 6-4, Mishaela, so that Max could get out-turned by the Bowriders but then equipping the Speed Ring gave him 22 speed which was the minimum amount to outturn Mishaela. Does that mean the speeds can change by 30% as that number works? I'm not doubting that 50% couldn't be it (just seems too high) but I was wondering if you could shed some light on it. Thanks and I look forward to your answer