Joined: 8/8/2005
Posts: 296
Location: NSW, Australia
I think you'll find a TAS of the first special stage in -any- Sonic game would be pretty boring... except for Sonic 1. Maybe. Or I suppose the Saturn version of 3D Blast, if you'd never seen those levels before.
Now the last special stage, that'd be worth watching.
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
TakaM, I wouldn't be surprised if my video is even more improvable; possibly by your suggestions, further optimizations, and perhaps even a new TAS only route. I did it mostly to beat the WR and to discover new tricks, which I shall now get into.
The first thing I have found I will coin Backward Long Jump, after Super Mario 64, because the end result looks the same and you are essentialy doing a long jump backwards. When sliding on the rail, I had gotten up to speeds of 25, and right when I jump, I press and hold left and jump. For some reason, Sonic's speed stays at 25 when he jumps off like that. Normally jumps go down to a speed of 10 (unlike in other sonic games where a jump on a down slope maintains a higher than normal speed) and when I do a backward facing jump, the speed is preserved at 25, and decelerates very, very, very, slowly. By the time I land on the ground, I'm at a speed of 22 or so, and still holding left puts sonic in braking mode, and he still is decelerating very slowly. And when he's braking on the ground, he's on his back and waving his arms around, which looks like Mario when he's BLJing.
This effect can be mimicked slightly in other scenarios. The very first jump off that springboard I hold left which puts my speed at 16, but that decelerates faster, so I optimally start pressing right again as soon as possible. (I forgot to try that again at the other springboard, oops.)
If you land on a down slope, your running speed increases slightly. I did this right at the beginning, which is why the last airdash is spaced later.
When in the air your speed becomes 10, so I use the tension boost during that, which puts your aerial speed at 12 (or maintains above average aerial speed without dropping it to 10.) Hence whenever I'm doing airdashes, I use the tension boost. Airdashes shouldn't be used on the ground when your speed is 13 or higher.
I didn't fully understand every single trick for increasing points, but I kept the gauge from running out, so that's not a problem. But you're right, there's plenty of ways to keep the tension meter rising.
I didn't notice switching screens to waste time... shrug.
At 13 seconds, I should have tested this but it may be possible to spin dash to gain enough speed to clear it without having to go down, and up. The gap is large, but there must be some way to clear it by going horizontally the entire time.
At 26 seconds, you mean just before breaking through those blocks of wood? I think an airdash homed in on the enemy, but I didn't think to test jumping over them. You're probably right.
The special stages do look not boring, but too easy. I don't think a chaos run should be done; nor is it fun to see someone spam "do chaoz emrrlds" suggestion on every single sonic game.
The special stages aren't all easy. In fact, they get really quite difficult towards the end. Of course the first one isn't anything special. Depending on how much room there is for Sonic to entertain during them (and it is stylus-based, so a TAS of a special stage could probably yank him all over the place at very high speeds), I wouldn't be averse to seeing an all-emeralds run. But given the route changes necessary to access the special stages, it should be a different run from the one that completes every level as fast as possible.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 10/11/2009
Posts: 52
Location: Sydney, Australia
Unless you're getting speeds of 20+ I highly doubt it. You would have to begin descending by the time you are on the other side (looking at repective heights). However i've tested that area a little and its possible to jump high enough to avoid those 2 spings, possibly saving a fair amount of time. A .dsm is found in the following link:
http://www.megaupload.com/?d=N71VA2NV
Those aren't quite the right addresses to be watching for speed. It's almost right, but you're losing a lot of precision by only looking at 1 byte of it. You should actually watch these addresses (they are 2-byte signed):
020907E8 : x velocity
020907EA : y velocity
020907F4 : speed
Also, 020907F0 appears to be identical to y velocity except that it becomes 0 when you're not jumping, so that seems kind of useless except maybe for detecting whether you're jumping.
EDIT: Found a couple of others (2 or 4 bytes, unsigned):
02090B10 : tension
02091EBC : time
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
Ah, thanks for finding those. I mostly just was trying to find the first address that showed speed so that I could make a test run of the first stage. Out of curiosity, are these addresses the same throughout the entire game? I know that many recent GBA games have the speed address change per level or per room.
Do you have any interest in doing a run of this game? I know I'm not the only one who'd be looking forward to a Nitsuja Sonic run.
Also, I haven't checked yet, but desmnume 9.2 made the stage very laggy. Recent versions may have fixed this, but I'm not sure yet.
I think they stay the same. They also worked for Blaze in a different level, at least.
Yes. I don't know when I'll get around to it, though, since I have this to work on and several previously-started TAS projects as well.
The sequel to this game might make a good TAS also although the sailing will surely bog things down in-between levels.
I would use desmume 0.9.5 for this (when it comes out, which I think should happen soon). Most of the extra lag is gone there and it also fixes lots various graphical problems in this game (at least it does if you switch to the software renderer instead of OpenGL).
So actually, after seeing that 0:33:15 video, I couldn't resist trying to improve on that. Here's the first attempt, 0:30:35, and there's definitely more than half a second of mistakes. Here's an incredibly lazy encode.
That's a pretty twisted encode in the fact it blacks out the screen that isn't currently in use, kinda ruined part of the awesomeness of it imo.
Ignoring that point, that was pretty cool. What do you think the chances of getting it under 30 seconds are?
Joined: 10/11/2009
Posts: 52
Location: Sydney, Australia
Well i have to say that is the one thing that has completely amazed me all year. Kudos. Just one that really got me was that you were able to BLJ up to those set of 3 trick rings. What kind of speeds were you getting there? Moreover, how the hell do you do that? O.o
Also i think some time could be saved at the vertical jump. You don't really have to hold left that early. In fact I just pulled that jump off with 3 frames holding Left.
Nice work jumping into the Trampoline. Never would've thought of that.
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
Wow. You didn't just beat my time. You BEAT my time.
I'm guessing you used 9.4+? The differences in lag really showed.
Out of curiosity, could you also post the .dsm? So many things happened so fast, I want to see in frame advance what things you did differently and while watching speed.
Not 0.9.4+, a 0.9.5 interim revision. (link removed because it's sync-compatible with the official 0.9.5 release). Here's the dsm. (I recommend turning on "SoftRasterizer" in the 3D settings and "Synchronous" audio ("N" method) in the sound settings, in this version of desmume.)
I also found a place to get high enough speed to glitch out the spiral vine (avi/dsm). I did something close to this in real-time once and was totally confused by what had just happened. With a little tweaking it's possible to exceed speeds of 15000 and keep most of it while jumping, but unfortunately this particular spiral is way off-route and too low for all that speed to be useful.
It was about 8000 speed (slowly decreasing from that peak). (That's 31 or so in the old speed units.) EDIT: I think it's not just because the speed is so high, but because Sonic just passed through a booster. I thought boosters didn't do anything if you're going fast enough already, but it seems they greatly reduce your deceleration for a while.
I'm not sure yet how the game decides if you're able to turn around. My guess is that it simply depends on your current speed (EDIT: confirmed, speed must be less than 3072 to turn around), and I was going too fast so I had to hold left for much longer to reach a low enough speed that it would let me boost backwards.
I guess I'm not that interested in getting all of the emeralds in a TAS, but I do think Blaze's playing style is different enough to be worth TASing somehow.
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
Its truly great to see you back in action nitsuja! That latest glitch discovery can hopefully speed things up in other areas and stages. I look forward seeing you completing this. Sincerely, your right hand ^_^
Joined: 8/8/2005
Posts: 296
Location: NSW, Australia
Even though I know why it happens, it still amused me to notice that you didn't get a 10k speed bonus at the end. :P
All the same, I hope to see more from you on this game!
Joined: 10/11/2009
Posts: 52
Location: Sydney, Australia
N. Harmonik wrote:
nitsuja wrote:
N. Harmonik wrote:
I don't suppose you're gonna collect all of the Emeralds (which would mean playing as Blaze as well) and defeat the true final bosses?
I guess I'm not that interested in getting all of the emeralds in a TAS, but I do think Blaze's playing style is different enough to be worth TASing somehow.
Note that, as Blaze, you get a Sol Emerald every time you beat a boss.
Now see if Sonic's routes pass right by a special stage handle (as seen -right- at the end of the first level, Sonic passes just over it) then a 100% TAS wouldn't be too much of a hassle. In fact the special stages aren't all that hard to perfect.
I got the first level time down to 0:27:94 (avi / dsm for 0.9.5).
I'm not aware of any way to improve on that time, but I might be overlooking something.
EDIT: Also, 0:49:03 for 1-2 (avi / dsm).