1 2 3 4 5
12 13
Skilled player (1827)
Joined: 4/20/2005
Posts: 2161
Location: Norrköping, Sweden
Here are the ones I have, perhaps Scumtron can add more or correct mine:
00A3 Screen|X|pixel
00A2 Screen|X|subp
0086 X|pixel|pos
0085 X|subp.|pos
0087 X|sub|on|scr
0086 X|pix|on|scr
8A Y|pixel|pos
89 Y|pix|speed
Joined: 7/10/2011
Posts: 2
0086 is placed twice
Skilled player (1827)
Joined: 4/20/2005
Posts: 2161
Location: Norrköping, Sweden
chameleon0817 wrote:
0086 is placed twice
Oops. To clear any confusion, this RAM address is your realtive X pixel position on the screen, so if the screen is scrolling but you're on the same position on the screen, this RAM address will not change.
Player (154)
Joined: 5/1/2006
Posts: 150
Here's a c/p of my fceux memory watch file:
47D ?
47E ?
47F ?
C8 ?
C9 ?
CA ?
62 Timer
89 Y_speed
4C8 hourglass/fire
85 X_sub
86 X_pos
XA2 X_pos[scroll]
40A EnemyAtk6
40B EnemyAtk5
40C EnemyAtk4
40D EnemyAtk3
40E EnemyAtk2
40F EnemyAtk1
63 Timer
95 invulnerability
496 EnemyA
497 EnemyB
87 Y_sub
8A Y_pos
47A-F, and maybe C8-A (honestly can't recall why I was watching those), seem to have something to do with this game's frustratingly subtle randomness. "hourglass/fire" and "invulnerability" are frames until those effects end. "EnemyAtk1-6" are frames until an on-screen enemy that can throw something will throw something. Edit: 63 is the level timer and ticks down every time 62 cycles from 60 to 0.
Player (154)
Joined: 5/1/2006
Posts: 150
Five years later, 33 frames faster.
Brandon
He/Him
Editor, Player (191)
Joined: 11/21/2010
Posts: 914
Location: Tennessee
Yay! Also, why not submit? Lastly, DarkKobold needs to try to verify this, as it's FM2 and might stand a better chance.
All the best, Brandon Evans
Player (154)
Joined: 5/1/2006
Posts: 150
Brandon wrote:
why not submit?
It does fix some annoying little mistakes that are in the published run, but it also lacks my two favorite damage-boosts from the published run! I think it can be improved some more yet, there are around 20 frames of improvements here that get whittled back by various random crap too. Andandand Stage 6 is hell of sloppy, not that that isn't easily fixed.
Player (154)
Joined: 5/1/2006
Posts: 150
So, I've been doing a lot of poking around with RAM lately and realized that enemy sub-pixel values (458-45F=x, 478-47F=y) sometimes get inherited from previously killed enemies, and this explains a lot of the headache-inducing randomness that can get in the way of tight optimization. I haven't found any useful applications for this yet though, other that the few I stumbled onto long ago, mostly by dumb luck (like killing one of the boxers at the end of 1-1 on the wrong frame will make Ryu take an extra frame to reach the boss (also, all of the other bosses seem to write their own values when they spawn, oh well!)), but there is a good chance applying this info can still fix some things in stage 6. Moving on, I'd had the idea that memory relating to the background objects could be read and display something like this: ...and hopefully those elements without a graphical counterpart (and taken advantage of in the published run) would become visible, and maybe other unexpected oddities would appear too. It turns out this stuff is stored in block 3, in columns of six and starting in the upper left, so it could be interpreted like this: |300|306|30C| |301|307|30D| |302|308|30E| |303|309|30F| |304|30A|310| |305|30B|Well, you get the picture. So the hex values for the above picture would then be: |88|00|00|00|00|00|00|00|00|00|D9|00|11|00|00|88| |11|00|00|00|00|00|70|70|00|00|00|00|00|00|00|22| |11|00|00|63|00|00|00|00|00|00|00|00|00|00|00|22| |11|00|00|33|00|00|00|00|00|00|89|70|41|00|00|22| |88|07|07|07|07|07|07|07|07|00|99|00|11|00|07|88| |88|07|00|00|00|00|00|00|00|00|9E|00|11|00|07|88| 07=floor 70=standard platform 11=left wall 22=right wall 99=ladder 89=ladder/platform corner 41=grabbable wall/platform corner 9E=ladder to prev. area D9=ladder to next area FF=to next stage 63=narrow platform, connected to walls on each side 33=opposing walls (this and the above are the same as the signs in stage 1) 80=platform with corners below it 88=non-grabbable wall (with a weird little platform inside if you can get above it) 83=that weird-ass platform in 2-1b There are many more, of course, but that covers the most common ones. Anyway, what I had, perhaps naively, hoped to find was something directly corresponding to what is on screen at any given time, but this doesn't seem to be the case when the game is scrolling. Anyway, none of this really matters much since I couldn't see any evidence of my mystery platforms in memory, or at least why they seem to be in some places and not others. Actually, they're probably everywhere they could be expected, you just can't get inside every wall where they might be.
Banned User
Joined: 12/26/2006
Posts: 231
Location: Lonely City
Great WIP. After watching your movie,I find Scumtron jumps in Frmae1436,but if jumping in 1437-1439,we can get 128 Subpix,and lost 1Frame in BOSS's fighting.Can you teach me Why? Frame 5104's right input can help reduce 1 frame,I think nobady can find this,how do you think this? I am interested in some strange Randomness.Getting the tool in left picture can add some frame after hero entering room (right picture) :) hehehehe,who konws
work hard
Player (154)
Joined: 5/1/2006
Posts: 150
* 1436: Jumping later does indeed put Ryu half a pixel forward, which unfortunately isn't enough to reach the level exit sooner. * Boss: Watch $045F when the middle boxer at the end of the level dies; this is enemy X position subpixel. If $045F=0x80 when entering 1-2 then the Boss will be a half-pixel to the right and Ryu will take an extra frame to reach him. (btw, all other bosses appear to write there own subpix values when spawning) * 5104: It puts Ryu a half-pixel right and he reaches the platform and jumps at frame 5141 instead of 5142. First frame of input on a new screen allows one button press only and on ladder entrances Ryu is actually in the air for that frame. Ryu will also be facing either left or right on this frame, which is what determines whether he can get inside the wall when he jumps or not: if facing right, he'll move 1.5 px right; if facing left he'll simply move 0.5 px right but otherwise climb/wall-jump as normal. *screenshots/randomness: I'm not sure what you mean here. Do you have a movie file that demonstrates it? Cutting down the lantern there should not effect anything, but jumping from the platform and killing the enemy when cutting it down can result in a different enemy subpixel value ($045D in this case), but that just goes back to the same value after killing the jet-ninja around frame 32460. My current WIP finishes in 39119 frames. Turning around at frame 18087 instead of 18088 stops the level timer for 2 frames which allows one second to tick down during the lvl 5 Boss fight, saving three frames. That combined with some enemy sub-pixel manipulation gains back some frames lost to enemy behavior in stage 6, woo.
Banned User
Joined: 12/26/2006
Posts: 231
Location: Lonely City
Nice Theory.Good Luck! Turning around at frame 18087 instead of 18088 stops the level timer for 2 frames...Talent
work hard
Player (154)
Joined: 5/1/2006
Posts: 150
Xipo wrote:
I am interested in some strange Randomness.Getting the tool in left picture can add some frame after hero entering room (right picture)
Do you have a movie file that shows this?
Banned User
Joined: 12/26/2006
Posts: 231
Location: Lonely City
I am sorry I have del this file for long time,and I can't recreate this the scene(try my best).The tool in left picture is a something adds score.I think getting this tool(or doing other thing) at a particular time may stop(or add) the level timer.Let's wait and see what happens.
work hard
Player (154)
Joined: 5/1/2006
Posts: 150
Aha! If it can effect the level timer then this could indeed make sense. Though based on everything I think I know about the game it seems very unlikely, but I certainly can't rule out the possibility. Thanks for the reply! Another possibility: rarely, grabbing a power-up on the wrong frame can 'lag' the game and glitch the graphics for one frame. This doesn't seem to fit what you describe though. (also, i'm not sure if i've seen this happen since moving from fceu to fceux) Edit: take the published run (hey look, typo in that file name) and slash on any frame 22598 to 22614. Ryu grabs PU at 22615 and at 22621 this happens: Problem there is that pretty much everything freezes for that frame: player, enemies, the 'level-based' RNG ($B5), timer fractions ($62). Just about everything but sound and the 'global' RNG ($BF) — which only ever seems to stop on actual 'lag' frames.
Player (154)
Joined: 5/1/2006
Posts: 150
Here's a short... eh, let's call it a 'concept demo'. Just run this Lua script (please forgive my ridiculous IF abuse) with this .fm2.
Joined: 9/21/2011
Posts: 49
Location: San Antonio, TX
I just came across an old Nicovideo superplay video of a Ninja Gaiden "pacifist" run. (They left the cutscenes in, which is why the movie is so long.) http://www.nicozon.net/watch/sm24963 It was interesting to see exactly where they chose to take their damage, though many spots were obvious choices, being nigh impassable without killing the enemies or using invincibility time. Especially near the end of the game, the decisions on where to take damage become non-trivial, as the enemies start dealing more damage. The author chose to get hit by 1-damage projectiles as often as possible, for example. I wonder if a TAS-optimized version of a run like this would go over well? Similar to the published "Contra" pacifist run? It seems like there is lots of entertainment potential to be had. That aside, I look forward to seeing the inevitable improvement to the published run, which appears to already be under way!
--Graywords
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11479
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I agree, seeing Ninja Gaiden pacifist may be much cooler than Contra, we just shall choose the hardest part of NG.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Expert player (3644)
Joined: 11/9/2007
Posts: 375
Location: Varberg, Sweden
graywords wrote:
I wonder if a TAS-optimized version of a run like this would go over well? Similar to the published "Contra" pacifist run? It seems like there is lots of entertainment potential to be had.
I thought this sounded familiar: http://tasvideos.org/forum/viewtopic.php?t=6848
feos wrote:
Only Aglar can improve this now.
Joined: 9/21/2011
Posts: 49
Location: San Antonio, TX
Aglar wrote:
I thought this sounded familiar: http://tasvideos.org/forum/viewtopic.php?t=6848
Nice find! All I was able to find when searching the forums was a submitted NG2 Pacifist run submission, which was rejected for other reasons: http://tasvideos.org/forum/viewtopic.php?t=4973 I don't think a goal of "no damage" or "no subweapons" would necessarily be good to tack onto a pacifist run of this game, though. I'm sure the fancy footwork required to dodge everything would definitely be interesting in its own right — but it would also probably create some long delay periods. Besides, IMHO, for a run like this, half of the fun would be finding the best ways to take damage to save the most time. Taking damage (and getting power-ups for use on bosses) would be valid strategies - just as in the Contra run. What do y'all think, though? I'm sure there are multiple opinions on this.
--Graywords
Joined: 7/2/2007
Posts: 3960
I think the "purest" ruleset would have to be either "no swinging the sword outside of boss rooms" or "no killing enemies except for bosses". In the interests of further differentiating the run from the existing run, I'd go with the former; with subweapons unavailable the bossfights become more interesting IMO. Damaging yourself should be allowed, just as the Contra pacifist run commits suicide at points.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Ambassador, Experienced player (709)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Derakon wrote:
...with subweapons unavailable the bossfights become more interesting
Actually, most of the boss fights use the hidden quick-draw sword technique instead of the actual jump-and-slash subweapon. You'd have to get rid of that too to draw out the boss fights.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11479
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Xipo's runs seem to avoid taking damage, that was no good.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Post subject: TASing a ninja gaiden without getting hit.
Player (127)
Joined: 3/23/2012
Posts: 296
Location: In X position=50 y position=20
I think it will be entertaining movie.
Jungon wrote:
if I was to have a Tool-Assisted real life ... I'd.. I could abuse death, just to see if it saves time ..
Guga
He/Him
Joined: 1/17/2012
Posts: 838
Location: Chile
It's a good idea posting here instead of creating new threads.
Player (127)
Joined: 3/23/2012
Posts: 296
Location: In X position=50 y position=20
Oh! I forgot to mention no subweapon. Now its "no hit and no subweapon"
Jungon wrote:
if I was to have a Tool-Assisted real life ... I'd.. I could abuse death, just to see if it saves time ..
1 2 3 4 5
12 13