(Link to video)
The Binding of Isaac needs no introduction. The classic roguelike, possibly most popular of its genre. This is the original, flash version of the game with the Wrath of the Lamb DLC.
  • Aims for fastest time
  • Achieves a true ending
  • Heavy luck manipulation
  • Abuses glitches
  • Takes damage to save time

Goal choice

Let's talk goal choice. BoI is a roguelike with a meta-progression system, where finishing one run unlocks stuff to do in future runs. One of the things that get unlocked is future floors, where new content can be found and new endings can be achieved. The game has a total of 5 major endings:
  • the first ending, upon defeating Mom in the Depths (Floor 6)
  • the secondary ending, unlocked after defeating Mom and achieved by defeating Mom's Heart in the Womb (Floor 8)
  • the Cathedral ending, unlocked after defeating Mom's Heart 9 times and achieved by defeating Isaac in the Cathedral (Floor 9). After this, instead of the usual golden chest, 2 paths appear upon defeating the Heart, one going up to the Cathedral and another going down to Sheol
  • the Chest ending, usually considered the "real" ending of the game, achieved by defeating Blue Baby in the Chest (Floor 10), unlocked by defeating Isaac in the Cathedral 6 times
  • and finally, the Sheol ending, achieved by going down to Sheol after Mom's Heart and defeating Satan. This was the "real" ending of the game before the WotL DLC released, and is the one I chose to go for as it's the simpler "final" ending to go for, not requiring any savefile progression.
This section is meant to be a catch-up for those who don't know anything about Isaac. If you're familiar with the game, feel free to skip to the next section.
Binding of Isaac is a roguelike, meaning every floor is randomly generated. Luckily, the flash version was made before having seeded runs was commonplace in the genre, so a lot of the random elements such as item drops can be manipulated as they come up, rather than needing to search for a perfect seed.
The moment-to-moment gameplay revolves around clearing rooms full of enemies until you reach the boss, defeating which grants you the access to the next floor. Reach the final boss and you win! Simple as that. Along the way you will collect items that help do this, anything from a basic stat upgrade to a modifier that completely changes how your tears work.
Items are split between passive and active, as you can probably figure, passive items do their job passively, simply by existing. Active items need to be activated by pressing spacebar. Once used, most will take 1-6 rooms to recharge.
There's also cards and pills, both having a special effect when consumed. Cards tend to have more temporary, one time use effects, while pills are generally stat up/downgrades.

Character Swap Glitch

Those more familiar with Isaac might have noticed I chose Cain as my character, despite him being locked. By choosing a character to start the run as, in my case Isaac since he's the only one unlocked on a fresh savefile, then backing out to the main menu, pressing start again and then hovering over a locked character, that character will get picked to start the run, regardless of if they're unlocked or not.

Animation Cancelling

Isaac loves to hold stuff above his head and not moving an inch while doing so. As you might imagine that's rather slow, so where possible I cancel the animation. There's a couple ways of doing this, but the only relevant one for this TAS is interrupting it by standing on a trapdoor when it becomes active and going down to the next floor.

Brimsnapping

The brimstone laser is ordinarily only able to hit an enemy for 2 ticks of damage per shot, however by tapping the shoot key when the laser is firing, it's possible to do up to 5 ticks of damage per single charged shot. It's a major DPS increase and pretty much singlehandedly makes brimstone the go-to item for the build.

Early Womb/Sheol

Despite the passages to these areas not spawning in their intended locations yet, they're still accessible if one can produce a trapdoor down on the correct floor. There exist one active item, We Need To Go Deeper, which can produce said trapdoor on demand, allowing me to skip entire floors and get to these locations earlier.
The Binding of Isaac is a game built on randomness. The floor layouts, the items you get, the bosses you fight, almost everything in random to some extent.
In the TAS, there's 3 relevant forms of randomness:

Item Pools

Certain items can only appear in certain rooms, this is referred to the room having a certain item pool. Some items are added to a random pool or have a chance to not appear at all. This is rolled at the start of the run and does not change. We Need To Go Deeper, an item crucial for skipping floor and significantly speeding up the run, can appear either in the Devil Room pool, Secret Room pool or not at all. In this TAS I did not get it in either pool, but I managed to work around that (more on that in the route section).

