Posts for SoulCal

1 2
13 14 15 16
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
ais523 wrote:
That information about the controller line is pretty interesting, as it means you could measure lag with a multimeter or modified controller (NESbot-style). Thus, you might not even have to get the emulator to calculate lag for you, if you can measure it from the console itself.
How would I measure lag with a multimeter? I have an oscilloscope set up to see the pulses and voltages send to and from the controller, which is essentially a multimeter but displays things as a function of time. And why would I need to calculate lag?
Post subject: Emulator vs Console Polled Inputs
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Alright, messing with Mupen-rr some I noticed that there are two numbers of interest (which all you N64TASers know). One is what I can safely assume is the Vertical Interrupts, or when the system polls the controller. Now it makes sense why TASvideos uses this instead of input count to determine length of videos, since this increments in a constant real-time measurement. The second number indicates how many inputs have been given. Here is a sample image of what I'm talking about:[URL=http://imageshack.us/photo/my-images/824/mario64tas.jpg/][/URL] The FPS is 30.5 and the VI is 60.9 (about a 2:1 ratio, as expected). These numbers fluctuate by a few decimal places here and there but generally they are the 30/60. The VI will drastically change during load times; sometimes as much as 20-40 when the input counter only changes by 1. I suppose this is a GOOD thing because I noticed that the N64 console will actually stop polling when there are load screens. So what the emulator may be doing is skipping the time where the polled inputs are not even provided (it did this to me when TASing on Dolphin also). In fact, the controller line goes to zero volts when the load times occur, and picks back up when loading is done. Next thing to find out is if Mario64 or other games absolutely need to have inputs on both polls in order to function on console.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Derakon wrote:
I think the simplest explanation is also the most likely here: SM64 not only displays at 30FPS; it also only receives input at 30FPS. The extra polling the console does is ignored. Of course this should be tested, but it just strikes me as extremely unlikely that this hasn't already been considered.
I considered that it doesn't use the extra polls, but why would they design the console like this? (maybe some game support 60Hz and others support 30Hz) I may need to see if I can deliver inputs on the odd or even numbered V-syncs to determine which one, or both, is used. And can anyone explain why the Mario64TAS is ~18,000 frames long when only ~9000 frames of input are provided in the m64 file? If the console actually does have 60Hz polling, this will cause issues when having the m64 play on console, as not enough inputs will be provided. Also I will need to find out if lag causes not only the framerate to fall, but the polled inputs as well. If anyone cares, I can post my powerpoints on the forums. Then you all can see the readings and such I get from the controller/console/etc.
Post subject: Re: Nintendo 64 framerate
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
DarkKobold wrote:
Wow, this could be huge - this means that there technically could be more frame savings locked in Mario 64, if you had true 60 Hz polling, as opposed to the 30Hz polling that Mupen does.
Do you think the creators of Mupen would have made such a drastic mistake? It seems the case with my testing, but...really?!
DarkKobold wrote:
The problem with Mupen (and PCSX-rr, for that matter) is that they frame advance on the GPU update, as opposed to the V-sync. Now, for games like Grand Theft Auto 2, that is fine - it only polls once per 2 v-syncs. However, for games like Final Fantasy 8, and possibly Mario 64, this provides less possible input than the console is actually allowing for. I had fixed PCSX when we switched over to PSXjin, and now it accurately frame advances on the V-sync, even though the GPU only updates once per 2 frames. This, of course, is a pain in the ass to Motharayas, who is attempting to do GTA2, and has too many vsyncs.
So for some games V-sync matters. Although if we could get 2 inputs per frame on emulator it would be hard to see if those would actually count. Let's say I press START every other V-sync on console for SuperMario64. Since the game updates the screen every 30 frames (or less) we won't even see the pauses occur, or will we? If we had access to double pausing, we could do pauseBLJ twice as fast. So basically that means we can unpause AND pause every frame, instead of every other frame; somehow I doubt this is possible. This brings up the final question of: why is the Mario64TAS labeled as 18,000 frames long if it only has 9000 input frames?
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Torn338 wrote:
Any news soulcal?
No progress at all. I may finish chapter 1-3 in the next 2 weeks, but that is probably all of RE4 I will do until read-only mode improves with newer revisions.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Derakon wrote:
SM64 doesn't run at 60FPS (I think it's 30 or 20FPS instead), even if the console is polling for input that often. I'm not familiar with the systems involved, but it's not inconceivable that the movie format would include a specifier for target framerate, so that it wouldn't have to include input for frames the game doesn't care about. If so, you should be able to stretch the input file to cover more time.
Here is the m64 I converted to a txt: http://www.2shared.com/document/OHmMOXZz/Mario64inputsTAS.html It does have an indicator for FPS, but it has "FPS|i1=1" which I don't know what it means. You are probably right that the game doesn't run at 60fps, but rather 'true' 30fps, but remember it is probably interlaced video which is at 60fps (but contains essentially the same data as a 30fps non-interlaced video). And stretching the input file sounds sketchy...
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Beginning my lab project this semester, I have begun to find a few conflicts with the N64. So the N64 requests inputs at 60 times per second, which makes sense with the 360i (60fps interlaced) video the N64 produces. The SuperMario64 TAS is ~18,200 frames for the 5 minutes, which calculated out comes to 60fps. Using the TASeditV1 tool here http://www.bluetoaster.net/emu/tools.htm , I convert the m64 file into a txt file, so I can load it onto a microcontroller. However, the created txt file is only ~9100 lines of frame data. This 9100 is 1/2 of the 18,200 frames TASvideos says the video is. Is this a problem with the TASedit tool, or does the txt file contain all the frame data, but the N64 only updates once per 2 frames instead of once per frame? I confirmed that the actual console does poll inputs once per frame (at 60fps interlaced).
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Wak017 wrote:
And another thing to consider about the TASer of Dolphin, is that we don't have read-only mode. If we want to see if a part of a TAS synched, we need to start the TAS all over EVERYTIME.
The read-only mode does work...partially. Every loadstate has an associated dtm file with it, and only that state can continue playing the dtm from that loadstate location. Let's say I created a dtm and I play it back to check for desyncs. If I savestate1 during playback, read only mode will work when you shut down Dolphin, but only if you DON'T save the dtm. Once you save the dtm file (either by renaming or overwriting it), that specific savestate1 you created will not allow for read-only mode to work with the new dtm. However, this still requires that you watch an entire dtm file anyway, so this isn't too beneficial to TASers except for things like recording the avi or for things that don't require ridiculous amounts of luck manipulation. My guess is that the programmers made it so a dtm file has specific savestates associated with it. Although you may have two savestates that are identical (such as taken on the same frame number, but created in different ways) only one will allow for read-only mode. They probably did this to PREVENT desyncs, so you don't load a state that isn't even part of the TAS you are creating. If they could remove this link between dtms and savestates then it may work.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
moozooh wrote:
This is improper emulation, nothing else, and all improvements achieved through it are thus irrelevant and in fact counterproductive. We don't, and we shouldn't use emulation inaccuracies to our advantage because that just defeats the purpose.
I wouldn't say it is inaccurate emulation. We are loading from harddrive space instead of a disk. On the XBOX360 you can install games to your harddrive so you don't have to tolerate as long of load times. But I do agree that this gives TAS an unfair advantage. I would imagine emulating load times would be very difficult. However, if we were to use a disc instead of the ISO, then load times may be more accurate, since your computer would have to read the disc, but still this would be improved over the console if your disk drive was faster than the gamecube drive. TASvideos probably wouldn't accept from disk TASes anyway.[/quote]
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I noticed this also. Resident Evil 4 cuts off at least 1 second per load screen, and 1/2 a second every pause screen, and load times are included in the game timer. This should be obvious in Frigate since we can see the timer at the bottom of the screen. With the number of required doors for a TAS of Metroid Prime, I bet we can save at least 2 minutes just because of "better hardware." If the TASer is saving 7-8 seconds alone in the Frigate due to load times, imagine how much the rest of the run would benefit.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I use a program called "Pinnacle Studio 14." The file that Dolphin creates is 60fps (59.94), and I slow it down to 50% speed (which results in a 30fps video). Idk about the double frames thing, since the videos seems smooth to me. I can try virtualdub or something for encoding though. The reason I do this is because Dolphin outputs video files at double the speed they are suppose to be. And appreciate the complement on my progress. :)
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Good call! I wasn't planning on collecting money from the guy in the truck because by the time the money spawns you can walk past it for about 3 seconds, but now that you talk about the other enemies there (I think 4) I could manipulate some nice cash or grenades. I bet I can get 10,000 here! But before that, the issue I'm having with is Chief Mendez. I need to begin collecting incendiary grenades now or else I can't even kill him. I need either 5 incendiary grenades, or 4 incendiary and a RL. 4 incendiaries get rid of his first form, then a 5th can be used to blow up the gas tank and finish the fight, and saving 30,000ptas. The 4+RL strategy causes an extra merchant transaction, uses money, and an extra pause for equipping RL. I can get 1 incendiary from the church area, 1 in the swamp on a bench, and 1 in the Chief Mendez fight. I might be able to get the incendiary in the cabin fight, but that would mean going upstairs (which I can grab a hand grenade then too). I could get a 2nd grenade in the swamp cause I have to blow up a trip wire (which kills an enemy).
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Well everyone, my official lab project for Texas Tech this semester is to have a TAS run on the N64 console. Wish me luck. I'm currently reverse engineering the controller, but to show any sort of progress will take me a month or so.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I could get that 5000ptas from the first parasite, but it may be faster to just avoid him all together. The antique pipe is out of the way, at least a 15 second ordeal. And I am saying 7 seconds added only if I do unnecessary merchant interactions. The minimum # of transactions would be equivalent to how many RLs I need to buy for bosses. I may need to buy a RL before chief mendez if I don't collect incendiary grenades, so I could buy the TMP then. Let me do a money count here to see what I need: ring w/ pearls (10,000), amber ring (10,000), 15,000 from the first gigante, 30,000 from Chief Mendez. A RL for Mendez would cancel out (cost of RL=30,000) thus with remaining treasures I will have 35,000 right before the castle. The merchant after Leon fires the cannon in the castle can be used to buy a RL for the Garrador(the wolverine clone thing) and the TMPw/stock(14,000), thus I need 9,000 more before the merchant. I may need the semi-auto rifle (35,000) for the MachineGun Zealot to avoid a chase scene, but since I got 15,000 from the Garrador, I need 20,000. The only other place for disc 1 I can think of to buy a RL is for Salazar's right hand man, which is quite a ways into the game...btw, does Dolphin support the ability to continue TASing from switching disks? And anything I'm missing in the money route?
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Vykan12 wrote:
Why not just kill 2 enemies for 9900 drops each? You have the pistol equipped now, the time lost is a headshot + waiting for the pick-up.
The problem with that is the probability of that happening. I have seen 3 9900ptas drops since I started playing RE4 (two of them from TASing). The odds of me getting not 1, but 2 9900 drops in the same area is near zero. And even if I could manipulate it, the time spend manipulating drops might be a few seconds. I want to prevent unnecessary merchant transactions, but a 2nd transaction will only add 7 seconds for a run at least 1.5 hours long. Plus if I buy the TMP in the castle, I can buy a 2nd Rocket Launcher then also.
Vykan12 wrote:
Remember there's that forced cabin fight, which is a potential goldmine for money in manipulated drops.
Idk how I will even handle the cabin fight...the normal way is to let enemies cluster together and throw a grenade to kill many at a time. The fight ends when a certain number are killed. I could just crit headshot every enemy, thus avoiding time to collect grenades, but with me killing enemies outside the cabin I won't be able to pick up items. For money though, I currently have 300ptas. I will get the ring with pearls (10,000), amber ring (10,000), 15,000 from the first gigante, and 30,000 from Chief Mendez. With current Dolphin iterations, I have to watch about 30 minutes of video to continue TASing. This is to check for desyncs (which I have had only 1). I can load state and continue recording but it won't continue playing a dtm file. This is fine for areas where I don't have to manipulate enemy drops, but later on this will be a big issue. I don't see me going into chapter 2 until read-only mode for Dolphin works better. Also, surprised no one has criticized me for using the JAP version.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I know, double post. Whoops. New WIP. I am at a standstill here. I need a 19,800 pesetas drop for the optimal route, so I can buy a rocket launcher and the TMP (with the stock) right now. This will save a merchant transaction, and maybe cause fewer money pickups in the future. Since I have never ever EVER even seen that drop, I have no way to know where or how to get one. I was lucky enough to get a 9,900 drop early on. I could possibly wait until the castle (when the TMP is needed) and buy it then. Link to video
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
AjAX wrote:
EDIT: Why did you capture the TAS at like 20 fps? (desync?)
My video should be 30fps. Dolphin records at 60fps for some reason, when RE4 is only 30fps. I use a video editor to slow down the video from 60 to 30, halving the speed, but keeping all visible frames intact.
Tseralith wrote:
But I wonder, is it slower to go through the gap in the wall instead of the door after you exit the house?
I don't know which gap you are referring to.
Tseralith wrote:
Also is there nothing useful to be found in the two barrels right before the second emblem?
I'm sure I could manipulate something useful there, but it would be a waste of time. The optimal route would be to pretty much skip all enemies and pickups.
Tseralith wrote:
And over in 1-3 in the cave, you can shoot the lantern in order to shoot the treasures in the ceiling. Is it possible to use a grenade (which you probably can get from the dynamite enemies) to blow them down instead? You'll earn a nice 14000 ptas from the Headdress and two spinels in there alone, not counting the crate in the same area as well.
The left-side spinel is a 'little' out of the way. Also the treasures can't be removed from the ceiling unless the lantern is destroyed first, thus with the method you proposed I would have to use two hand grenades, to destroy the lantern then remove the treasures. I plan on equipping handgun there to get the headdress and 1 spinel. In the church area are two bird nest to shoot down (since I already have handgun equipped) to get a hand grenade and incendiary grenade. I will keep handgun equipped to navigate the swamp area (after the boulder) cause I need to shoot a trip wire. There is also a tree right before Del Lago to collect a 10,000ptas treasure.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I need 3-4 rocket launchers, the TMP, and the Striker Shotgun. I need somewhere in the neighborhood of 200,000ptas. NEW WIP! :D Link to video Criticism is appreciated...I'm sure I missed something.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Reaching those barrels would waste so much time. I would have to watch the merchant cutscene and his inventory, it would take at least 10 seconds to get to the barrels, plus another 10 seconds back. The barrel at the front of the house always has a red herb (I think). I talked to another speedrunner and he said I could manipulate the enemies to blow themselves up with their own dynamite; that is probably the most beneficial scenario. I only need another 2-3 thousand ptas, which two enemies will easily drop that amount.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
That function isn't yet in Dolphin. This game is killing me to TAS. Not just the drop manipulation, but that I have to watch my entire dtm file every time I want to add more to the TAS. When I try the read-only mode and load a state, it won't continue playing the game from where that load-state was. If I turn read-only mode off, the recording will continue from a load-state, but manipulating enemy drops like this is bothersome. When I create a dtm where the enemy drops a certain item, I play back the dtm and improve my movements but still get that item drop. Without the movie to continue playing in read-only mode, I have to save-state within 4 frames of the item being dropped (which is not efficient). Surprisingly I have had zero desyncs since starting this game, but the fact that I can't load-state and continue is bothersome. Also I am at a point where I could get hit by a Ganado in the village with no time wasted. I've heard that lower health means lower difficulty and greater chance of item drops. This seems to be the case for me, as getting hit causes 1 enemy I just killed 1 second prior to drop a grenade or 3300ptas. This could be a pure coincidence though... Also, a newer new WIP. This gets me 9000 more ptas and I have no item equipped for faster running speed. The most optimal situation would save about 6 seconds for the run; the first two enemies drop a grenade and 9900ptas, throw the grenade to the back group having the front enemy drop 9900(collected after cutscene), then immediately throw the last grenade to the last group and collect another 9900 and another grenade. I don't see this happening ever, so I'm continuing. Link to video
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
Oh, that speedrun I am slower than is one where the player starts with all weapons and max health. He also has a gun that causes a glitch that increases running speed. The only reason I am comparing non-TAS to TAS is to see how much difference load times cause. Overall load times will save about 4 minutes for the entire run; about 8-10 seconds per sub-chapter. I am continuing with the run, but I'm redoing the village area. Hopefully 1-2 can be TASed in a week or so. EDIT: While re-TASing the village area, I can manipulate the first two enemies to drop 9900ptas, but I cannot get them to drop them simultaneously. If I hold Up+B only the woman drops 9900; if I let go of B for 2 frames then hold Up+B the first guy drops 9900ptas. I am not sure if the drops are connected (as in only 1 of them will drop 9900) but I bet they are. It seems like my delay of running switched the drop from one enemy to the other. Here are my dtm files if you want to see this for yourself. I am using the Japanese version. http://www.2shared.com/file/bvl-fgkH/villagelady9900ptas.html http://www.2shared.com/file/Pddo_hU_/villageguy9900ptas.html
Post subject: Re: Console vs Dolphin Load Time Differences
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
arukAdo wrote:
Like you already mentioned this game have lots of loading, so you are suggesting to make the movie even longer just to win seconds on the end screen?
Increasing load times won't happen, so there's no reason to discuss that.
arukAdo wrote:
Ultimatly this isnt SDA so dont take game time objectives arbitrarly especially since this is something the site usually against (our movies are measured real time), if the runs arent comparable then it doesnt matter your time is higher than another run, given its still superplay, if your run doesnt do anything spectacular and is basicly just the same thing than a human would do, maybe you have a problem with the game choice.
Considering load times are not part of the actual gameplay or "doing anything spectacular" most people won't look for that. Since this is a TAS I'm creating I assure that the gameplay will not be "the same thing that a human would do." I consider this loading issue a flaw in the emulation rather than an improvement. Due to improved performance of the SNES emulator over the console, some tricks can't be pulled off for TAS, like the glitch in Crystal Snail's Stage from MegamanX2 caused by lag. I do see your valid points arukAdo, but I certainly won't waste time to add to the game clock (that's just silly!).
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
But with emulator, load times are always constants, or else playback files wouldn't sync. If you play Super Smash Brawl on Dolphin the first 15 second load screen doesn't exist like it does on the actual Wii. I don't care how long the load times are really varying from console to console, but rather Console to Dolphin. Besides if it were to vary on different consoles it wouldn't be that much.
Post subject: Console vs Dolphin Load Time Differences
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I was able to save at the end of ch1-1 and got a time of 3:32 with my current WIP, which is only 2 seconds slower than the SDA NewGame+ record. The NG+ also used Ditman to save about 10 seconds ahead of me in the first area alone. With that said... Watching the two segments side-by-side, my TAS was 3 seconds real time slower than the console (close enough, 3:30 compared to 3:32). Removing load times and comparing gameplay only, the console run is about 9 seconds ahead. So, my conclusion is that the game timer does indeed include load times. It seems each load screen instance saves about 1 second on Dolphin. Comparing my run to another New Game run in 3:58 for ch1-1, I am about 26 seconds faster in real time and game time. Console also uses a trick that, during loading cutscenes, you can pause the game with START and the game timer stops but still loads the cutscene. This saves the console about 5 seconds game time. Comparing both of these runs, it seems the loading time range is somewhere around 5-8 seconds for ch1-1. Here is that New Game run: http://www.youtube.com/watch?v=1SXMoIeTlTA So why am I so focused on the game timer when TASvideos uses frame counts? Well some TAS runs go for game time (several Metroid games do). Also, if each load screen saves 20-30 frames regardless, this will result in a run several minutes faster than it should be. Anyone who has played RE4 knows that there is a metric shit-ton of load screens. Zanoab is right in his assumption that an ISO would load faster than a disc. Sadly this is the obvious truth. For games like the other Wii submission MegaMan10, the whole game can probably fit into the RAM of the system, so load times don't exist.
Experienced Forum User, Published Author, Active player (333)
Joined: 1/19/2010
Posts: 383
Location: Texas
I will try and do an official test with Dolphin to see if load times are incorporated into the game timer. If the game timer is independent of the load screens, I may continue. With a game like RE4 though, I bet more people would be interested in the final game timer more than a frame count. If memory serves me correct though, this is why no speedruns are submitted for the PS2 version; load times are too long (and also the lack of a few glitches). Load times in older Dolphin revisions caused desyncs because older revisions would load faster(yes, faster!) by about 15 frames for the first cutscene trigger. So I may be able to sync my run onto older revisions, but I bet with the frame numbers being off, the enemies will have different item drops.
1 2
13 14 15 16