1 2 3 4
7 8
Joined: 2/18/2010
Posts: 156
Location: home
Well, that's unfortunate if it does need to be redone. On the other hand, it'd be a good opportunity to go over some of the earlier levels, and maybe even for me to join back in on working on TASing it. I also have a distinct feeling that I may have jumped the gun on taking as much damage as possible before the end of the level. I haven't actually made a test run to check, but I would imagine that keeping the purple eyefly from the first level would benefit the other levels afterwards since jumping is probably faster than the game's vertical ejection speed. Chances are that would probably outweigh any time that would be saved by having only 1 heart left or dieing at the end to skip the score tally.
My user name is rather long, feel free to call me by htwt or tape.
Joined: 1/17/2008
Posts: 133
I would recommend testing that, and anything else you are unsure about with regards to the route or strategies, for sure, before redoing. In hourglass, going back is just so painful. It shouldn't take long to test several of these things since you can essentially play the game in slowdown without rerecording much at all up to the part you need to perform an experiment for comparison. I'd do the experiments in 50fps. I would also try memory watching the game, on the off chance that the relevant variables are easy enough to locate that they can be of use (I know this pretty much sucks in games that have ridiculously dynamic addressing). If you can get in contact with the programmer of the game through DJ Yoshiman, he might even be able to help with finding memory addresses by providing you with numbers you can search for, such as the speed max value.
Joined: 2/18/2010
Posts: 156
Location: home
Funny you should mention contacting the programmer through DJ Yoshiman, I actually PM'd him and Thunder Dragon (Psycho Waluigi's programmer) some time last week on http://www.mfgg.net/ to see if they would be able to set us up with some level maps for route making purposes (and so that we can make sure we don't get stuck in the ceiling as often). Unfortunately, Thunder Dragon told me that there's no convenient way of generating level maps without going all over every level and print screening. He did seem thrilled that we like the game enough to do a speedrun of it though, so I think he'd be willing to point us in the right direction(s) for that. Edit: I forgot to mention, I did some testing after I posted last night while recording at 50 FPS, entering the wall with L+R and swimming above water still work, and I would imagine that above water movement underwater still works too (haven't gotten to test that yet), so the L+R glitches are not an artifact of 60 FPS recording.
My user name is rather long, feel free to call me by htwt or tape.
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
heldtogetherwithtape wrote:
... so the L+R glitches are not an artifact of 60 FPS recording.
thats at least 1 thing we don't have to redo
DRybes wrote:
I would also try memory watching the game, on the off chance that the relevant variables are easy enough to locate that they can be of use
Small problem. mem wach does not work in hourglass r-81 or erlear
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
sack_bot wrote:
DRybes wrote:
I would also try memory watching the game, on the off chance that the relevant variables are easy enough to locate that they can be of use
Small problem. mem wach does not work in hourglass r-81 or erlear
You're restarting the run anyway, right? Can't you just restart on a revision that supports memory watch? Otherwise, you can probably use MHS or Cheat Engine for memory watch. By the way, It's great to see you had made such progress on the run (world 8!) and even managed to contact the game's programmer (which would be really hard for most of the games on this site)!
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
CoolKirby wrote:
sack_bot wrote:
DRybes wrote:
I would also try memory watching the game, on the off chance that the relevant variables are easy enough to locate that they can be of use
Small problem. mem wach does not work in hourglass r-81 or erlear
You're restarting the run anyway, right? Can't you just restart on a revision that supports memory watch?
there are none
CoolKirby wrote:
Otherwise, you can probably use MHS or Cheat Engine for memory watch.
How?
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Joined: 2/18/2010
Posts: 156
Location: home
CoolKirby wrote:
sack_bot wrote:
DRybes wrote:
I would also try memory watching the game, on the off chance that the relevant variables are easy enough to locate that they can be of use
Small problem. mem wach does not work in hourglass r-81 or erlear
You're restarting the run anyway, right? Can't you just restart on a revision that supports memory watch? Otherwise, you can probably use MHS or Cheat Engine for memory watch. By the way, It's great to see you had made such progress on the run (world 8!) and even managed to contact the game's programmer (which would be really hard for most of the games on this site)!
If RAM Watch/Search doesn't work in r81, then we probably will have to use MHS or Cheat Engine, r81 is the most recent version. Edit1: On the subject of memory addresses though, I went ahead and PM'd Thunder Dragon about some information on the top speed when walking/jumping in hopes we can use that to find the addresses for them. Edit2: I completed the tutorial that came with Cheat Engine, so with any luck I can get to finding addresses as soon as TD PM's me back.
My user name is rather long, feel free to call me by htwt or tape.
Joined: 1/17/2008
Posts: 133
I had cheat engine in mind when I mentioned this. I've used it a fair amount (lol, hacking facebook games and the sims for my gf). I've never played this game but I may take a look at in in CE later and try to help.
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
sack_bot wrote:
there are none
Oh. When you said "r81 or earlier", I thought you meant there was at least an r82 that supported memory watch.
sack_bot wrote:
CoolKirby wrote:
Otherwise, you can probably use MHS or Cheat Engine for memory watch.
How?
They allow you to search for memory addresses in the entire program of Hourglass so you can find them in the game. Heldtogetherwithtape knows how to use Cheat Engine though, so he can search for them for you.
Joined: 2/18/2010
Posts: 156
Location: home
I got a response from Thunder Dragon with some approximate values.
Walking-- On land: 15 for right, -15 for left. In water: 10 for right, -10 for left. Arrow gates and bouncy things: 20 for right, -20 for left. Jumping-- 35 on land. 40 in water without eyefly. 55 in water with eyefly. 40 or 50 when bouncing on things, sometimes 30 I guess. Use negatives for bouncing downwards. Apologies if these are off somewhat, I'm just going by my basic walk and run counters. Depending on the situation, they might be modified by like 3 or 4.
I probably will need some assistance with finding addresses since I literally downloaded, installed, and mostly learned how to use Cheat Engine today.
My user name is rather long, feel free to call me by htwt or tape.
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
heldtogetherwithtape wrote:
I probably will need some assistance with finding addresses since I literally downloaded, installed, and mostly learned how to use Cheat Engine today.
Jlun2 is good with Cheat Engine. Try asking him for help.
Joined: 1/17/2008
Posts: 133
Actually, you probably don't need cheat engine. I just got good results with this game using the RAM search inside hourglass. I opened RAM search, stood still in a level, searched Equal to Specific Value 0. Then I started walking right with frame advance and once i was moving searched for a greater value. i stopped again and looked for a zero. Eventually I found the X speed. It's one signed byte. I then added it to the watch. It takes a value of 0 if not moving left or right and up to -3 or 3 walking full speed in either direction. Once you find whatever byte that is, it should stay constant for the whole game. It'll be in a different place whenever you start a new movie file, but not when working off the same initial movie, I think. I checked and it stayed between levels. At whatever byte that is, the next byte (signed) will give you last direction you moved at least one pixel in (0 for right, -1 for left). At least that's my theory for taht byte. The next signed byte after THAT is your Y speed, positive when falling. The next signed byte after that is the corresponding Y last-direction-moved in. Use windows calculator in programmer mode, enter the address you found for X speed in hex, and subtract 2DE. Watch the address it gives you (note... as a TWO bit signed) and tell me if that doesn't appear to be the Screen Level X (it increments for every pixel the screen moves right and vice versa). If it's always at that distance relative to the speed, then the value is found for you already now. If not, you'll have to search... trial and error and the process of searching and eliminating. I found it by starting a fresh search, making the screen move right some (then standing still), then chiecking for a number that was different. then i jumped in the air and mid jump i checked for a number out of my subset that was now the same (X screen isnt moving). then i walked left a bit, stopped, and checked for a different number, and by then (and checking how they changed in real time when i pressed jump) i was down to few enough options that I only had to choose the one that made the most sense. And sure enough, the 2-byte value located 2 bytes further up in memory from the Screen Level X seems to be the Screen Level Y. When puzzled or cornered, check your work and consider trying 1 vs 2 vs 4 byte values. You can just pop those all on your RAM watch and not bother with cheat engine, if it remains this easy. It's like a nice stripped down version of CE anyway. Somehow I wasn't aware that hourglass had this in it, lol :( Among other things I discovered that when falling your speed Y can exceed 3, so you don't fall at a flat rate equal to your jump, iut's possible to go faster, it's just that this game doesn't seem to use subpixels or a speed sub (havent found one yet), so the acceleration and deceleration physics are somewhat crude in behavior maybe. Can you tell me what settings you're using on hourglass, before I mess around any further? I did my testing movie with all standard options upon loading hourglass except 50fps, Message Sync Mode -> Unchecked. But my .wtf file is desyncing within the first 32-64 frames.
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
did you remember to delete the save file in the movie or delete walusave2 and walusave1 before playing it back?
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Joined: 2/18/2010
Posts: 156
Location: home
Here are my settings Under Graphics: Allow Hardware Acceleration is checked Let Game Choose is checked under Surface Memory Under Sound: Use Software Mixing is checked All of the formats are set as their defaults Under Runtime: Use System Locale is checked under App Locale Wrap is checked under Multithreading Mode* Synchronous is checked under Multimedia Timer Mode Semi-Synchronous is checked under Message Sync Mode Synchronous Skip is checked under Wait Sync Mode Load All Symbols and dbghelp.dll, Check CRCs on movie playback, Store Video Memory in Savestates, and Store Guarded Memory Pages in Savestates are checked under Performance Write to Log is checked under Debug Logging *I usually change the Multithreading settings from the main hourglass window, not from under the runtime menu. Also, I usually switch to Disable for multithreading after hourglass crashes usually, however I don't get sound afterwards once I've switched. And as Sack_bot already said, you must delete walusave1 and walusave2 before you play back the movie, since iirc the game generates the saves as soon as you enter Crash Course Kingdom and hourglass doesn't delete game saves on movie playback. Edit: And 50FPS as we've recently established. P.S. Good to know that the RAM Watch is working and hopefully you're right about the addresses staying the same between movie files.
My user name is rather long, feel free to call me by htwt or tape.
Joined: 1/17/2008
Posts: 133
heldtogetherwithtape wrote:
Here are my settings All default Edit: And 50FPS as we've recently established.
;) I cannot figure out the reason I couldn't get the game to work yesterday without using different settings than you specified. The game works fine for me today after a reboot. I found no save files created in either my hourglass folder or the folder i put the game in. A movie I made today while memory looking also desynced when i tried to load a savestate, but I had the Frame Advance Skips Lag thing enabled. No problems since turning it off. Make sure you are unchecking Frame advance skips lag frames! After further use of RAM search in hourglass I realized some values aren't there for you. Sorry. Cheat Engine is required. The "speed" values I found yesterday are actually referring to how many pixels per frame the screen is moving. I haven't found the character's speed assuming the screen isn't moving yet. I did find X/Y on screen and Screen on level X/Y though. I made a cheat engine table, please tell me if it works for you. Just have hourglass running, the game running inside hourglass, a movie going, then get into a level... start CE, click the button in the top left and select psychowaluigi_demo_v1_2.exe from the process list, then load up this list. Assuming I picked good pointers, my pointer values for X/Y on screen will work for you. The Screen's Level X/Y are static offsets and should always work. edit: update: here's a better table. http://www.mediafire.com/download.php?2a5tocu76t4pc6v if you have aim or skype feel free to message me about this or with any q's. same name as here.
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
DRybes wrote:
psychowaluigi_demo_v1_2.exe
You're using the demo version for the TAS? Not the full version?
Post subject: It pays to look around
Joined: 2/18/2010
Posts: 156
Location: home
Not really useful, but I think this should be a reminder that you never know what you'll find in a game where you can enter the walls. I found this NPC hidden behind the back wall of the shop while I was goofing around with psycho waluigi in hourglass. It's obviously some sort of easter egg, but unless you L+R into the wall to get on the ceiling, there's no way of getting behind there that I can tell. While I was playing around with hourglass, I decided to try out the demo 2 version, saw that soap sud kingdom was playable, and attempted to see if exiting one of the clouds of suds through a wall would keep the suds physics like how swim above water and jump under water do. Unfortunately, it doesn't.
My user name is rather long, feel free to call me by htwt or tape.
Skilled player (1708)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
DRybes wrote:
Actually, you probably don't need cheat engine. I just got good results with this game using the RAM search inside hourglass.
Lucky. Most games I ran on Hourglass had addresses that CHANGED location every tim I ran it. So I used the "pointer scan" option in Cheat Engine to relocate it every time.
Joined: 1/17/2008
Posts: 133
CoolKirby wrote:
DRybes wrote:
psychowaluigi_demo_v1_2.exe
You're using the demo version for the TAS? Not the full version?
I have no idea what these guys are using. I'm not working on this movie and I haven't seen any of their WIP .wtf files. I wanted to help them with cheat engine, which I have some experience with, so I just followed the link in the first post of this thread, and it took me to a demo of the game. I assumed that was the only version of the game. Since it was the only link I saw in the first several posts. lol. It's been some time since I read the thread initially, and this game is not one I am familiar with. I suppose if they're using a different version of the game than I am, my tables won't be useful at all. Whoops. Lemme know guys and maybe I can make you a CE table that might actually have useful values
jlun2 wrote:
Lucky. Most games I ran on Hourglass had addresses that CHANGED location every tim I ran it. So I used the "pointer scan" option in Cheat Engine to relocate it every time.
I was wrong about the RAM search thing. a very select few numbers with potential use happened to be at static places in the demo i was looking through. I had to switch to cheat engine to find any good ones. By using pointer search I was able to find what seems to be some pretty reliable pointers in this particular game. I happened to pick a strong value as the reference and even after multiple restarts, almost every pointer i found still pointed to the right value. Also in this game all the important information is in a close-together bundle in memory. So off that one reliable pointer I could access several values. If the pointer should stop working then I have to do what you did... re open my scan table, manually locate the value again, and do a search on my table to remove pointers not pointing to the right address... update the values with one that still works, and so forth. Believe me though I feel your pain. Many games are not this friendly, including WaDF, the one I actually want to work on myself. I'll be forced to do exactly what you wrote unless I can find some reliable pointer chain with a static at the start. I've been running a search now all night, many nodes deep, for a reliable pointer for that game, lol, so we'll see. I feel like if the pointer is too many references away then it becomes a badly time-scaled operation to try finding it, and it's better to find a pointer to a more pointer-trail-friendly address that isn't the one you need but is always at a fixed relative position to the ones you do. Or to try to read the assembly or inspect what is reading/writing values and try to trace back a few possible pointers yourself before doing an exhaustive search
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
the full version
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
DRybes wrote:
CoolKirby wrote:
DRybes wrote:
psychowaluigi_demo_v1_2.exe
You're using the demo version for the TAS? Not the full version?
I have no idea what these guys are using. I'm not working on this movie and I haven't seen any of their WIP .wtf files.
Oh, I just figured you were using the same version as them since you were helping them find memory addresses. Maybe someone could replace the link in the OP with one that leads to the download for the full version.
sack_bot wrote:
the full version
Good to know.
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
CoolKirby wrote:
DRybes wrote:
CoolKirby wrote:
DRybes wrote:
psychowaluigi_demo_v1_2.exe
You're using the demo version for the TAS? Not the full version?
I have no idea what these guys are using. I'm not working on this movie and I haven't seen any of their WIP .wtf files.
Oh, I just figured you were using the same version as them since you were helping them find memory addresses. Maybe someone could replace the link in the OP with one that leads to the download for the full version.
the ram values work BTW
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Post subject: level 1 50 fps!
sack_bot
He/Him
Player (111)
Joined: 11/27/2011
Posts: 394
Location: Massachusetts
Message me here for my discord. Current Project: Psycho Waluigi Project on wait list: None?
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
Looks good to me! I'm glad you decided to take damage too. Good luck on the rest of the run.
Player (136)
Joined: 9/18/2007
Posts: 389
At about 045 you're running straight into a wall, and after glitching through it, you run straight into the pipe and stop your forward movement for a moment. That's quite an interesting game, go on with it.
1 2 3 4
7 8