Floor-gen

Certain aspects of the run, such as the floor layout, the specific rooms' layouts (both normal rooms with enemies as well as icon rooms like shops or item rooms) and curses are set the moment the floor is generated. Luckily the floor generation can be manipulated by setting a different system time (first floor) or by delaying entry to the next floor (floors 2 onwards). Unfortunately, manipulating later floors' generation appears to be rather limited, with layouts often repeating every couple frames. This makes hitting multiple RNG points in the floor gen very hard to manipulate, especially past the first floor.

On Demand RNG

Items on pedestals, in shops, rewards for clearing rooms and some other random effects are generated on demand, when they're needed. This form of randomness is easiest to manipulate and I make thorough use of it throughout the entire run.
The key to a fast Isaac run is twofold.

1. Damage

To win the game, you need to kill the boss. To kill the boss, you need damage. Simple as that.
For the TAS, I want to do as much damage as I can while collecting as few items as possible. Luckily, there is an item combo that does just that:
  • Brimstone - replaces Isaac's tears with a blood laser that needs to be charged up, but does 2 (5 when brimsnapping) ticks of 3x base damage.
  • Polyphemus - a +4 damage up as well as a massive 2x damage multiplier, at the cost of greatly increased fire delay

2. Floor Skips

All the damage in the world won't save you from needing to clear tons of rooms. However! Some items can. The shovel, We Need To Go Deeper, allows one to create a trapdoor on demand and go to the next floor right away. Of course, active items need to be recharged, but there's an item build that can work around this too.
  • Dead Sea Scrolls - While not the aforementioned shovel, DSS is an active item that, when used, picks one of 26 possible effects. One of these effects is We Need To Go Deeper.
  • Habit - An item from the shop that recharges active items when the player takes damage. Getting hit once gives back half of a charge.
  • Scapular - Finally, to fuel the habit charges, this item will activate when the player falls to critical health and once per room will provide them with a soul heart.

Basement 1

Starting off the run, I fire tears at the wall for 2 seconds. This is to advance RNG so that the item room contains DSS, which I need for the rest of the run. After picking it up, I manipulate the effect to be Kamikaze!, which causes me to explode. I take a full heart of damage, but it doesn't matter since I'll be trading that health away later. I use the explosion to open up the secret room and wait a couple frames before entering to manipulate 3 of the 9 coins to be nickels. I need a total of 20 cents for a shopping trip later and this is the best way to get it.
From the secret room I enter the curse room containing 2 red chests. I manipulate the first one to give me 2 soul hearts, which I will need as Habit fuel later. Technically I only needed one of the two, but since I need to wait for RNG anyway, I collect both. The second one teleports me to the devil room, where I pause briefly to manipulate RNG so that the devil will offer me Brimstone for 2 heart containers. Since I got the soul hearts from the chest earlier, I can take the deal and live. First though, I manip DSS to give me the shovel effect right next to the brimstone item, so that I can pick it up and cancel part of the animation by descending down to Basement 2. I could do this since Kamikaze! has a 0 room charge, so it didn't use a DSS charge.

Cellar 2/Caves 1

I complete my build, manipulating RNG and doing animation cancels where possible.

Caves 2

I enter a nearby curse room to snag a pill for later.

Necropolis XL

Curse of the Labyrinth combines both Necropolis floors into one big one, meaning one trapdoor skips 2 floors, saving a decent chunk of time.
Additionally, I get an extra half of a DSS charge on the enemies here before leaving and manipulate the pill to give me Balls of Steel, which gives me +2 soul hearts. The enemies on the upcoming floors start dealing full hearts of damage instead of halves, so stocking up on charge and health here is crucial, otherwise I would have to clear rooms.

Sheol

Manipulated a layout 3 quick to clear rooms away from the start, then one-shot all of Satan's 3 phases because he's a chump.

Possible improvements

RNG RNG RNG. I "only" went through 250 seeds and picked out the most promising ones, of which this one turned out to be as close to perfect as I'm willing to take it.
To be more specific about what RNG would save time:
  • icon rooms closer to the start and more of them stacked vertically to reduce walking time
  • better rooms, not requiring walking around rocks or other obstacles
  • faster manips for items and DSS effects
  • more XL floors allowing me to skip two floors at once
  • a better sheol layout or a lucky DSS teleport straight into the boss room

