Now here's a TAS that nobody's ever asked for.
Ice Age is a 2002 animated film, but it's also a Game Boy Advance movie tie‐in game developed by Artificial Mind and Movement (now known as Behaviour Interactive) published by Ubi Soft Entertainment Software (now known as Ubisoft). Its launch in North America was 3 whole days after the movie's debut. Unbelievably, this is the only video game based on the highly‐successful film Ice Age.
This game is not that great; it currently boasts a score of 47 on metacritic. The graphics and gameplay are poor, and the programming I would describe as "functional". The music is pretty good, at least. The game is really short, with only 10 levels plus 1 secret level. I haven't found any soundtrack downloads, manual scans, TASes, or speedruns for this game anywhere on the internet. Seems like nobody has ever given a single shit about this game. (By the way, if anyone has the manual for this game sitting around, I would really appreciate some scans/pictures of it! I recycled mine two years ago, which has now become my most weirdly‐specific regret ever.)
I randomly remembered this game from my childhood a couple days ago, and decided to make it my first TAS. (Well, not counting this.) It's certainly a good choice for a first TAS, in my opinion. Features:
• No RNG (yay!)
• No lag (yay!)
• Fixed jump height (boo!)
• A few exploitable bugs
It didn't seem that solidly programmed when I first started cracking into it, but unfortunately I haven't found anything really game‐breaking. I still think its entertainment value is high enough, though; gameplay is relatively fast, and there are a few TAS‐only tricks to showcase. There's also good nostalgia value here; I'm sure viewers will remember some of the catchy tunes.
In case I don't get around to finishing this, here's a Google Drive folder with some of my resources, most notably my technical handbook of random notes (in much the same style as my other one). I also learned a little bit of Lua and wrote a script for drawing some player data and hitboxes that you'll find in there. Unfortunately, the area of memory that has all the hitboxes doesn't seem to indicate if they're actually in use, and they're not always cleared when they're dereferenced, so the script often draws some garbage boxes on the screen. I figured the time invested to time saved ratio for doing further research on this wasn't worthwhile, though.
So far, I've done the first level:
Link to video
This might not be fully optimized, but I'm not too concerned about having to go back later and squeeze out some more frames, since changing input for any level/screen doesn't affect any others. Some commentary:
[quote=]1‒1:
• Jumping is usually faster than walking (airspeed 2.6875 vs. walk speed 2), so most optimization is about staying airborne for as long as possible. However, jump height is fixed, and jumping and bouncing on enemies also have some frames at startup (4 and 10 respectively) where horizontal movement is impossible, so there's not that much flexibility.
• Those little blue blips are the tutorial stones. Thankfully they only waste 3 frames.
• This jump across these 5 spikes is I think frame‐perfect. I jump as late as possible and shift Manny's position to the right by extending his hitbox with his attack, which barely makes the last spike damage boost him to the right instead of the left.
• Horizontally, damage boosting is as fast as walking (2), but sometimes it's faster to just hit an obstacle than to avoid it.
• Also, notice how Manny loses 1 Acorn for every spike he hits on the same frame (and screams that many times louder). This behaviour was probably intentionally abused by the level designers here to force kids to learn the bellyflop move, but it's not that hard to boost through the spikes anyway.
• The breakable tile bashing is something that I didn't work on optimizing too much, but it won't be hard to edit in any optimizations later if I find any. Jumping up to these tiles would be slower, 'cuz it'd take longer to fall back down to reach the bottom tile.
• I again extend Manny's hitbox with his attack in order to hit the end‐of‐screen object earlier. You'll see this a lot.
1‒2:
• Slopes are actually the fastest method of movement, but I don't land Manny on this one because it'd be slower overall due to bad positioning.
1‒5:
• Manny can't do an attack too early into a jump, so I abuse the fact that pressing B and A on the same frame makes Manny do his grounded attack while still jumping up into the air. He gains horizontal control once the attack ends. It is possible to do the moving version of the grounded attack and jump at the same time as well, but the animation for it loops while airborne for some reason, so while Manny would land on the ledge sooner, he wouldn't be able to jump until much later.
1‒6:
• Skunks aren't actually harmful, but they do force you into this really slow floating animation when you stand next to them, which is even worse. You're intended to use it to float over these long spike objects, but there's 1 frame where Manny can jump in a Skunk's hitbox before the float animation actually kicks in.
• For some reason, these spikes don't hurt Manny while he's busy attacking. Once he lands, the spike boosts him right, which is good, 'cuz otherwise he wouldn't have been far enough to the right for it to boost him in that direction.
• Getting hit gives Manny 60 frames of invincibility, but there's no visual indicator for this.
1‒7:
• The lower route is 7 whole frames faster.
1‒8:
• Unfortunately, I can't find a way around the Rhino, or an easier route to the Chestnut, so I have to press left for a while.
• Bellyflopping through the ground to take the lower route after getting the Chestnut is significantly slower.
1‒9:
• The attacks while jumping under the Dodos are actually necessary to manipulate Manny's hitbox dimensions so he doesn't get hit by them.
1‒10:
• The bosses in this game are really easy.
• Manny can jump on the same frame his win animation starts.[/quote]
The B2K for this is in the Google Drive folder I linked earlier, but it doesn't seem to sync when played back on its own, because BizHawk's "Skip BIOS" setting seems to only apply sometimes? I'm assuming that this is BizHawk's fault and not mine, since it seems to have a slew of other problems as well (mostly very frequent crashes).
Side‐note: no idea which of the GBA cores—VBA-Next or mGBA—is considered more accurate. I assumed mGBA was better because it was the only one that would even boot my copy of Super Mario Advance 4 (E) (in VBA-Next it just says the save data is corrupted and does nothing). mGBA also seems more stable/cooperative in general. These inputs seem to sync on both cores, though.
Good luck, gfd. Oh and you mentioned this being a "TAS that nobody's ever asked for". If you're interested in games of that sort, you're not the only one. Most of the games I've TASed are ones that no one has even considered glitchhunting for.
as long as you TAS it yourself,it's always a great run
lol
TAS i'm interested:
Megaman series, specially the RPGs! Where is the mmbn1 all chips TAS we deserve? Where is the Command Mission TAS?
i'm slowly moving away from TASing fighting games for speed, maybe it's time to start finding some entertainment value in TASing.
Taking a look at some recent GBA publishings, apparently we don't actually skip the GBA BIOS anymore. So then, why was that the default setting in BizHawk...?? This emulator is kind of really frustrating.
Here's Level 2:
Link to video
This is starting to look a bit more interesting; couple of cool skips in here. Learning more and more optimization tricks as I go through this test run. The boss is dull, but I did my best to entertain by showing off some bugs and quirks. Unfortunately, the next level is one of Sid's autoscrollers, but that will still be interesting in its own way, I think... Compensating for BIOS added 4.5s, by the way. Commentary:
I like this frame in particular: