NitroGenesis
He/Him
Editor, Experienced player (550)
Joined: 12/24/2009
Posts: 1873
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I'm not sure which thread to respond in, so I hope it's okay that I post here. I worked on an improvement to this some time ago. After about 19 minutes in I was about 20 seconds ahead. I'm not sure if I will continue it, it won't be for some time anyway, so I say go ahead if anyone else wants to take a shot at this. My old WIP, made before I found the jump trick explained below, so this WIP is improvable: http://dehacked.2y.net/microstorage.php/info/1358420029/Startropics%202%20-%20Zoda%27s%20Revenge%20%28U%29-0.fm2 Two interesting tricks: Jumping across two tiles wide holes by pushing against a wall: http://dehacked.2y.net/microstorage.php/info/878572012/startropics2_jump_trick.fm2 Turning into a pig: http://dehacked.2y.net/microstorage.php/info/1126976668/startropics2_turn_into_pig.fm2
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
Perhaps a moderator should probably merge these topics in some way. Randil, I will check your work out at some point, and possibly will use it as a model, but I'm probably going to redo it from scratch. Do you have any helpful scripts for this like you did for Bugs Bunny? :)
All the best, Brandon Evans
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
First of all, here are my RAM addresses:
0032 X|pixel
7093 X|subpixel
0033 X|big
154 Room
0034 Y|pixel
7093 Y|subpixel
0035 Y|big
003B Height
c5 en|x
cd en|y
333 force|field|hp
331 Boss|HP
23 Frame|rule
x1F Input|RNG
c3 En1|X
cf En1|Y
42 Throw1
43 Throw2
00C5 Boss|X
00CB Boss|Y
33D After|shot|move
x3B7 Boss|stop|80
47d extra|shot
It turned out I have several lua scripts for this game. Here's one that displays your X and Y position with all decimals:
Language: lua