Sync stuff

MD5 Hash of the swf: d429c3f29aafa57a719ca61ea01a7784
clock_gettime() monotonic ON
Obtaining the swf: First of all, these instructions only apply on Windows. I'm not sure how/if it's possible to do this on Linux.
You will need a copy of The Binding of Isaac and the Wrath of the Lamb expansion on Steam. Install it and run it. While it's running, go to path\to\AppData\Local\Temp. There should be a folder starting with "wrd-" followed by random numbers and letters. In there, there will be ~swd1.dat, ~swd1.swf, and 4 numbered .mdd files. ~swd1.dat is the swf file, simply rename it to change the extension.

ikuyo: Claiming for judging.
ikuyo: Hello rythin!
Great work on this movie! The route was very well thought out, and the execution is clean. While there’s certainly a good chance that a better run is possible via a more favorable RNG seed, finding such a seed is definitely not a trivial affair.
The ending choice is clear and well defined, and I feel it's worth mentioning that different endings with different goals will be treated as different branches. Character choice is also clear and aimed at optimization, and I’d be interested in seeing runs with other characters as well, which would also count as separate branches.
Accepting!
Narrator: Isaac and his mother lived alone in a small house on a hill.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14854
Location: 127.0.0.1
Patashu
He/Him
Joined: 10/2/2005
Posts: 4014
Excellent TAS-only destruction of this game. Would you consider TASing "Platnium God, Chest" too?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
rythin
She/Her
Skilled player (1063)
Joined: 11/4/2021
Posts: 45
Thanks!
Patashu wrote:
Would you consider TASing "Platnium God, Chest" too?
I was planning out a Chest run from a fresh file, I would like to do a TAS with some savefile progression and I have a way of making it not as repetitive as would be expected :p I was considering doing one from a completed file aswell but I'm worried that it would just be the last segment of the fresh file TAS with nothing new that's full-save exclusive. I have big plans for Isaac though, there's definitely gonna be a couple more movies submitted from me over the next couple months.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4014
Oh, I was thinking "Chest" would be too repetitive due to the need to grind out the unlocks, but if you think it'll be interesting I'm curious.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
negative_seven
She/Her
Active player (354)
Joined: 11/25/2012
Posts: 102
Location: Europe
There have been some issues with getting this movie to sync on devices other than the original one used. With debug logging enabled, the line "Loaded SWF version 8" is logged with a timestamp of 02:04.001 when the movie is run on the original PC with -g vulkan, and 2:04.000 in all other cases I've tested. The 1ms difference seems to cause a difference in the initial RNG seed. This can actually be remedied by setting the initial system time forward by 1ms, but then, later on, another issue arises with the GetTime action returning a value that's different by 1, which eventually causes another discrepancy, and not one that can be fixed by changing the system time. However, I'm not sure why all this happens in the first place, or if the movie can still be salvaged. Hopefully someone else will be able to figure this out.
Spikestuff
They/Them
Editor, Publisher, Expert player (2283)
Joined: 10/12/2011
Posts: 6335
Location: The land down under.
As a note: This newer userfile created by the author not only syncs but is also an improvement. As it hasn't been brought up yet.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
ikuyo
She/Her
Judge, Active player (500)
Joined: 7/8/2021
Posts: 98
I'm a little lost on something. I'm not very familiar with the Flash version of this game (or any for that matter), but from your original explanation on the submission notes, it appears that in order to get the Sheol Ending the game must have it unlocked and available. However, I see no mention of this run having any SRAM required to do so. Am I misunderstanding the notes? Is the ending just available from the start and only intended to be reachable after having gotten every other ending?
rythin
She/Her
Skilled player (1063)
Joined: 11/4/2021
Posts: 45
Yeah, there's no SRAM needed. The game is meant to end at the Mom fight on the first run, after which you unlock the intended way to descend down further. By creating a trapdoor arbitrarily by using an item, rather than relying on one created by defeating the boss, you can sidestep that unlock requirement.
ikuyo
She/Her
Judge, Active player (500)
Joined: 7/8/2021
Posts: 98
Thank you for the response! That clears things up nicely.
ikuyo
She/Her
Judge, Active player (500)
Joined: 7/8/2021
Posts: 98
I've followed the instructions stated in the annotations but sadly, the movie desyncs right away. It appears the seed generation is different, so the first room does not contain the DSS. Did you run libTAS natively, or via a VM or WSL? Could you log libTAS' debug trace for the Random print category?
rythin
She/Her
Skilled player (1063)
Joined: 11/4/2021
Posts: 45
Can you try running it with gl? I've had desyncs between gl/vulkan but from what the others were saying it seemed like I'm the only one, so the resync was for gl. Spikestuff was able to confirm sync on either option. I don't think it should make a difference, but I'm on WSL.
ikuyo
She/Her
Judge, Active player (500)
Joined: 7/8/2021
Posts: 98
rythin wrote:
Can you try running it with gl? I've had desyncs between gl/vulkan but from what the others were saying it seemed like I'm the only one, so the resync was for gl. Spikestuff was able to confirm sync on either option. I don't think it should make a difference, but I'm on WSL.
I've tested both gl and vulkan, and neither synced. Samsara experienced the same problem when she tested it herself.
Emulator Coder, Judge, Experienced player (595)
Joined: 2/26/2020
Posts: 697
Location: California
Could you please give the MD5 of the .swf? This is required to be present on the submission or annotations.txt, and it's present on neither of them.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2120)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Additional instruction to grab the SWF from Steam: The Eternal Edition DLC must be disabled before going through the steps outlined in the submission text and annotations. This can be done by right clicking TBoI -> Properties -> DLC -> unchecking Eternal Edition. Doing this provides the correct SWF file, and I've confirmed sync on my end using it.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
ikuyo
She/Her
Judge, Active player (500)
Joined: 7/8/2021
Posts: 98
Samsara wrote:
Additional instruction to grab the SWF from Steam: The Eternal Edition DLC must be disabled before going through the steps outlined in the submission text and annotations. This can be done by right clicking TBoI -> Properties -> DLC -> unchecking Eternal Edition. Doing this provides the correct SWF file, and I've confirmed sync on my end using it.
Followed these instructions and was able to confirm sync. Thanks!
rythin
She/Her
Skilled player (1063)
Joined: 11/4/2021
Posts: 45
Character choice is also clear and aimed at optimization, and I’d be interested in seeing runs with other characters as well, which would also count as separate branches.
I can't help but feel this would introduce unnecessary bloat to the branches. While having different endings as separate branches absolutely makes sense, since the gameplay is significantly different to acquire the various endings, the characters in this game are all pretty much the same. Any differences they might have quickly get overshadowed by the item build acquired in the run.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
rythin wrote:
I can't help but feel this would introduce unnecessary bloat to the branches. While having different endings as separate branches absolutely makes sense, since the gameplay is significantly different to acquire the various endings, the characters in this game are all pretty much the same. Any differences they might have quickly get overshadowed by the item build acquired in the run.
Not an issue in the Alternative class. All the branches that look different and entertaining, can co-exist even if they don't represent independent game modes.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
rythin
She/Her
Skilled player (1063)
Joined: 11/4/2021
Posts: 45
I'd argue they're not exactly entertaining either. Again, the run would look pretty much identical regardless of character, as any differences between them stop being visible the moment you finish your item build.
ikuyo
She/Her
Judge, Active player (500)
Joined: 7/8/2021
Posts: 98
To be clear about my decision, I decided to rule with different characters as different branches because as a rule of thumb I deem it best to set judgement in a way that encourages making more TASes, not less. However, regardless of this decision, ultimately the final call would be done whenever we get a submission for a different character in an already existing ending, and it may be the case there that in the thick of it, we rule it not needed. My point in making that statement in this judgement was to leave the door open for said submissions to judge later rather than closing them right away. This mantra has been a large part of the recent rule changes, as the site aims to remove more and more of its rigid decision framework that was ultimately hurting activity and discouraging people from submitting or even making TASes at all.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14854
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. ---- [5153] Flash The Binding of Isaac: Wrath of the Lamb "Sheol" by rythin in 01:50.67