Haha fair enough, I'll be the first to admit my post is quite dense :D As usual, if you have any questions please just ask! (or if you only want to watch the WIPs to track the progress, that's also perfectly fine of course)
Dimon12321 wrote:
toca wrote:
Get the extra Ingram in level 6 to underflow at the end of level 6Cons: detour for Ingram, underflowing at the end of level 6 loses time, timeloss from one additional weapon switch, have to waste 50 ammo (25 shots) somewhere to make the underflow at the end of level 10 work
Don't enemies drop a Ingram, so you would pick up one along the way?
In principle you're right, and I do pick up two Ingrams in the first 5 levels. But the point I was trying to make is that I'm forced to start level 6 with no weapons (story reasons) meaning all Ingrams I picked up before are gone (for that level only). Therefore the only way to underflow in level 6 is to pick up an Ingram in level 6 itself. But none of the enemies that I encounter naturally in level 6 have an Ingram, which is why I'd have to take a ~2.5s detour to get one there.
Hi, I was wondering if you'd consider posting the code for AdvancedBot somewhere (maybe to a code forge like GitHub). I'm sort of interested in this concept.
Hi, I was wondering if you'd consider posting the code for AdvancedBot somewhere (maybe to a code forge like GitHub). I'm sort of interested in this concept.
I originally planned on doing this eventuallyTM, unless someone asked about it; so here you go: https://github.com/toca-1/advancedbot-bizhawk but beware that for now this is GBA-only because that's what I wrote it for (and I have no experience with other platforms in Bizhawk).
Also, in the original script, the address to watch was hardcoded (because it was dynamic so I needed pointer logic), but for now I added a field where an address can be entered. If anyone wants to make any changes to it or port it to other platforms please feel free to!
Link to video and bk2 file
Spent today improving level 2, and managed to save 41 frames over my version-1 TAS! The door clip was decent; I had to shoot one more box than in v1 because I couldn't make the manip work without it (2 crates in room M2, and 2 crates in M3). The overall timeloss from this RAM manipulation is comparable to version 1, but in my opinion this door clip here looks a bit cleaner because of the optimal path in room M3. Other things to note are:
Saved 11 frames in the first room, 4 of which are lag frames, probably because I shot the fire tank as early as possible so the front enemy died asap
Rooms 2, 3, and 4 combined are 10 frames faster than my v1 TAS
In the final room I saved 20 frames somehow? It doesn't look like it's lag, but I couldn't tell you where this much timesave could come from (at least not without doing a frame-by-frame comparison)
The only other thing that comes to mind is that I'm paying more attention to Max's HP this time around. Especially for rooms with many enemies, being low on HP severely limits possible routes and, worst case, force me to use bullet time to not get hit by a shot (which of course loses time even if I have to activate it for just a few frames). The first time around I thought that the mechanic where Max automatically heals to 80 (out of 255) HP would be good enough—and for the most part that's true—but sometimes 80 HP just aren't enough. As such, I'll also work more with painkillers which is the reason I created the previously mentioned sheet where I documented all painkillers that are viable to get.
Edit: I guess I could mention that my re-record count increased from 46611 to 55358 thanks to AdvancedBot, although level 2 is only ~2000 frames long. Using linear extrapolation this would mean that we'll end up with 200k-300k re-records which would be a rerecords-per-movie-length ratio of ~3-4
Hi, I was wondering if you'd consider posting the code for AdvancedBot somewhere (maybe to a code forge like GitHub). I'm sort of interested in this concept.
I originally planned on doing this eventuallyTM, unless someone asked about it; so here you go: https://github.com/toca-1/advancedbot-bizhawk but beware that for now this is GBA-only because that's what I wrote it for (and I have no experience with other platforms in Bizhawk).
Also, in the original script, the address to watch was hardcoded (because it was dynamic so I needed pointer logic), but for now I added a field where an address can be entered. If anyone wants to make any changes to it or port it to other platforms please feel free to!
And with a license as well. Wonderful! I'll check it out and let you know if I end up using or have any improvements.
Link to video and bk2 file
Yesterday I finished level 3, and it ended up being 159 (!) frames faster than level 3 in v1 of my TAS. Let me go over some of the timesave in more detail:
Already the first room is 39 frames faster, for two main reasons:
19 frames from not switching to the sawed off when I get it here (as explained in my weapon route post). This is overall worth it as it outweighs the 11 lost frames from still having the Pump Action equipped (fully occurs in room M8, 0:26 video time) & because delaying the weapon switch to the end of the level makes it "free" (see end of this list)
walking towards where the sawed off will drop while in combat (this is one of the few times where holding shoot with a shotgun is faster because it allows to constantly aim for the enemy, and because I don't have to maximize distance here)
The thing I mentioned about HP in my previous post immediately led to a better route for room M13 (47s video time): use the painkiller on the elevator so I can take more bullets before exiting the room. This saves 8 frames and 1 ammo, which outweighs the 2 frames I'll lose in level 4 to getting a backup painkiller. Also delaying the painkiller to the next rooms wouldn't have helped because the shotgun guys do 90 damage here which I'd need multiple painkiller to stomach
This one is embarrassing... I saved 13 frames in room M18 (58s video time) simply because in v1 I... skipped the textboxes 13 frames too late lol
And now the big one: 49 frames of timesave from the weapon route change of picking up & using the Ingram at the end of the level (in addition to 23 frames from not underflowing at the end of the level as I did in v1). While picking up the Ingram initially loses a few frames (extra kill in M20), it immediately makes up for it in the second-to-last room using by saving 52 frames on the fighting. What is important for this timesave is that both weapon switches that come with this route change are free: the first one at the start of room M21 happens when I have to wait for the boss to become vulnerable, and the switch back to the Sawed Off happens at the end of the level when I have to wait for the final enemies to spawn.
Finally, AdvancedBot continues to be very useful as it saves a few frames in each room from optimizing the door exits. In fact, this resulted in already breaking the 100k re-records (currently: 100757), mainly because I found a way to more than double the search speed: ... simply minimize TAStudio during the search, which does make optimizing larger windows (up to ~100 frames) viable
Link to video