while true do local function displayer() xbig=memory.readbyte(0x033) xpix=memory.readbyte(0x032) ybig=memory.readbyte(0x035) ypix=memory.readbyte(0x034) xpos=256*xbig+xpix ypos=256*ybig+ypix x1=(xpos-8)/16 y1=(ypos-8)/16 gui.text(10,10,"X pos: " .. x1) gui.text(10,18,"Y pos: " .. y1) end gui.register(displayer) FCEU.frameadvance() end
This handy script will tell you on what frame you reach a new room (very convenient as you won't have to check it yourself when comparing strategies):
Language: lua

room1=memory.readbyte(0x154) while true do room=memory.readbyte(0x154) mf=movie.framecount() if room~=room1 then gui.text(10,10,mf) end room1=room FCEU.frameadvance() end
Here's a text bot that presses A during text sequences. I seem to remember it worked perfectly, but you might want to double check. Just run the script during a text sequence and it will take care of the rest.
Language: lua

while true do key1={} text=memory.readbyte(0x531) textx=memory.readbyte(0x506) c=7 if textx>36 then key1.A=1 end joypad.set(1,key1) FCEU.frameadvance() end
In this game, randomness (in particular enemy movement and behaviour) is affected by your input. I also have a script that brute forces a random event until you get a desirable outcome, but that code looks a bit messy. Let me know if you come across a situation where you think you need this. Phew, I think that's it. I sure have a lot of lua scripts.
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
Thanks Randil. I will check that out shortly. I'm currently two and a half minutes in, meaning I got to the first action scene in the same exact time as Randil. That said, I found one interesting discovery that I implemented: you can select the second save slot without losing time. In fact, the screen blackens faster if you do it that way. Sadly, for some reason that is beyond me, the game starts on the same frame regardless. Oh well, I'm keeping this in. I figured out how to do the pig glitch, and I think it'd really help with the downtime, plus the stunned jumping thing is cool too. That said, I'm not sure how the long jump glitch works. Could you explain Randil? I want to use that whenever possible as to improve your run. I'll try to continue this tomorrow. Goodnight.
All the best, Brandon Evans
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Brandon wrote:
That said, I'm not sure how the long jump glitch works. Could you explain Randil? I want to use that whenever possible as to improve your run. I'll try to continue this tomorrow. Goodnight.
The way the trick works is that if you press against on of the corners of a block, the game will give you a slight boost (a few pixels), as to move around the corner. In the movie I provided, by pressing up against that block, the game pushes me slightly to the right, as to easier move around that corner. As soon as you have received this boost, start moving in your original direction to finish the jump. This means that this trick is only possible when there is a block with a corner close by that you can press against. I hope that made sense.
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
OK, I think I need some more insight on the movement system before I go any further. In the room around 10400 frames, I do exactly what Randil does, but it results in me ending a frame later. I think for some reason that my movement is delayed by one frame when I jump on the last part. What could the possible cause of this be?
All the best, Brandon Evans
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
I'm not sure, but if you upload your movie (you can send it to me in a PM if you want) I can take a look.
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
Alright, I'll reproduce the issue and PM you it then. I rarely don't post these things publicly, but it's not developed enough for me to want to show anyone that I don't have to. Also, do you think you could point out some places in which you think the jump boost would work? I wanted to do it to bypass this whole scene, but it doesn't seem like I have the right block formation to do it. Edit: Never mind. I'm not sure what happened, but now it works properly. Thanks anyway. My other question still stands.
All the best, Brandon Evans
Skilled player (1306)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
I also found a long jump trick, altough this was probably not what Randil was expecting. http://dehacked.2y.net/microstorage.php/info/1555887363/st2-long%20jump2.fm2 I have yet to figure out how this one works, so it may not be useful for a while.
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Sonikkustar wrote:
I also found a long jump trick, altough this was probably not what Randil was expecting. http://dehacked.2y.net/microstorage.php/info/1555887363/st2-long%20jump2.fm2 I have yet to figure out how this one works, so it may not be useful for a while.
I think it has to do with that you get hit by the enemy just before you are to go down into the water. It also seems to have to do with the angle at which you hit the enemy (there might be suxpixels involved too). You can also start moving around on the water tile after you get hit by that enemy. Interesting.
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
...Well then, it seems like I have to redo at least that room!
All the best, Brandon Evans
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
Alright, so I fixed that room and merged with the rest of the file. It worked out alright, but then I had a desync with the three bear fight. With some random input, I managed to get that back on track. Oddly enough, though, in the next room with the three pigs, the middle one starts in the wrong direction. I've tried to feed bad input for a while now to no avail. Perhaps someone has a better understanding of the luck manipulation here than me? If input is all it takes to fix this, a few key presses on TAS Edit will get this back to normal. Finally, I've decided it makes more sense to keep a public repository than to keep uploading these files. The main Startropics II file is the one that needs fixing, while the one that's labeled "Current" is the version I had before implementing this glitch. Let me know if you have any ideas. Edit: OK, so Randil explained to me that I either need to take the right path, or I have to forfeit some frames and take the left path to avoid the pigs. The right path ended up being more optimal in this case. That said, I've realized that my battles might not be perfectly optimal; jumps can be used to move while beginning to throw an axe. I'm going to try to redo the first room with the pigs and the bear fight. For all I know, I might be able to trim of enough so that I could take the left path without forfeiting frames. Once this is all settled, I'll continue running it with all of the strategies I've implemented so far. If you have any other ideas / glitches, please let me know, as I'd rather not rerun these rooms over and over again if it's possible to do otherwise. Edit 2: OK, the pigs are too small to jump and throw at, so the first fight isn't going to improved that way. In the case of the other bear fight, I've tried several times and failed. If I was jumping towards the first bear I was hitting, this strategy would work, but that is not the case. As such, I'm just going to continue by using this technique on the next bear fight. Some might call what I'm doing slow an drawn out. I call it precision. :) Edit 3: It was a good idea, but the problem is that usually, jumping forward in order to attack earlier will also get me so close that the bear will eventually be able to attack me. I'll see if I can apply is elsewhere, but as of right now, I am tied with Randil in that room.
All the best, Brandon Evans
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
First cave completed. Stats: Me: 17343 Randil: 17427 Sami: 17742 So, I'm beating Randil by 84 frames and Sami by 399 frames. Not bad! I might attempt to navigate to Chapter 3 before crashing. Before I continue with that, I want to explain where this new 12 frame improvement to Randil's version came from. The most important one is in the boss fight: I jumped towards the boss before throwing an axe at it, allowing me to hit it earlier. In addition, I used the side of one of the skulls to get a subpixel boost like the one Randil uses in his jump glitch. It's a small improvement, but everything counts, right? The above improvement takes care of 11 frames. Where did the last one come from? Well, while navigating through the maze, for some reason, Randil's version is one frame slower than mine, just like in the scene where you have to jump from platform to platform. Clearly, I didn't employ any kind of new strategy, but yet the improvement exists. It is my theory that it might be more optimal to turn during some frames than others, and that there's probably a relation between the animation and this. As it would be pretty obnoxious to have to check this every time, I'm wondering if a script could be constructed that checks whether movement is optimal or not. If anyone has any ideas, I'd love to hear them. Alright, back to work. P.S. When I work on non-trivial public projects, I often monologue a lot. Get used to it. That said, if this triple post is out of order, then please let me know. I figure that this post is substantial enough to not be an edit. Edit: Navigated to the next cave. I really thought this would be the most trivial part of my TASing day, but to the contrary, it raises many questions.
  • Throughout this section, the difference between Randil and I's times fluctuate. Before this begins, it is 84, but it seems to go up after the points are tallied for some reason. In fact, I'd suspect that points would add time, but in this case, it seems to subtract it. If this is not the cause, it could be lag or inaccuracies in text navigation, though I figure Randil used the same script as I am for this section, so the latter wouldn't make sense. What caused this improvement, how do I maximize it, and how are points calculated anyway?
  • On the other side, at some point, the difference became 54, a whopping 30 frames less than it started. After some examination, I think I can safely attribute this to the filling of the half a heart I lost performing Sonik's enemy jump glitch. Sure, the glitch saved more than 30 frames, but this is still disconcerting. Is there any way I can recover that half a heart in the first level?
  • Again, somewhere before I made it to the gave, the difference became 56, improving my run by 2 additional frames. Why would this be? Unlike the other changes, this really doesn't seem to have a suspected culprit.
I'm hoping that Randil might be able to step up to the plate once more and help address these questions. Upon reviewing the remainder of his movie, I see that I am closer to completing the part he completed than I expected. With at least one use of the subpixel boost jump glitch available, I'm hoping to improve his movie by at least 2-3 seconds. Only time will tell...To see the latest version of my run, as always, please check out my Google Code Mercurial repository, linked several times above.
All the best, Brandon Evans
Joined: 7/24/2007
Posts: 74
If it's like the first game, you get more points for killing fewer enemies.
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
scaryice wrote:
If it's like the first game, you get more points for killing fewer enemies.
Really? I'd figure it'd be the opposite. I'm pretty sure I killed the same amount of enemies as Randil did. I'll review this. Edit: Well, I realized that I didn't kill the pig I would normally kill that I skip using Sonik's glitch. That said, it seems like the score is tallied slower when you have less points, or at least in this case. This explains where the 2 frames came from. Yay!
All the best, Brandon Evans
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
I just found this thread after the Crazy Castle secret levels submission. It's great to hear that people have found amusing glitches! I probably can't check out the WIPs today, but I will get to it, and in the meantime, I hope I can be useful encouragement.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Brandon
He/Him
Editor, Player (190)
Joined: 11/21/2010
Posts: 913
Location: Tennessee
mklip2001 wrote:
I just found this thread after the Crazy Castle secret levels submission. It's great to hear that people have found amusing glitches! I probably can't check out the WIPs today, but I will get to it, and in the meantime, I hope I can be useful encouragement.
Thanks for checking this out. We (Randil and I, officially a team) actually got a lot farther than this thread implies. We're past the cave with the scorpion boss in Chapter 3, and we're roughly 20 seconds ahead of the published run. We're also somewhere around 8 seconds faster than Randil's original WIP. If this TAS ends up being over an hour, it will be very surprising.
All the best, Brandon Evans
Joined: 7/24/2007
Posts: 74
Joined: 7/24/2007
Posts: 74
Using Sonikkustar's long jump trick, I just found a way to skip the final boss!! http://dehacked.2y.net/microstorage.php/info/1729750927/final%20boss%20skip.fm2 You can also go to the room above the dragon room, which contains the exit. I also experienced the game taking me back to the village, where the entrance is. EDIT: Link to video
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
scaryice wrote:
Using Sonikkustar's long jump trick, I just found a way to skip the final boss!! http://dehacked.2y.net/microstorage.php/info/1729750927/final%20boss%20skip.fm2 You can also go to the room above the dragon room, which contains the exit. I also experienced the game taking me back to the village, where the entrance is.
Wow, that is crazy! Thanks a lot for showing this. Me and Brandon are still working on this, it's going on and off (right now we're in an "off" dale because of me), but we intend to finish it.
Joined: 7/24/2007
Posts: 74
Two new skips I found tonight: Link to video Link to video
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
scaryice: do you know how those tricks work, i.e. how you are able to walk on water/air directly after taking damage? Are there any specific RAM addresses you need to keep an eye on, or a specific frame window when this can be pulled off? Any details on how this is done would be helpful! Input files are also welcome, if you still have them.
Joined: 7/24/2007
Posts: 74
Randil wrote:
scaryice: do you know how those tricks work, i.e. how you are able to walk on water/air directly after taking damage? Are there any specific RAM addresses you need to keep an eye on, or a specific frame window when this can be pulled off? Any details on how this is done would be helpful! Input files are also welcome, if you still have them.
I don't know the technical details of it. It's the same trick as the file Sonikkustar posted and the final boss skip I posted. It seems like when you get hit right where two squares meet, you can walk onto either one even if it's water or air (or maybe, it's just you can walk one square in any direction). So after experimenting a bit, I realized that you don't need an enemy on the other side of a gap. You can just get hit where you are then walk and jump. http://dehacked.2y.net/microstorage.php/info/1764190244/mine%20skip.fm2 http://dehacked.2y.net/microstorage.php/info/694556815/waterskipmovie.fm2
Skilled player (1885)
Joined: 4/20/2005
Posts: 2160
Location: Norrköping, Sweden
Sorry for the late reply, but thanks a lot scaryice, I managed to get this to work. Just like you said, the trick is to get hit on the very edge of the water square, which can be done by jumping up in the air and getting hit right as you land. Thanks again!