Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
In Hourglass, open RAM Search (Tools -> RAM Search). Search. Under "Compare To", click "Previous Value". In the game, go right. Search for increased value. Go left. Search for decreased value. Stand still. Search for equal value. Go right. Search for increased value. Go left. Search for decreased value. At this point, you should have only one or a few results, which will change as you move left and right. These are values affected by your X position. If you plan on doing lots of Windows TASing and want to know values often, it would be a good idea to get CheatEngine and run its tutorial program, which is a program which teaches you how to find (and edit, but just ignore that) values in Windows applications, including learning about heap addressing.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
Note that Hourglass's RAM Search is currently only sufficient for very few games. If you can't find anything with it, you might try another program such as MHS. I would guess that addresses of integers found in MHS could be entered into the RAM Watch window once they are found.
Former player
Joined: 12/17/2005
Posts: 77
Location: Bjurholm, Sweden
nitsuja wrote:
Watching the X velocity value, it seems that the character has a continuously oscillating speed when on the ground that locks to something in the air (like in SNES Mario games, I think), which can probably be abused by always jumping at good speed values to go slightly faster than normal.
I noticed that oscillating speed too but also if you jump while still accelerating on the ground, you will travel in the air with a slightly higher speed. Also, when you land again, it will oscillate at a slightly higher speed as well. Will probably make it a bit harder to optimize...
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
Woah. If I'm reading what you just said right, it sounds like if you repeat that process perfectly over some distance, you could accelerate ever-so-slightly.
Former player
Joined: 12/17/2005
Posts: 77
Location: Bjurholm, Sweden
Lex wrote:
Woah. If I'm reading what you just said right, it sounds like if you repeat that process perfectly over some distance, you could accelerate ever-so-slightly.
I've been thinking if it would be possible but it would be very small increase every time. But what I mean is that if you jump while accelerating (not while oscillating at full speed), you'll get some extra speed, I doubt you can continue to get more speed increases. I'll try some more later when I have time.
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
Arne_the_great wrote:
Lex wrote:
Woah. If I'm reading what you just said right, it sounds like if you repeat that process perfectly over some distance, you could accelerate ever-so-slightly.
I've been thinking if it would be possible but it would be very small increase every time. But what I mean is that if you jump while accelerating (not while oscillating at full speed), you'll get some extra speed, I doubt you can continue to get more speed increases. I'll try some more later when I have time.
Oh, and it should still cap out at max speed anyway. I see.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
By the way, I don't know if this will work for everyone, but here's a RAM Watch file that might help for a Cave Story TAS:
I have couple more values in mine, which are helpful for optimizing text-boxes.
0
12
00000	0049E66C	d	s	0	X speed
00001	0049E670	d	s	0	Y speed
00002	0049E654	d	u	0	X pos
00003	0049E658	d	s	0	Y pos
00004	0049E664	d	s	0	X cam offset
00005	0049E660	w	s	0	Y cam offset
00006	0049E6B0	w	h	0	flags
00007	0049E6CC	w	s	0	health
00008	0049E1EC	d	u	0	framecounter
00009	004A5ADC	b	s	0	Event Status
0000A	004A5B00	d	s	0	Wait length
0000B	004A5AFC	d	s	0	Waited Frames
A small explanation of those last 3: Event status is a flag that happens during script events that says what kind of action is currently taking place.
  1. means text is being displayed
  2. means it is waiting for input
  3. means text is scrolling
  4. means delaying for a pre-set number of frames, during which,
    • "Wait length" is set to the number of frames to delay for
    • "Waited frames" counts up from 0 until it reaches wait length
  5. means the screen is fading in or out
  6. means it is waiting for the user to reply to a Yes/No popup, and
  7. means it is waiting for the player to fall to the ground.
