Posts for hopper


Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Your previous run was deemed incomplete, so you played it longer. You ignored or didn't understand the advice to use Game 6, which is accomplished by using the Game Select switch (default "S" in BizHawk). I proposed a strategy for Game 6 which you didn't use. I opened the ROM in BizHawk and spent many hours learning what all of the addresses in memory do and determined that the strategy works. Having done that, I've been very tempted to make my own Yars' Revenge run, but I didn't want to step on the toes of someone who was already working on a Yars' run. Here's what I think is the problem. When you wrote:
donnaken15 wrote:
I am trying to beat it as fast as possible. It's just that the cursor keeps getting closer so I have to wrap around the screen to avoid losing.
That's not a TASer's answer. What this tells me is that you're just playing the game and responding to what happens. A TASer figures out what makes things happen and then manipulates that information to his or her advantage. That includes figuring out what's going on in memory, as I have done, but it also includes figuring out the RNG (Random Number Generation). Why does the Qotile sometimes not attack for a couple of minutes, and other times it attacks as soon as the level starts? Because the attack time is random. But computers can't pick random numbers! They choose their "random" numbers by performing some kind of math, usually based on the current time (which is never the same twice). Since the Atari 2600 doesn't have a Real Time Clock, any random behavior is calculated mathematically based on something that's unlikely to be the same twice, like your score, or the Yar's x and y positions, or something like that. To truly TAS the game, you have to figure out how the game works so that you don't have to make concessions. Instead of responding to what the game does, make the game do what you want it to do. So, here's what I've decided. I'm going to post my findings here. If you're willing to learn the craft and make a high quality TAS with that information, you can make your run and have the glory of having the first published Yars' Revenge TAS. The clock will be ticking, though. If you're unwilling or unable to make a TAS to this site's standards, I'm going to start working on mine very soon.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
donnaken15 wrote:
hopper wrote:
Yar always has to fly up and eat a piece of the shield before it can fire the cannon.
I had to have keep moving back and forward because the cursor kept getting in the way of me killing it.
Right, but in Game 6 you can put Yar on top of the Qotile and get 2 TRONs per frame, to a maximum of 255 TRONs, and then you could fire the cannon 51 times without having to cross the screen to eat a piece of the shield.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I've figured out most of the useful memory addresses, but I haven't figured out how to manipulate the RNG yet. I'll start working on a WIP tomorrow and post what I've learned in a new thread.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Okay, the TRONs are stored in 0x70, and the answer is: yes, it costs 5 TRONs to fire the Zorlon Cannon. More good news: The TRON count increases by 2 per frame when the Yar is touching the Qotile. You don't have to exit and re-enter; you can just sit on the Qotile for 95 frames to get the 190 TRONs.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Yeah, I was too lazy to look for the memory address myself. I don't think you can save much time reducing the number of rounds by eating cells, given how long it takes to eat each one for only 169 points each. You have to eat 36 cells to avoid one round (36 * 169 = 6,084), and I just don't think you can do that faster than you can take out a Swirl that attacks instantly in Game 6. Let's assume, for now, that you use up 5 TRONs each time you fire the Zorlon Cannon. If you get all of them from eating the shield (none from touching the Qotile), you could eat 170 cells for 28,730 points. Then score 6000 * 34 = 204,000 for a final score of 232,730. Potential problem: are there 170 cells in the first shield? My big question is: can you collect two TRONs repeatedly by touching the Qotile multiple times? If you could, for instance, touch the Qotile every other frame 195 times, you could blow a hole through the shield on your way there, load up on TRONs for 390 frames (6.5 seconds), spend 2-3 seconds returning to the left wall, and then take out the attacking Swirl 39 times for 234,000 points, plus 69 * ~4 for initially blowing a hole through the shield. Those 39 kills would be about a second each, so you would have 48 seconds worth of gameplay and 38 level transitions of about 4 seconds each = 152 seconds, so an approximate completion time of 3:20.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
So, again, you might want to consult with the community before putting a lot of effort into a run that's going to be rejected. First, what makes this a 100% run? It looks like you decided to go to 500,000 points. Why? As far as I know, gameplay stops changing at 230,000 points. Of course, it's easy to edit the TAS to stop after 230,000, so that's not a major concern. The bigger problem is that this almost has to be improvable. You get 1000 points for killing the Qotile, but you get 2000 for killing after it becomes the Swirl, and 6000 for killing it while its attacking. A lot of the time -- especially near the beginning -- you kill it as the Qotile. Was it really going to take so long to attack that it was faster to kill it immediately for only 1/6th the points? If so, is there no way to manipulate the RNG to make it attack faster? The other obvious improvement is that you didn't play the game on the most difficult level: Game 6. Besides usually being required, Game 6 would have been faster. Your run is slowed down by the fact that Yar always has to fly up and eat a piece of the shield before it can fire the cannon. In Game 6, you get one "TRON" for every piece of the shield that you eat and two for touching the Qotile, and you can store up to 255 TRONs. The downside is that you need at least 5 TRONs, and you have to touch the left side of the screen to set up the Zorlon Cannon, but you can then use the extra TRONs to attack immediately on every subsequent round. And since the Qotile attacks way more often in Mode 6, this means that you can clear a ton of levels in a row in under a second. It took you about 7:30 to get to 230,000 points, but I suspect it could be done in less than half that time in Game 6. You should only need about 38 rounds if you grab the full 6000 points every time. I can't seem to find any information on how many TRONs it costs to fire the cannon, but if it's only 5, that means that you could store enough TRONs to fire immediately 51 rounds in a row. You only need 38. I suspect that a perfect game looks like this: through a combination of eating the shield and touching the Qotile, you acquire 190 TRONs in the first round, then smoke the Swirl while attacking 37 rounds in a row.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I have never said WTF so many times during a Super Metroid TAS. You've basically turned Super Metroid into a Sonic game now, with zipping around and glitched-out graphics everywhere. What just happened?
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Captain Forehead wrote:
I think it's funny how you used literally every single character except for Mario himself. You know, the face of the franchise.
It kinds of makes sense, though, since Mario is the all-around player -- average at everything. That makes it likely that, in every level, there's a better choice than Mario, unless the level is so well-rounded that any time saved by the specialist character's strengths are undone by the time lost to their weaknesses.
jlun2 wrote:
So anyone up for a "Mario-only" run?
I am! I beat the game, warpless, using only Mario just to see a 20 over Mario at the end. It makes 4-3 and 6-3 a lot longer, and 5-1 was a nightmare, having to jump from Trouter to Trouter with Mario's wimpy jumping.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
With regard to the cannon, the longplay was playing Game 6 (Ultimate Yars), where you have to touch the left side of the screen in order to launch the cannon.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
@donnaiken: It's true that there only two shield configurations. The solid and rotating shields loop, but the gameplay changes at 70,000, 150,000, and 230,000 points. You can't just loop the input. @GJTASer: Yes, the manual is where I got my information. I didn't claim to have discovered it on my own.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
It's not just the colors that change; the color change is to warn you about the gameplay change. At 70,000, the Qotile changes to a Swirl three times more often, and sometimes launches without warning. At 150,000 the Swirl will launch at you, stop, and then launch again to wherever you've moved to (but frequency drops back to single). At 230,000, the double attack and triple frequency are in effect. As you'll see in the longplay, the faster Swirl launch saves time versus having to cut a hole through the shield. The RNG can probably be manipulated to make the Swirl attack faster for TAS purposes.
Spikestuff wrote:
As for the longplay example. hopper you should switch it to the updated longplay.
Good call. I think, in the previous video, the flashing was synchronized with the video framerate in such a way that the shield was never shown, making it look invisible instead of pink. Also, cool ending!
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I used to play this game with the FourScore at parties. Four people playing NES at the same time was amazing! I've actually been waiting for someone to TAS this game. After the first couple of sets I was afraid it was going to be the same pattern (serve, block) for the entire game, but thankfully there was eventually a second pattern (serve, block, spike), so it managed to be somewhat entertaining for the entire six minutes. Great job!
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
As a fan of the game, this is an easy No vote for me. It's true that there are only two shield configurations, but this is certainly not the whole game. It's not like those levels just repeat forever! Gameplay changes at 70,000, 150,000, and 230,000 points. There are levels with no neutral zone. This video is infinitely more entertaining to me. Watch how this guy leads the Swirl into his Zorlon Cannon once it gets to the point where the Swirl makes a second attack. There are a couple of points in the game where he has so many TRONS that he's able to hit the Swirl off the bat in five to ten levels in a row, grabbing the full 6000 points and an extra life. There are a few places where he even bounces the Zorlon Cannon off the shield and hits the Swirl on the rebound! TAS videos are supposed to show off skill -- well this guy is showing off SKILL. If you want to really play through all of the levels, you have to at least beat a level after 230,000 points. It would take the better part of 160 levels to do a fastest to 999,999 video, and I don't know if it would stay entertaining for that long since the gameplay stops changing after 230,000 points, other than some levels having the Neutral Zone and other not having it. I think the two runs you could definitely do for this game are a "100%" run that shows all of the levels before the infinite gameplay loop after 230,000, and an Any% that gets to fastest "Game Over" by activating the Easter Egg as fast as possible. (The 230,000 point run should probably also terminate by getting the Easter Egg). BTW, Game 6 (Ultimate Yars) should actually be faster, since you don't have to bother cutting a path through the shield. Within a second, the Qotile will come to you!
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
That was kind of cute, but I didn't need to see it three times. Getting a gold medal seems to be a less entertaining goal than maxing out the score in each event once, or even just fast completion once.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Vaultable perhaps. A run that completes the game would probably be Moonable.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I'm the exact opposite. As a fan of both the pinball table and the NES game, I wanted to see super fast advancing through the Solar System and through the different stages. At least you got multiball, but just scoring a lot of points really fast was boring, and didn't even feel as skillful as completing the game's objectives.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
That is one spartan table! Nothing particularly exciting happens, so I give it a Meh for entertainment.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Wow, a lot of chat about this submission! I skipped the last 5 pages. I came here to say (as has already been said) that doing nothing in the bonus stages is boring. If there's anything that you can do that won't cost you time, do it. Can you fly over the ship? Narrowly avoid the bonuses? Move to the music? Anything is better than nothing.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
That was a lot better than I expected a movie about a kid clown to be. Cute game and easy Yes vote!
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I've never been a fan of U+D or L+R on console runs, since they violate the "What Would Data Do?" aspect of perfect play. Such runs don't demonstrate what's possible with perfect play, since not even the android Data could reproduce these runs because the controller couldn't produce the inputs... unless, of course, you were to take the controller apart so that he could press the left and right/up and down buttons under the D-pad directly. That would not be possible for a controller with an analog joystick... but it seems that this arcade machine did not use an analog joystick. It's like screwing the stick into the D-pad on a Gravis PC Gamepad: it's still just four buttons getting pushed by rocking the D-pad around. I still don't like the concept of needing to take the controller (or in this case, the arcade machine) apart in order to press those buttons, but if we're allowing it for console runs, it seems we have to accept it for any system that uses digital direction controls. As feos stated so well, "you can not digitally send opposing analog directions", so it seems that this will never be a debate on systems that actually use analog joysticks. So there we have it, then: there will be no special cases where U+D or L+R won't be allowed in a TAS. Even if I don't like a rule, I'm relieved when it can be universally applied. Edit: Just in case anyone doesn't understand why you can't send U+D or L+R in a system that has an analog joystick, it's about how the system determines what direction you're trying to go. A system with a D-pad has up, down, left, and right buttons, and the software figures out what direction you're pressing by checking which of them are being pressed. Is up being pressed -- yes or no? Is down being pressed -- yes or no? Is left being pressed -- yes or no? Is right being pressed -- yes or no? The controller itself doesn't actually send a single value for direction to the console -- though such a thing would have been possible if the controller's CPU were programmed to do that. It could send 0 for U, 1 for U+L, 2 for L, 3 for D+L, etc. -- some value between 0 and 7, which would be sent in binary as a number between 000 and 111, sending only 1 less bit of data than if it just sent a 0 or 1 for each of the buttons. It's not worth doing, so they don't do that. If you ever opened a "ball mouse" -- before they had lasers, they had a ball that would carry dirt inside the mouse -- you'll remember seeing two plastic rollers. One represented vertical movement and the other represented horizontal movement. Keeping track of how much each roller had turned determined how many pixels up/down and left/right to move the cursor on your screen. Mouse movement is, therefore, represented as a combination of two values: "delta x" and "delta y". You can't send two x values or two y values in the same frame, i.e. horizontal values of +10 and -7. Likewise, if you've ever opened an N64 controller, you'll have seen two wheels near the joystick that get turned when the thumbstick moves around. How far the stick moved horizontally and vertically -- delta x and delta y -- can be used to calculate the direction. If the ball mouse had registered the same amount of vertical and horizontal movement -- say, 10 pixels down and 10 pixels left -- then your direction was due southeast, or 135°. The delta x and delta y can also be used to determine how far the mouse travelled, and the combination of direction and distance is called a vector. Vectors are what made the N64 controller so amazing: it calculated not just what direction you were pushing the stick, but also how much you were tilting it. This allowed Mario to walk slowly if you pushed the stick a little bit, or run fast if you pushed it all the way. Again, you can't send two of these values in the same frame. Even with an emulator, there is no way to send (or record in an input list for movie playback) 90° and 270° direction information in the same frame, nor 0° and 180° tilt information in the same frame. For any system that uses analog direction input, the controller will either send a single value for direction and tilt per frame (calculated by the controller's CPU), or a single value for delta x and delta y (letting the console CPU calculate the direction and tilt). Regardless of where the math occurs, the input file cannot contain contradictory direction information, so the U+D/L+R debate will never occur for TASes of systems with analog joysticks. Isn't that lovely?
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I love the arcade game. This is a pretty decent port, and you totally pwned it.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
Now that I've seen the encode, I can say that it looked like it could have been done a lot faster. But don't make another run, because the goal was arbitrary and will never be accepted anyway. You could maybe justify a "100%" run that beats every type of puzzle as quickly as possible, but I don't see the point of a TAS that just beats Calculations x100 really fast... especially when you have to sit through a Calculations x20 to get to it.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I can't get it to sync in 0.9.11.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
DeSmuME is free. A simple Google search would have taken you to the website to get the latest version (0.9.11). The only excuse for using a version from 2009 is if you've been working on your TAS since 2009. DeSmuME 0.9.11 is MILES more accurate than 0.9.4, so there's a significant chance of your run desyncing for anyone using a version of DeSmuME from, you know, this decade.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Experienced Forum User
Joined: 11/15/2004
Posts: 804
Location: Canada
I'm wondering about this "Takes no damage" designation. Haggar doesn't take any damage from enemy attacks, but he does lose health from using his spin attacks.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.