Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Man I love this game. Played the flash so much during school, made me rage so badly. Now I'm going to rape this motherfucker ('scuse my French) once and for all with a TAS of it. I've started a (probably suboptimal) run of it up to the third level.
I haven't yet found any useful memory addresses, probably because I haven't searched, but to compensate (for now) I tried a whole bunch of combinations and used the frame counter to check that it was the fastest, which I hope is acceptable.
Here's the link.
There's a bit of corner clipping in the first level. let me assure you, that doesn't waste any time I don't think
EDIT: for those who don't have the ROM, here's an encode:
http://www.youtube.com/watch?v=cXjEh_Er6RI
I made a test run of the first half of the first stage two days ago, the reason I didn't do more than that is that my computer simply isn't good enough to run the emulator quickly. Saving and loading takes seconds and using frame advance sometimes skips 2-3 frames and sometimes none. So I probably won't run any DS games until I get a new computer or the emulator is optimized more.
Anyway, it looks like what I did was faster than what you did (but I don't know for sure), though it is probably not close to optimal either, as I couldn't be bothered to work on it for long.
http://www.mediafire.com/?sharekey=df6eb8e00dd4c93f00d27174b47c66579730b5776ae8c29d5be6ba49b5870170
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
quite right. you beat me by 20 frames. I'll have to redo it. by comparing our two videos I found some obvious improvements like an accidental corner clip by me, which is just sloppy.
Lots of acceleration, low gravity, insta destructible character, everything in the world is out to get you, I think this will look very impressive when you're done.
Is this game based off of this flash game?
Looks like it.
Build a man a fire, warm him for a day,
Set a man on fire, warm him for the rest of his life.
Joined: 6/21/2004
Posts: 247
Location: New Hampshire
Count me in as one of the ones who is interested in this. I wasted full weeks of my life in high school playing the flash version (ended up beating every episode except 86-89). This will probably be a challenge to optimize well, though. I haven't tried this version yet.
Hmm, do I have any knowledge of use? I don't think so, but we'll try anyway.
Jumping when moving up an incline, depending on your speed and such, can launch you quite a bit higher than a standard jump. There are plenty of user-made levels, and probably several official ones in N+, that require use of this, but just in case you didn't already know.
Also, in a tight vertical corridor, you can just hit the jump button a bunch to rapidly wall-jump. It's actually possible to get going so fast that you smash into the ceiling and die if you're not careful!
Ahh, yes, I remember pancaking against the ceiling. It's a good example of N's somewhat pointlessly-detailed physics system. :)
(I say pointless because it's almost only used for post-death animations)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
just a few things
Like cpadolf, I killed myself by traveling too fast upwards, I didnt even know it was possible. It was hilarious.
Secondly, Im completely redoing my WIP I believe stutter running will allow me to achieve greater mean speeds.
The speed for this game is ridiculous. Your "top speed" oscilates between several hundred values in the high 8k range (in units per frame), so I think it will be extremely hard to milk the most out of it. Also, you travel faster left than you do right, which is just plain stupid. Jumping has absolutely no effect on your horizontal speed/acceleration.
Also, the DS game is a lot easier than nv1.4, so it would be less entertaining to watch unfortunately. As a side note, the nv1.4 engine is robust enough to TAS, and there is no randomness in the main game except for after you die.
Which is a bummer for those of us who like to make Dead Levels.
But yeah, n v1.4 has robust replays, recordings, and e'en frame-advance.
Not sure what content the recording files contain, but it's the input iirc.
HMMmmm...
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
WIP and an encode
40 frames were saved in this WIP compared to my last one. I think this is pretty much optimal, but I wouldn't really be surprised if someone pulled another forty frames out of a hat somehow.
I admit, that there is corner clipping in this TAS, but let me assure you, this actually saves time. In the first level for example, I slide down a wall for about three frames and it means I actually fall faster. I have no idea how that works.
I don't know about optimal, I think I did another test of the beginning of level one and saved around 20 frames (probably a little less) over the version that was already around 20 frames faster than you. And this was just the first half of the first stage. Don't think I have any movie file left from this game though.
Still, this looks pretty cool.
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
You were right. I shaved 7 frames off my linked WIP above in the first quarter of the first level, which shaved 5 frames of your test. Which means either you saved about 8 frames in the second quarter of the first level, or I'm still a shitty TASer.
In my defense, the first level was done a number of weeks ago, and the last four levels were done today. Also it happens that the last four levels are considerably easier to TAS. But you are right. Thank god for the readability of the *.dsm format.
EDIT: Hx'd and Sync'd
In the second to last level, would it be faster to walljump right after hitting the door switch? I can't remember how much horizontal velocity walljumping gives you, but it seems plausible that it'd be faster than a normal turnaround.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
yes, it would give a higher horizontal velocity, but you would have to slow down a lot to get over some obstacles.
EDIT: here is a WIP, for those who care, I'm not going to bother encoding, untill I get enough footage done. As you might see, I redid episode 0-3 and 0-4 because of a corner boost trick that I found. Funnily enough, the two levels I redid look slower to me, because I'm always slowing down, to the normal top speed that is after inevitably decelerating from uberspeed(c).
Guess what? I also (somehow ironically) pulled forty frames out of a hat. Forty frames!
oh right.
As well as redoing those two levels, I am going to redo levels 1-4, 2-3, and 3-1, which due to new timesavers, have become suboptimal.
EDIT: forgot to link the WIP
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Sorry for the double post. The following is really only for me, but it's written on a peice of paper that I will inevitably lose. If I post it here, I will never forget where it is. It's basically a few things to remember when TASing N+ regarding it's physics. It's practically nonsense for anyone reading, and mostly unreadable, the stuff written in pencil didn't come out too clearly. There is really only one glitch documented here. It's diagram J, and the Gl vector is due to a glitch, and shouldn't exist, but does. Diagrams H and I are fallacious, I originally reasoned that the vector due to a jump was perpendicular to the surface you were on, bet there is evidence to suggest otherwise.
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Sorry for the double post.
Here's a WIP.
That's the sixth episode complete. I also hexed in a different start, which unlocks the atari bonus levels before starting episode 1. If you see any improvements, tell me. n+ is a very synch robust game, so any improvements can be easily hexed in.
EDIT: edited the URL because it was broken