I've been messing around with the random powerups in this game and it just doesn't seem possible to manipulate them...after some savestate abuse here's what I've found:
The only way I've found you can affect the powerups is by holding the phaser on, and even this doesn't offer any real control. The powerups that would have appeared without the phaser either appear slightly sooner or end up not appearing at all.
The time the game is started does change how the powerups generate, however abusing this wouldn't be very practical since there are 100 levels to plan out.
I couldn't find any action the player can use to advance or reset the RNG. Powerups will appear in the same place after pausing, using the boss key, changing the game speed, and even level warping (assuming the spot in the next level is empty).
Although it would be awesome to manipulate powerups to appear when and where I need them, this should still make for an interesting run. I'll see if I can get around the emulation issues for now and try routing out the first few levels.
Here's a quick WIP I made of the first level (no sound):
Link to video
My initial theory is that momentum is going to be pretty valuable, so I took kind of a snaking route here to conserve it as much as possible. One thing that surprised me was that phasing the block at the top and falling through was actually faster than going down the ladder and around by 2 frames. Climbing down ladders is very costly I suppose, and should be avoided. This being my first TAS I'm very much open to feedback. I plan to redo this level a few times using different routing theories to get a better idea of how to run future levels and polish my maneuvering skills.
So there are several spots that stand out to me as having potential for improvement. Sorry for the crappy MS Paint scribbleyness.
1: I think climbing the ladder would be faster than flying up, since climbing gets to full speed instantaneously.
2: I'm not sure about this one, but you spend a lot of time turning around so it might be faster to land briefly and reset your vertical velocity.
3: You spend a lot of time accelerating to the right. Can you instead walk on the platform for a frame or so to get back up to full speed?
4: Clipping the ceiling here wastes a ton of time reattaining your vertical velocity. Start your ascent later to avoid that.
There are probably more, but these are the ones that stood out to me.
Firstly, I'd like to suggest using coordinates like these when discussing the levels: (x,y) where either can be negative to indicate starting counting from the right edge / top of the screen. Having a picture is very useful, if it's to show a whole route like BrotherMojo did.
Is full-speed flying faster than running on regular bricks? I think Mojo is correct about landing to reset momentum. Could it possibly be faster to:
a) turn back after picking up the "2" gem (from Mojo's drawing) and going under the platform to get the next gem (at coordinates 6,8)
b) turn right or burrow up to after picking up (12,-3) to go to (14,-1), use the conveyor belts to the next ones on the left quickly and picking up the one that's left afterwards.
c) phase through (-3,4) instead of going round the platform after picking up the tank.
d) lose height, when necessary, either all on one go or in smaller quanta? E.g. the last flight to the door.
I don't actually think any of these would be faster but it's the only ideas I had.
I agree with Radiant about not using the powerups at all in case they can't be fully manipulated. That means that you might get unlucky and have one spawn on your path though.
I have never seen anything of the sort in the game, so that anomalous disappearance must be an emulator problem. Hope it doesn't start cropping up!
Thanks a lot for the replies guys
1. Good point about the ladders, in fact even climbing one frame on a ladder boosts your vertical speed quite a bit. After some testing it looks like climbing up for one frame and then flying the rest of the way is the fastest way up, very useful!
2. Gave this a look, it is about a frame faster.
3. I played around with this and it didn't seem to make a difference. This does work in dead-end corridors though.
4. Absolutely, that was kind of sloppy.
Yes, flying is faster horizontally than running because of the friction, although scraping along the ceiling doesn't seem to slow you down - must have one of those frictionless helmets :)
I made a route change as well. Going right after you grab the tank, doing the loop, and then getting the gems in the stone room after saves about 20 frames. I should have a new WIP up fairly soon.
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Can using your phaser while flying be abused to gain velocity in a preferred direction?
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Just tested this and it appears that you can, in a way. The phaser has sort of a "correction" system in that it will position you into the center of the nearest wall (or block of empty space) if you are outside of it. This can be abused for example when you need to drop down one square while flying. Normally you would have to turn the jetpack off for about 8 frames, which sabotages your horizontal velocity. Instead, you can fall for about 4 frames, put the jetpack back on, and then turn the phaser on, which will push you down the rest of the way while still maintaining some velocity. For a drop of more than one square I would probably chain these together, if there's room for it.
Thanks for the idea, I'll have to implement this. I'm just glad this is all getting figured out early.
Second WIP, saves about 3 seconds:
Link to video
A new route and a couple new tricks have been implemented. Using ladders to gain speed (I'll just call it "ladder-boosting") saves several frames each time you do it, so I'm keeping an eye out for any opportunities for it. I not only used it to get in the stone room but with a couple other ladders as well. Also used the phaser to fall more efficiently in a couple of places.
About the timing - should I believe the time in JPC-rr, or is there a problem with my encoding? JPC-rr shows about 19 seconds at the end of the movie but the avi is 43 seconds.
I don't understand your coordinate system. I would expect (0,0) to be the top left corner of the screen, and both coordinates go up from there. Lower right corner would then be (25,15).
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
I think for ease of use, if you're looking at something from the right or bottom of the screen, you can use a negative, instead of having to count all the way from the top or left.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
About the timing - should I believe the time in JPC-rr, or is there a problem with my encoding? JPC-rr shows about 19 seconds at the end of the movie but the avi is 43 seconds.
The timing in emulator is accurate. The game should run at bit over 70fps.
(On the other hand, the framecount on the site is garbage).
Upload the actual JRSR to http://tasvideos.org/userfiles/ ?
About the timing - should I believe the time in JPC-rr, or is there a problem with my encoding? JPC-rr shows about 19 seconds at the end of the movie but the avi is 43 seconds.
The timing in emulator is accurate. The game should run at bit over 70fps.
Upload the actual JRSR to http://tasvideos.org/userfiles/ ?
Ran into a problem in level 1, unfortunately. Teleporters don't work properly with enemies. If the tracker robot enters the green teleporter it shows up here:
I don't think it would be fair to continue the run like this, it will have to be on hold until there's a fix for it. If there's anything I can do to help then I'm up for it.
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
That looks seriously wrong.
Are you using the Adept Software release of the game?
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
That looks seriously wrong.
Are you using the Adept Software release of the game?
Yeah, it's the freeware version from their website. I think this plus the issue I pointed out on the last page are emulation problems. Everything works fine in DOSBox.
Looks like the issue is with FPU (the FPU is well-known to be badly emulated). I can easily reproduce the level 0 glitch with FPU present, but attempts without FPU fail.
Also, I think that given the game:
- CPUDiv should be raised (faster emulation, more lag, but the game is simple enough not to lag in-level even with pretty high values)
- "SET BLASTER=A220 I5 D1 H5 T6" before the game and see that it detects Soundblaster (it says so in startup texts).
I didn't test the level 1 glitch, but it could be caused by the same issue...
Yeah, and all except quite late DOS games should fall back to software FP emulation if FPU isn't available.
Also, fortunately this game doesn't support MPU-401 (one can really annoy encoders with that thing).
Shows 17.92 s, weird how the avi is so much longer. Although the game speed looks fine in it.
Could the discrepancy have anything to do with the way the game's speed controls work? Because weren't those being emulated wrong as well?
Hope it was just the FPU.
Shows 17.92 s, weird how the avi is so much longer. Although the game speed looks fine in it.
Could the discrepancy have anything to do with the way the game's speed controls work?
No, the AVI length vs. shown time issue is not due to issues with speed controls.
Edit: Looks like the problems with speed controls are not related to the FPU, but are something else...
Looks like the issue is with FPU (the FPU is well-known to be badly emulated). I can easily reproduce the level 0 glitch with FPU present, but attempts without FPU fail.
Also, I think that given the game:
- CPUDiv should be raised (faster emulation, more lag, but the game is simple enough not to lag in-level even with pretty high values)
- "SET BLASTER=A220 I5 D1 H5 T6" before the game and see that it detects Soundblaster (it says so in startup texts).
I didn't test the level 1 glitch, but it could be caused by the same issue...
Thanks, looks like that does it. I haven't tested it on level 1 either but the glitches have similar characteristics (randomly zipping somewhere and losing collision detection) so I'll stick with it. What CPUDiv do you recommend for this game? High as possible without lag?
By the way, I'm not sure what is more standard in coordinate systems, I was thinking of the screen as having the origin on the bottom left (like the Cartesian plane), but the principle is the same if you place it on top left. And yes I meant using negative numbers as a short hand.