Joined: 10/3/2005
Posts: 1332
XIF wrote:
First off, I know for alot of games, people use memory watchers for position, speed, etc. Where do I get it, how do I use it properly, and whats the right way to go about finding the correct memory address for such values?
In snes9x, what you'll need to do is open the cheat menu and click "search for cheats (active)". At this point, you'd need to decide which memory value you want to find. Supposing you wanted to find the aircraft's yaw, for example, you'd first get the game running so that you're in control of an aircraft. Next, you'd pause the emulator and reset the cheat search. Holding left and tapping the frame advance key, you'd run searches for values "!= not equal to" previous values, every ten frames or so. The search interval of ten frames is arbitrary; you'd just need to make sure that the yaw value has actually changed since you made the last search, or you'll ruin the results. It's safest to use "!=" as your comparison type because you don't necessarily know how the game stores the yaw value in memory, or whether turning left is going to make the value increase or decrease. Eventually, you'd have narrowed down the field of memory addresses to the point where you can unpause the game, and swerve around a little bit- since you're using the active cheat search, you'd hopefully see one or two memory values that exactly correspond to action of the aircraft. Sometimes, it's helpful to start searching with the inverse of the logic in the example I just described. That is to say, you'd leave the craft steady and do searches where the comparison type is "= equal to" the previous value. That clears out music variables, timers, and random number generators that change every frame. Knowing about how the SNES stores data is also helpful in narrowing down the field: you can usually assume that important values, such as the characters hit points and x/y coordinates, are going to be stored in lower regions of the memory, whereas memory addresses 7F0000 and up often contain nothing but useless video data.
Are there any other helpful tools I might want to use outside of that? Is there any menu option in snes9x to perhaps set and stop a frame count (like a timer for frames) and what is there to display the overall frame number of recording?
If you're not afraid of a little programming, you could use Lua. Setting up timers is the least of what Lua can do. :) Here's where you can download the Lua-enabled version of Snes9x: http://tasvideos.org/forum/viewtopic.php?t=6539&start=0 Also, we already have a Pilotwings thread. I think one of the mods will merge this thread onto that one soon.
Post subject: Re: Pilotwings
Joined: 9/30/2007
Posts: 103
Firs off: Hi XIF. Long time no see.
XIF wrote:
I know some of the basics and the dos and donts. I'm gonna use SNES9x v 1.43+ v 9
Use gocha's improved version instead. No reason not to, really.
XIF wrote:
What is the right way to go about the actual recording? Do I just create a savestate from the start and test one by one the optimal frames? (For instance, I couldnt tell you the earliest frame I could press start at to bring up the menu automatically at the start screen). Would I just simply set a savestate at the beginning, create another one before each frame I test to see if start then will bring up the menu, and just repeat it until I get the result?
The lazy way would be auto. The optimized way would be to check every individual frame (by loading a savestate every time and checking). The a bit slower, but overall more rewarding, way would be to check if there's a memory address that keeps track of when the game accepts input. Then you'd know when the best frame to press would be in every situation.
XIF wrote:
Are there any other helpful tools I might want to use outside of that? Is there any menu option in snes9x to perhaps set and stop a frame count (like a timer for frames) and what is there to display the overall frame number of recording?
Use gocha's Snes9x memory watcher, learn basic LUA if you want simple script-assistance. When recording a movie, press . in Snes9x to bring up the total frame count.
XIF
Joined: 2/7/2006
Posts: 58
Where do I know you from again neophos? I recall the name... Its funny though, I've been looking at the boards for so long I feel like I know all the users here, and all the drama too. Like Saturn with Super Metroid, and that stuff in the OoT thread about being arrogant. Whoever says this is correct but most people who watch the movies here respect all movie makers simply for making great TAS's. Most dont give a damn about board drama. But I digress. edit: sorry.
<3 time attacks
Joined: 10/15/2007
Posts: 685
Except... perhaps... slightly smaller. x.x Also, I don't know how you can stand to look at it interpolated like that, but that's just me. And was the hang glider glitch ever remedied? The last time I checked, any level with the hang glider would cause either incredibly freaky physics misrepresentation or a program crash.
Kirby said so, so it must be true. ( >'.')>
Player (104)
Joined: 1/30/2005
Posts: 562
Location: Québec, Canada
1261x1038? Isn't the SNES something like 320x240? Please, remove that picture or resize it to the original size.
XIF
Joined: 2/7/2006
Posts: 58
sorry about that my laptop has a super high resolution (1920X1200) so to me the picture wasnt incredibly large but I forget that not alot of people have a resolution nearing 2K pixel width. I am unsure about the hanglider glitch, i'll test it out later.
<3 time attacks
Joined: 10/15/2007
Posts: 685
My desktop has 3520x1200 of screen real estate, but my laptop tops out at 1280x800, sadly.
Kirby said so, so it must be true. ( >'.')>
Joined: 9/30/2007
Posts: 103
XIF wrote:
Where do I know you from again neophos? I recall the name...
You'd probably remember the (rather silly) nick "RoySSJGokuNaruto" better. Melee General boards, way back.
XIF
Joined: 2/7/2006
Posts: 58
anyway, I tested out that glitch you were talking about and this is what I got: There was absolutely no graphical errors or game crashes on level 3 hang glider stage, however the light plane lesson first gave me a weird scramble of graphics (it was more like saving something as a gif in paint and having it appear fuzzy) and then the game crashed before the last ring was passed. I dunno what caused it but the error it gave me was something along the lines of that snes couldnt read the memory correctly. I have a couple of questions. Right now, I want to do a straight run through. Speed and score. But there are bonus stages for when you land in the moving targets that allow you to get more points. Right now I think I'd like to just get 100 on every stage and land on the normal targets, but I could also go for every bonus, or I could also simply go for straight speed. For instance: In the very first level, what would probably be the fastest way to simply pass would be to get a perfect on the light plane (All beams, really fast, perfect landing) and the just hop over to sky diving and start off immediately head first and pass the first 2 rings, head up for a couple frames or so to pass the third, and then just head straight down again and crash. The rings alone give you 20 points and pushes you barely equal to the passing score. While undoubtedly funny (crashing is just funny in pilotwings) its hardly impressive. so what? Normal playthrough with perfect scores or complete playthrough with bonus stages or barebones fastest way possible?
<3 time attacks
Joined: 10/15/2007
Posts: 685
I vote perfect scores + bonus stages, if at all possible.
Kirby said so, so it must be true. ( >'.')>
Active player (422)
Joined: 9/27/2004
Posts: 650
Location: Canada
When I was fooling around with this game a few months ago, the bonus game I got while TASing was different from the bonus game I got when watching. This was a problem I didn't feel like dealing with, so good luck with it if you decide to go for bonuses. And I'd wager always skipping the light plane would be the fastest option. This is what I was intending on doing, but didn't feel like dealing with the bonus game problem I was having. If you're getting a bonus stage, you actually don't have to do the stage perfectly, and you still get a perfect score IIRC. So if you do decide to get the bonus game in, say, skydiving, do you skip the rings? It's probably faster to go straight for the platform. I dunno, just thinking out loud.
XIF
Joined: 2/7/2006
Posts: 58
the thing is that basically to get anything out of the bonus stage you need to be bouncing around for a bit for the extra 20 points needed to pass the first course, and that takes quit a bit as well, because you stay in the air for so long, and then you need to hit 4 target, not to mention the first 2 jumps before hand. Whereas the plane pretty much going through the stage as fast as possible means getting a perfect score, and then after that you just dive bomb three rings and break your neck on landing. This is going to be far more complicated than expected @_@
<3 time attacks
Active player (422)
Joined: 9/27/2004
Posts: 650
Location: Canada
The sky diving bonus game is the penguin diving into the pool. The bouncing bonus game belongs to rocket belt stages. Personally, I think the game lends itself better to a playaround than a pure speed run anyway, so I suppose it doesn't matter...
XIF
Joined: 2/7/2006
Posts: 58
I was thinking it'd be better like that as well, which is why I wanna go for top score, but also some other things that may be slower but cooler. Like doing rocket belt 5 feet above ground at all times and things like that.
<3 time attacks
XIF
Joined: 2/7/2006
Posts: 58
So i'm doing a little test run of the rocket belt. 814 frames with 60 rerecords, mainly just going through menu's, but it took me about an hour to find what I thought was the best way to pass the first ring. There's probably still better ways though. The main concern is positioning yourself for the next ring, since momentum is carried over so much, anyway, i pass the first ring on the 814th frame already a fairly interesting screen: EDIT: 1154 FRAMES, second ring passed. about rerecords: the way i've been quitting and saving my movie for later works has been to do movie stop and then do another movie record using that file name and just load the savestate and savestate once again and then continue. I dunno if this is the norm or how your technically supposed to do it, but regardless it resets my rerecord count. I thought it seemed a little low, and now I know why. I should have something like 200-300 or so re records. I know it might seem silly to record such small steps, but this is my first time TASing, so I feel every little step is awesome =P
<3 time attacks
Joined: 9/30/2007
Posts: 12
I was combing this board to see if anybody was working on a Pilotwings run and I was thrilled to see XIF. I'm another GameFAQs SSBM board alum -- there I'm known as MaskedSheik. Maybe there's something about Melee and Pilotwings... I'd like to see this project run again. Maybe XIF will come back. If not, I would pick it up myself but I've never done a TAS and I think Pilotwings would be a hard first try (also I have a Mac and I don't know how compatibility works with my Snes9x, or whether I can even get the programs I need). Still I'd really like to see the things you could do with this game.
Active player (423)
Joined: 9/7/2007
Posts: 329
Greetings, Melismatically. I have been working on Pilotwings. I completed Lesson 1 (I skip the light plane), and have been analyzing the physics of the game so that I can determine the fastest path for the Rocketbelt. I have been looking at the skydiving and have determined quite a bit already, but I have more to go. But I have been completely distracted by working on the TAS of Actraiser, but I still intent to continue. I will link to a SMV when I locate it. However, I am not sure how interesting this run is going to be. There is not much room for goofing off if this is going to be completed quickly, and each task is going to be completed pretty much the same as the other lessons. I have determined that the light plane will be skipped because it is too slow and there is no bonus game. To me, the run seems to be a little bit on the boring side, but of course it is up to the community to decide and give advice. Also, there is one more forum for Pilotwings: http://tasvideos.org/forum/viewtopic.php?t=323 Should the two forums be merged?
Player (155)
Joined: 2/4/2011
Posts: 61
Weird. I searched for this game while I was working on my run and totally missed this thread. Well I have useful memory address to share. 7E1ABD: Timer. Very useful for comparing times. 7E0054, 7E0056, 7E0058: X-, Y-, Z-positions 7E0049, 7E004B, 7E004D: X-, Y-, Z-speeds. I don't know units 7E00FE: Frame counter (used as RNG). 7E0078: What's being pressed 7E002F: Throttle. Used for Light Plane and Helicopter missions. P.S. I don't know if you're still lurking XIF, but I play smash, too. I was at TO6 and Pound V. I don't think we played, but I was the ... tall one.
Active player (423)
Joined: 9/7/2007
Posts: 329
Hi tall, I am still planning on working on Pilotwings. I have been sidetracked with other projects. I had been working on figuring out the physics behind the game so I can calculate the fastest path. I see you found a few addresses that I do not have, and I know I have some you don't have. I recall there being subpixels for positions and velocity. I need to organize my notes so I can remember the details, and also find my WIP of Lesson 1. I have a bunch of SMVs, and I can't remember which one is the correct one. Edit: I see you have submitted. I will watch it.