nitsuja wrote:
Watching the X velocity value, it seems that the character has a continuously oscillating speed when on the ground that locks to something in the air (like in SNES Mario games, I think), which can probably be abused by always jumping at good speed values to go slightly faster than normal.
I can verify that this works from old and lost test files made back in the early days of wintaser testing. I cannot currently remember the optimal jumping pattern that I found, though, and I can recall that water was simply horrible to optimize this way.
How fleeting are all human passions compared with the massive continuity of ducks.
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
I'm not sure I have the wherewithal to complete the project on my own, but I've produced a WIP that get to the collection of the polar star with something approaching optimization. If anybody else is working on cave story, perhaps we could compare notes.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 1/3/2006
Posts: 334
I've found this test run on nico video. Its scary how many results you already get if you just search for 'hourglass'.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
upthorn wrote:
I'm not sure I have the wherewithal to complete the project on my own, but I've produced a WIP that get to the collection of the polar star with something approaching optimization.
Here's 11 frames faster to the polar star chest. I'm not sure what the conditions are for reaching 845 speed or whether it's possible to exceed that. (EDIT: this is for the same version of the game Upthorn's movie was for: Doukutsu 1.0.0.6 with English translation 1.03)
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Phallosvogel wrote:
I've found this test run on nico video. Its scary how many results you already get if you just search for 'hourglass'.
is there no acceleration in this game? the guy does everything but optimize it
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
ALAKTORN wrote:
Phallosvogel wrote:
I've found this test run on nico video. Its scary how many results you already get if you just search for 'hourglass'.
is there no acceleration in this game? the guy does everything but optimize it
There is quite noticeable acceleration (although of course a TAS will try to make it look like there isn't, by staying at a high speed as much as possible), but yes, he doesn't seem to be optimizing the movement very well. One thing to note is that hitting a wall doesn't completely reduce your speed value to zero (I think this is one of the tricks this game does to make the controls feel more responsive), but it still reduces it to roughly half of your regular movement speed, so hitting a wall only slows you down if you would have exceeded that speed before clearing it.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
Phallosvogel wrote:
I've found this test run on nico video. Its scary how many results you already get if you just search for 'hourglass'.
It looks like he finished this test run, and made a post about it here complete with encodes on Youtube and a link to the movie file, which synced for me with Hourglass r35 and untranslated Doukutsu 1.0.0.6. I see lots of suboptimal movement here at the very least, but I guess that makes sense considering the low rerecord count (6673 rerecords for 54 minutes) and the likelihood that he wasn't watching the speed values in memory either.
Rolanmen1
He/Him
Experienced player (765)
Joined: 2/20/2009
Posts: 569
Location: Dominican Republic
I just did test just to see how it works, and i must admit i love Hourglass. As for the video, i think i improved some little stuff compared to the dude who did the test (not couting that he got the HP Up). As for the end, i think it would save some frames to pick Curly a little bit before.
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
Rolanmen1, at the end of your test, I found myself extremely excited to see the rest of the Hell run. :D I've seen tons of unassisted Hell runs before. Edit: I watched the entire test run (by the amazing Japanese TASer) linked above. There were tons of clever tricks used, but the thing that's most interesting to me is that he didn't get the missile launcher at all. It definitely speeds up the Ballos fight, and probably speeds up other fights. I wonder if the tradeoff is worth it. Anyway, it's really exciting to see that a Cave Story 100% run is beatable in under 1 hour.
Rolanmen1
He/Him
Experienced player (765)
Joined: 2/20/2009
Posts: 569
Location: Dominican Republic
nitsuja wrote:
Phallosvogel wrote:
I've found this test run on nico video. Its scary how many results you already get if you just search for 'hourglass'.
It looks like he finished this test run, and made a post about it here complete with encodes on Youtube and a link to the movie file, which synced for me with Hourglass r35 and untranslated Doukutsu 1.0.0.6. I see lots of suboptimal movement here at the very least, but I guess that makes sense considering the low rerecord count (6673 rerecords for 54 minutes) and the likelihood that he wasn't watching the speed values in memory either.
I started to work on this, but i can't make his movie to sync, i think i have the lastest version of Hourglass and unpatched 1.0.0.6 version of Duokotsu.
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
I believe you have to set your AppLocale to Japanese (can be done in Hourglass as of ~r35) after installing the East Asian Language Pack with Windows update.
Rolanmen1
He/Him
Experienced player (765)
Joined: 2/20/2009
Posts: 569
Location: Dominican Republic
Lex wrote:
I believe you have to set your AppLocale to Japanese (can be done in Hourglass as of ~r35) after installing the East Asian Language Pack with Windows update.
I did this.
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
What I did was downloaded http://homepage2.nifty.com/rochet/binaries/dou_1006.zip and extracted it to "games\cave story\clean" since I know I have saved config data that could cause desynchronization. Doing the same might work for you.
Skilled player (1328)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
Seems like bad game choice.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Sonikkustar wrote:
Seems like bad game choice.
Cave Story? No way. It has acceleration, booster usage, damage boosting, interesting TAS-only glitches and tricks and nostalgia.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Former player
Joined: 3/31/2005
Posts: 192
Location: Argentina
Sonikkustar wrote:
Seems like bad game choice.
What? No, far from it! Did you never hear about this game? It's one of the highest rated indie games ever. It got so popular it was recently ported to WiiWare and DSiWare, with a 3DS remake on the way. And it got this popular for good reason, as this is a very well crafted action game. It might look simplistic on the outside, yes, but looks can be deceiving (in this case, they most definitely are!).
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
I'm sure Sonikkustar knows the game. He was clearly just trolling/joking.
Skilled player (1417)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
I'm kinda inclined to agree with him. Good game and all, but like IWBTG it seems rather plodding as a TAS. Anyway, back on topic...
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
Ferret Warlord wrote:
I'm kinda inclined to agree with him. Good game and all, but like IWBTG it seems rather plodding as a TAS.
I don't know if you're taking into account that the character can get upgrades throughout the game (unlike IWBTG). Like Metroid games, there's a speed booster item partway through that makes the character much faster, and before that point, like Mario games there are TAS-only tricks to go faster by taking advantage of oscillating speed values. And there are plenty of boss fights and opportunity for killing lots of enemies without slowing down, and overall good audio and visual presentation, so... it seems like a better game choice than many of the games with published movies on the site, actually. Sure, it's missing heavy glitching opportunities (as far as I know), but we don't need that in everything.