Author Topic: Post new TWINE PRs here!!!  (Read 25575 times)

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #100 on: August 16, 2013, 08:50:07 AM »
CR Agent 2:18 (no turbo)

Maybe i'll change my mind regarding turbo, as this was really annoying to do on the regular N64 controller (even though it was my first completion and didn't take long to get). Also switching hand positions when you need to aim and shoot the fuel dumps suck. And this is still only Agent, on SA/00A you gotta take care of the enemies too. No way you can keep up the speed while doing that.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #101 on: August 16, 2013, 08:54:10 AM »
Yeah, I thought that too. 82 is the lowest I recall seeing for N/A lol. Some were 90+, it's ridiculous. I'll set up some kind of ranking system that will probably only award points of 10th place or higher.

Henrik, don't you have the same issue as me? Where strafe-running right and pausing-unpausing cancels the strafe? I know some games have issues like those where some buttons have an inherently higher priority than others, which I'm pretty sure is what's happening here. It's weird, but c-right must have a lower priority than c-up and c-left. Either that or my controller/cartridge is busted :kappa:.

Nice information about CR btw. Since my controller pak is broken I have to unlock every level whenever I want to play :(, but I did a CR today without any effort and wondered why my time was decent. I almost feel like playing CR now.

I only said pausing is useless if it cannot compensate for the speed-loss of the c-right button being released on an un-pause. Either that or on a level that is entirely left-strafe.

Also, would you include the watch as a gadget? It's listed as a weapon, so I guess not. In reality it probably doesn't matter. How many levels use grapple? Three is it? All of which give you plenty of time to change the watch mode, but it would allow for a pause when aiming the grapple in TC.

EDIT:

I have no problem with the fuel dumps in terms of switching hand position. I'm sort of used to it from RTAs, but for all those enemies in 00A, it'd be plain obnoxious.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #102 on: August 16, 2013, 11:32:51 AM »
Quote
Henrik, don't you have the same issue as me? Where strafe-running right and pausing-unpausing cancels the strafe? I know some games have issues like those where some buttons have an inherently higher priority than others, which I'm pretty sure is what's happening here. It's weird, but c-right must have a lower priority than c-up and c-left. Either that or my controller/cartridge is busted Kappa.

It's been a long time since i tested this so i'm not sure if i ever had that issue or not. I could bring up the emulator and test it later though.

Quote
Also, would you include the watch as a gadget? It's listed as a weapon, so I guess not. In reality it probably doesn't matter. How many levels use grapple? Three is it? All of which give you plenty of time to change the watch mode, but it would allow for a pause when aiming the grapple in TC.

Hmm i'd probably include the watch since it's kind of a gadget and you can't switch directly to grapple without pausing. Even though you technically have enough time to switch before using it.

Quote
but for all those enemies in 00A, it'd be plain obnoxious.

Yeah, i honestly think that banning turbo would serve very little good for CR. The only result would be slower times and much less enjoyable speedrunning.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #103 on: August 16, 2013, 04:00:35 PM »
Henrik, I'm forming some rankings at the moment, but I don't know what to put as your times on the levels that you took off the rankings. I have been putting whatever you had before -1 second, but I don't know if it makes more sense to just put N/A, so I figured I'd just ask if you could remember and if not I'll probably put N/A.

Also, I'm happy with the "only pause for gadgets + watch" rule. Same for the "allow turbo controller" rule, although I don't have one. I might get one eventually. Also, CEDRIC has 2:01 CoW2 A, so my 2:02 isn't the PAL record. Just thought I'd point that out.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #104 on: August 16, 2013, 05:49:41 PM »
N/A will be fine.

Regarding the rules, i guess this would be a quick summary of the current proposal:

Proof policy: Similar to GE/PD, All wr's untied or tied MUST have a video or will otherwise be rolled back. Any non-wr time can be proof called though if the community demands it (it is understood that this mostly refers to "good" times).
Turbo controllers: Allowed for Cold Reception-only.
Pauses: Allowed for selecting mandatory gadgets and watch-modes. Any other pausing is banned.

Anyone have any objections? Thoughts?

Also regarding turbo controllers, i guess this would apply to RTA/full game speedruns as well? Although i'm not sure if you can switch out a controller between levels?

Quote
Also, CEDRIC has 2:01 CoW2 A, so my 2:02 isn't the PAL record. Just thought I'd point that out.

Ah, i didn't know CEDRIC was PAL. Or that he had 2:01  :nesquik:

« Last Edit: August 16, 2013, 05:54:48 PM by Henrik Norgren »

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #105 on: August 16, 2013, 06:02:22 PM »
I'm perfectly happy with those rules. Switching controllers in RTA is definitely possible btw. You get 5 seconds to switch during the loading time of a level, so it should be fairly easy. On the topic of CR, does strafing improve your speed? I'm guessing that strafing inwards on turns is a time saver? I was also wondering if taking out guards to reduce lag would improve time.

I don't know where CEDRIC is from. Or his actual name. I have him down as C64 on the rankings lol. Since we're talking about CoW2 though, I'd add the rule that a PAL record requires video proof too.

EDIT:

I'm pretty sure NTSC only has an advantage on CoW2 and no other levels, but I'm not 100%.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #106 on: August 16, 2013, 06:46:18 PM »
Quote
I don't know where CEDRIC is from.

He's Japanese if i'm not mistaken.

Quote
I'm pretty sure NTSC only has an advantage on CoW2 and no other levels, but I'm not 100%.

Yes that is the only known advantage.

Quote
On the topic of CR, does strafing improve your speed? I'm guessing that strafing inwards on turns is a time saver? I was also wondering if taking out guards to reduce lag would improve time.

I'm not sure about the strafing thing, but taking close turns pretty much has to save time. It doesn't improve speed though as far as i know. Also since i managed 2:17 without killing a single guard, i doubt killing matters much.

Thiradell

  • Posts: 3931
  • Third
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #107 on: August 16, 2013, 09:19:07 PM »
CEDRIC is from Japan, real name Takuya Kakizawa, currently 2nd in PD.

Sounds like a pretty good ruleset, gonna start speedrunning this once I beat the game on SA/00 lol
nothin' moves me more than a groove that soothes me
nothin' soothes me more than a groove that boosts me
nothin' boosts me more, or suits me beautifully
there's nothin' you can do to me; stab me, shoot me

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #108 on: August 17, 2013, 05:31:04 AM »
I realized it might be a good thing to make the pause rule even more specific to avoid confusion. Consider the case of the ending of Nightwatch:

You have 2 documents that must be photographed with the Camera.
You have 1 phone that must be tapped with the Phone Tap.

You could pause once and select camera, then photograph both documents then pause again to do phone tap. OR, do camera, phone tap, then another camera (using 3 pauses). There's a third option as well, which is to do camera, pause and reselect camera for the second document, then do phone tap last. In the first case, you might end up losing time because of the cooldown time on using gadgets (unless you pause and reselect the gadget).

Therefor, i think it'd be a good idea if the rule explicitly said that you get "1 pause per usage". Meaning 3 pauses in this case, since the gadgets are used 3 times, and where 2 of the pauses must be to select Camera, and 1 to select Phone Tap. This way, there can be no confusion as to how many times or for what reason you can pause.

This would also mean, if you miss the first use, you aren't allowed to pause and reselect it, meaning you WILL lose time due to cooldown. Would everyone be okay with this?

The man who trolled and lost everything

  • Posts: 19267
  • I'll be the backboost starring in your bad dreams
    • Goose
    • GE
    • PD
    • twitch
    • 2014CommunityContributor
    • http://www.twitch.tv/rwhitegoose
Re: Post new TWINE PRs here!!!
« Reply #109 on: August 17, 2013, 06:29:37 AM »
I think the best is "play it through like you would if it were Perfect Dark, pause however many times you NEED, and if you abuse it, the community will decide."

How much time would 10 pauses instead of 3 at the end of Nightwatch save?  Like 1 frame?
~ S T A Y ❄ T R U E ~   |   ~ S T A Y ❄ B L E S S E D ~   |   Verax Maneret

AZ

  • Posts: 5729
    • AxZ
    • 2015CommunityContributor
    • 2017SilverStar
Re: Post new TWINE PRs here!!!
« Reply #110 on: August 17, 2013, 06:32:44 AM »
TWINE topic being more active than irrel GoldenEye boards  :kappa:

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #111 on: August 17, 2013, 06:52:51 AM »
I don't think the rules should be that strict. If it's true that pausing saves insurmountably small amounts of time in any level that isn't CR, then the only reason the rule is being enforced is to prevent aim-assist. Actually, now that I say that to myself, I realise that this is already used in PD so if it is the only reason then maybe no rules need to be enforced about pausing (outside of CR). I know I'm sort of back and forth on the issue, but I find it hard to come to a decision when I don't know exactly how pausing affects the timer.

Oh and I had 2 sub-30 paced runs in a row today, but I died at the end of CoW1 on the first run and had to reset on FA twice on the second run (Bullion keeps moving to the left where it's impossible to do the fingerprint scan), then Christmas died on SF anyway (I was being risky since the run was already screwed). The first run had potential for a low-29, so I should definitely get sub-30 soon.

Henrik, what are you doing in order to read memory addresses (Helicopter HP, CR speed, etc.)? If I can understand it, I could try and find the timer in memory and see what's happening to it when the game is paused/unpaused.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #112 on: August 17, 2013, 08:35:47 AM »
Well the difference in PD is that you loose all speed when pausing, so it's uses are more limited. In TWINE it'd be used everywhere with no penalty. I've been on both sides of this issue myself so indeed it's difficult to come to a conclusion.

Quote
Henrik, what are you doing in order to read memory addresses (Helicopter HP, CR speed, etc.)?

You need an emulator and a program that can access and view the memory used by the emulator (which of course includes the emulated game's memory). Personally i use Mupen64 or Project64 (PJ64 has in-built cheats so you can unlock all levels, although only on Agent), and MHS (L. Spiro's Memory Hacking Software) for memory access. It can be found here: http://memoryhacking.com/

In MHS you then go to "File->Open Process" and select the process with the memory you want to watch, in this case Mupen64.exe or Pj64.exe or whatever they're called. Then you go to "Search->Data-Type Search" and select the type of value you wish to find (byte, short, long, float etc...) and some info about what the value might be (greater than x, in range between x and y, unknown etc...). You might also need to supply the range of memory addresses for MHS to look through, which could be different for different emulators. Using 00000000 - FFFFFFFF might be good to ensure no addresses are missed.

Once MHS has found a list of possible addresses, you can sub-search this list (Search->Sub Search). To do so you need to have some idea about how the value might have changed since the last time you searched (Increased, Decreased, Same as before, Different from before, Changed by X, Exactly equal to X etc...).

Do repeated sub-searches until you've narrowed the list down to a few potential candidates. Looking at how these values behave usually is enough to figure out which is the one you've been looking for.

Quote
If I can understand it, I could try and find the timer in memory and see what's happening to it when the game is paused/unpaused.

I've already tried several times to find the timer but no luck. I did find the countdown timer for Underground Uprising though, it's simply an integer (long) value that counts down 30 frames per second. Forcing this value to a different one changes the timer on-screen accordingly. Pausing pauses this timer instantly as far as i can tell.

The regular timer should be very easy to find, as i'd expect it to work just like in GE/PD, except with 30 frames per second instead of 60. So basicly the opposite of the countdown timer. But as mentioned i've done extensive searching, and nothing so far.

Basicly what i've tried is to initially search for any value greater than 0. Afterwards i sub-search many times for values that increased. I also pause once in a while and sub-search for values that stay constant during pausing. This should've worked if the timer worked like a normal timer... (i even tried with all possible data types, short, long, float, double)

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #113 on: August 17, 2013, 09:05:04 AM »
What the hell lol. So the timer exists, but not as any numerical datatype? What else could it possibly be? I would expect it to share the same type as the UU bomb timer. Or maybe the value is an integer, but lower than 0? That would be very odd. It certainly is intriguing though. I have to leave soon for most of the afternoon, but I'll download the emulator and memory software and take a look at everything later on tonight.

Btw, did you search for unsigned integers at all?

EDIT:

Now that I think about it. It makes sense for the UU timer to use a different datatype as the timer, since the UU timer has a maximum value of 6~ minutes (honestly can't remember exactly), whereas the regular timer can go over an hour (and probably much further). So the unsigned integer thing makes sense to me, because obviously, the larger capacity for the timer, the better. The devs wouldn't want the limit to be reached in a regular playthrough.

EDIT:

Actually an unsigned integer is way beyond what any game timer would need.

EDIT:

Found the timer in memory. Except now I actually have to go lol. I'm sure this is right, because it resets to 0 when I reset, only increases when the game isn't paused and when divided by 30 (FPS) and subtracting the remainder, this value corresponds to the timer every time (when I quitout).

EDIT:

Okay my plans got postponed by a couple of hours :kappa: and I have some information to share that I found almost immediately:

1 - Every level has it's own timer. This seems to be true, but perhaps not since I haven't tested it thoroughly. I played KR and found the timer. Then I went to Courier to test the effects of pausing on it and the memory address was completely different and seemingly irrelevant. I went back to KR and surely enough the timer was working again, so I believe every level has it's own timer.

2 - It is possible to unpause and pause without frames increasing. The timer was at 166, I believe, while paused. By mashing the pause button I managed to unpause and pause again, while keeping the timer at 166. I've tried this and done it numerous times, however Bond doesn't seem to move when this happens. This may or may not be significant, however since CR has different movement mechanics to other levels, it might explain why CR sees such a huge increase in time compared to other levels.

I'll keep playing around with it. Oh and if you want to find the timer for KR too, Henrik, it's a long. The easiest way to find it, is to do many subsearches, while pausing and unpausing to filter out values that have changed or are the same. The value starts at 0 and increases by 1 at each frame, so you should be able to find it fairly easily.

EDIT:

Tried a few more levels, but I couldn't find a timer for any of them. Only KR. I checked Courier, KR, TC, CR & FA.
« Last Edit: August 17, 2013, 12:33:06 PM by Phazonn »

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #114 on: August 17, 2013, 12:54:06 PM »
Quote
Tried a few more levels, but I couldn't find a timer for any of them. Only KR. I checked Courier, KR, TC, CR & FA.

That makes more sense, i tried forever on Courier without luck but never tried on KR before.

Anyway, the timer you found doesn't seem to be THE timer but A timer, one that is used uniquely on KR. One that runs exactly synchronous to the real one (quitting out at frame 599 gives 19 seconds on end timer while 600 gives 20). However, forcing the value to a different one does not affect the end time, meaning there must be a different timer somewhere. I could not tell what this particular times acutally does though, forcing it to 0 didn't seem to change anything.

Knowing that both timers are synchronized though means we can probably use it to find the real one, since we can tell exactly how much it has changed.
« Last Edit: August 17, 2013, 01:10:01 PM by Henrik Norgren »

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #115 on: August 17, 2013, 02:48:41 PM »
Perhaps in an old version of the game there was a different timing system and this timer was missed when removing it? This timer includes cutscene time, which doesn't necessarily prove that it's obsolete, but it more than likely is.

Anyway, I think I've found a value in memory that is consistent with the timer and provides the results to prove it. The way I tested this was using the timer from KR, I got to 366 frames and quitout, knowing that 366 = 12 on the timer (which of course it was) and took note of this other value at the same time (it was 1,100,566,350), then I went onto TC and got this long value here to roughly the same amount and quitout (I got 12 again). I tried this on other levels: UU, CR, CoW2, Meltdown and they all gave the exact same results, which means that this value is directly related to the timer.

The problem is that I don't know what this value measures. It starts at roughly (hard to get this exactly right without a frame advance feature) 1,050,728,829. Why this number? I have no idea. If I subtract this value from the value that corresponds to 12 seconds I get 49,837,521. Of course there are many other values around this that also correspond to 12, but I can't figure out how this value can correspond to 12. If I divide it by 12 I get 4,153,127~, meaning this value would approximate to 1 second, but what unit of measurement could this possibly be? I've never seen it before, but at least this is a step closer to figuring out the timer.

The value is a long, btw. It pauses when the game is paused or when a cut-scene is playing such as the elevator door closing on Masquerade.

EDIT:

Okay, so this number is horrible. I took some sample quit-out times and compared them to the seconds that correspond to them and their value minus the initial value of that number.

Value in Memory            Minus Initial Value      Seconds
1,050,728,829               0                            0
1,100,566,350               49,837,521               12
1,115,296,431               64,567,602               39
1,125,406,094               74,677,265               94
1,127,804,363               77,075,534               117
1,135,373,207               84,644,378               219

As you can see, 12 seconds corresponds to approximately 49 million, which would suggest, logically, that 24 seconds would be approximately 98 million (simply doubling the values), but instead 98 million isn't reached even by a value representing 219 seconds (over 18 times the 12 second value). From this data, my only guess is that this timer value increases to a decreasing exponent, which, if true, will make this whole process a nightmare. There may not be an exponent, however. I'm not ruling out the possibility that I overlooked something to do with the initial value. I'll try and figure out what the exponent is (if it exists) and if I can find it in memory, but it might take a while, since I suck at maths. Unless maybe Deep-Darkness will help me ;).

One thing that puzzles me is this. Even assuming that the developers decided that the timer should increase to an exponent, what would be their reasoning? This could only create problems in coding and debugging the game.
« Last Edit: August 17, 2013, 03:37:24 PM by Phazonn »

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #116 on: August 17, 2013, 04:21:17 PM »
Fun fact:

1,050,728,829 = 3EA0D97D (hexadecimal)

Convert this to standard 32-bit float (http://www.binaryconvert.com/result_float.html?hexadecimal=3EA0D97D)

Result? 0.314159... = PI / 10

There are probably lots of values in memory that represent things other than timers but could still be used to figure out the value of the timer.  

Since the countdown timer on UU behaves exactly like a normal timer is expected to, i can't imagine the real timer being that much different. That value you found sounds like it behaves really odd for a timer so i'd be suprised if it had anything to do with it.

One way to test if it is the real timer though: If the address is in your list of chosen addresses (the one on the right, not the search-result list), right click -> modify selected, now find "value when locked" and insert whatever value you want. Now right click again and go to "lock selected". This will force the value to whatever you inserted. If you quit the level now, the end screen time should correspond to what you inserted and not where the value would've been at if you hadn't modified it.

Btw, you can always try and bring up value in the RAM watcher where you can see the value represented as all possible types.
« Last Edit: August 17, 2013, 04:27:21 PM by Henrik Norgren »

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #117 on: August 17, 2013, 05:12:20 PM »
Hmm, thanks for the advice on setting the timer. Turns out it isn't the timer, since I set it to be 1050728829 (0 seconds) when locked, locked it and played some TC, before quitting out to see 19 seconds on the screen. I also noticed that the value becomes 0 as soon as you quit a level, so it doesn't even carry the value to the end-screen (unless it copies to another address or something). But it's not important I guess. It isn't the timer, but it does certainly correspond to it. I tried searching for timers corresponding to the UU timer (but going in the opposite direction to that timer), but all I found was the same address (the one I previously thought was the timer). I'll check other data-types now, since I've only looked through longs. Tbh, it's kinda silly that they use longs for a 6 minute timer, considering that at 30FPS that timer can go well over a year in length lol. I'm keeping an eye on the RAM watcher too, just in case anything shows up in another form.

Aren't there hidden timers on TC and Turncoat? I think if you wait too long the Cigar Girl gets away/M dies. They might be helpful.

EDIT:

Apparently if you don't leave the first room on KR for 2:10, then King dies and you fail. I never knew, but it might explain the timer on KR (maybe).
« Last Edit: August 17, 2013, 05:32:50 PM by Phazonn »

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #118 on: August 17, 2013, 05:47:51 PM »
Quote
Apparently if you don't leave the first room on KR for 2:10, then King dies and you fail. I never knew, but it might explain the timer on KR (maybe).

Lol i never knew that, though it never actually says he dies though? You just get the "Get to Q-labs at once" message and then fadeout.

Anyways, this is what the timer is used for! Try locking it to 0 and you'll se that the message never triggers. Also you can trigger it early by locking the value to something near 3600 (2 minutes, which is when the message first comes up). It's always fun to mess with things like this.

If you set the value to 3600 or above, the event will never trigger. So the game doesn't actually check if value > 3600 but rather if value == 3599, when triggering the message.

Edit: I just realized that pausing during a speech cancels the sound of the speech while the text still displays. Never noticed that before.

Quote
Tbh, it's kinda silly that they use longs for a 6 minute timer, considering that at 30FPS that timer can go well over a year in length lol.

It's normal to do that actually. Processors are optimized to handle integers of a certain length (usually 32-bit), so using fewer bits can actually be less efficient. A good example of this is Boolean values which only require 1 bit (true or false). Still, they are represented as 32-bit integers on most systems.
« Last Edit: August 17, 2013, 06:03:25 PM by Henrik Norgren »

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #119 on: August 17, 2013, 06:32:10 PM »
I think the objective you fail at that point is the one about finding King and Q will normally say to get to the labs straight after King dies (assuming you don't skip your objectives) so it makes sense. And yeah I agree it is quite fun to mess with this stuff. Learning what is doing what and how the game works, I find it all very interesting. It's a shame the timer is such a pain to find though :P.

I understand what you mean about CPUs. I've never been too good with technical understanding and stuff :P. I'm having no luck finding anything tonight. I'll probably give it another go tomorrow.

EDIT:

Weird things happen when you try to give yourself 80,000 Deutsche M45 bullets :P.

Any gun with a burst function is always on burst, but the amount of bullets the burst allows switches, from the size of the clip to 3. I thought it was kinda interesting lol.

EDIT:

I've found the timers for KR, UU, Turncoat and Meltdown, easily, but no luck with the timer. I've tried using the cheat to make the timer 0 as a way to help locate it, but it hasn't helped at all.

What does it mean when an address is highlighted in green? Also is there a way to search for all data-types at once? Doing them one at a time is pretty monotonous.
« Last Edit: August 18, 2013, 08:16:39 AM by Phazonn »

Thiradell

  • Posts: 3931
  • Third
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #120 on: August 18, 2013, 10:10:16 AM »
Courier A/SA/00 0:10

Cold Reception Agent 2:26
« Last Edit: August 18, 2013, 10:28:19 AM by Thiradell »
nothin' moves me more than a groove that soothes me
nothin' soothes me more than a groove that boosts me
nothin' boosts me more, or suits me beautifully
there's nothin' you can do to me; stab me, shoot me

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #121 on: August 18, 2013, 10:18:01 AM »
Oh hey someone is posting PBs :P. What would you like your name to be on the rankings Third?

Thiradell

  • Posts: 3931
  • Third
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #122 on: August 18, 2013, 10:43:46 AM »
Haha, your guys' hack talk is pretty interesting, seems weird that the timer would be so hidden in the code.

Thiradell is fine :)
nothin' moves me more than a groove that soothes me
nothin' soothes me more than a groove that boosts me
nothin' boosts me more, or suits me beautifully
there's nothin' you can do to me; stab me, shoot me

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #123 on: August 18, 2013, 10:53:26 AM »
KR A 1:18

:( I got stuck on a guard costing me WR. On video anyway, so I'll probably upload it. I'm curious to know what the old TWINE guys think of my stair strat anyway (not sure if theirs is better).

I'll be sure to add you when I actually finish the site, Third. I've been lazy with it lol. Btw, what should I put as your initials? T alone is a little weird :P, but it works.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #124 on: August 18, 2013, 12:05:08 PM »
Found the timer!

Basicly the reason we couldn't find it was because it was divided between several addresses. Here's how it looks in memory:

Timer: Minutes      0x9CF98C    (Long)
Timer: Seconds0x9CF991(Byte)
Timer: Frames0x9CF992(Byte)

So it all makes perfect sense after all  :) Frames and Seconds never exceed 255 so representing them as separate bytes works. Interrestingly they decided to skip a value for hours :p

I haven't tested anything really yet but the addresses seem to be constant and shared between all levels.

Edit: I also found the value for Bond's Y position (haven't really checked for X or Z yet) and this value can actually get updated during a quick unpause-pause where the timer isn't. Pretty sure this is what causes pausing to save time.

Edit2: Here's Bond's position values:

Bond: Position X      0xB1E228    (Float)
Bond: Position Y0xB1E22C(Float)
Bond: Position Z0xB1E230(Float)

I think they're shared between all levels as well. If you try to modify these values you'll likely get some flickering effects and no real change in position. However it is possible to find the starting position values for a given level and modify those to spawn wherever you want :)

Edit3: It's always possible to unpause-pause and avoid a timer update while still getting the position update. The timing is the same every time and it's always a 4-frame window to succeed. This means that in theory, you can finish any level in 0 seconds (TAS can do it easily). There's no way this can be allowed.

On Cold Reception, the position updates each frame seem to be more significant than on other levels, which explains why it saves so much time there.

« Last Edit: August 18, 2013, 01:25:11 PM by Henrik Norgren »

Thiradell

  • Posts: 3931
  • Third
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #125 on: August 18, 2013, 12:53:38 PM »
TH seems like the best choice for my initials.

If you wanna use a first and last name, Paul Shepard (PS) is fine too.
« Last Edit: August 18, 2013, 02:04:17 PM by Thiradell »
nothin' moves me more than a groove that soothes me
nothin' soothes me more than a groove that boosts me
nothin' boosts me more, or suits me beautifully
there's nothin' you can do to me; stab me, shoot me

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #126 on: August 18, 2013, 03:18:57 PM »
I've had like 30 fucking 1:18s on KR and just seeing that number is beginning to piss me off. I swear 1:17 is not hard at all to get. You just need a DECENT run, where the guards don't completely fuck you by standing in your way or back-boosting you to fuck. I've seen some awful runs get 1:18, so how can I not get 1:17. At this point I'm just too annoyed to play.

Whatever. Anyway. Nice find Henrik. I figured the timer was split in some way, but I didn't even bother to check bytes since I thought, well they're bytes and can't store anything. I guess they store enough though. It's really cool that you've pretty much figured out this pausing thing, but I'm gunna play with it myself just to make sure I understand it fully. We should have some solid rules sorted soon and then I can concentrate on playing KR :D >_>.

And Third, I'll put you down as TH if that's what you prefer.

EDIT:

Woah, I missed the edit there Henrik. So if I unpause and pause before 4 frames have passed, the timer will not have updated? So the issue isn't pausing itself, but pausing quickly and consecutively? Unpausing-pausing in 4 frames sounds pretty easy. You're absolutely right that this cannot be allowed. This would suggest that pausing for gadget use isn't going to improve anyone's times at least, unless in NW you do a quick unpause-pause to switch from camera to phone tap or something.

As it is, I'd probably say the best set of rules is:

1 - Pausing is allowed for gadget use.
2 - Pausing is allowed for aim-assist, provided the pausing is not done in quick enough succession to affect the timer in any way.
3 - Any additional pausing will be considered an attempt to reduce the timer and will be disallowed.
4 - Video proof is required for WRs, PAL records (CoW2 only) and any time that the community deems good enough to warrant proof.

That's just me of course. Idk what everyone else thinks.

EDIT:

Uh, yeah. Courier A 0:09 with pausing trick. It's so easy it's a complete joke.
« Last Edit: August 18, 2013, 04:24:04 PM by Phazonn »

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #127 on: August 18, 2013, 04:27:18 PM »
Found Bond's speed values as well (the addresses are different every time though, so can't share those). It seems that pausing affects them similarly to the position values. I.e. you will accelerate but the timer doesn't get updated.

As you mentioned Phazonn, pausing cancels out the right strafe speed. So the above only works for forward/backward speed and left strafe.

Speaking of speed, it might be interresting to know Bond's maximum speed values (CR of course has different values):

Forward: +0.20
Backwards: -0.11
Right/Left strafe: (+-) 0.15

From the moment you start holding forward it takes ~17 frames to accelerate fully (with 4 frames delay before acceleration starts). Backwards/Right/Left strafe takes longer, since the acceleration slows down over time. So 1+ second for those. (By the time forward speed reaches 0.2, left/right will be at 14.4).

Unlike GE, which i haven't figured out yet, the speed values in this game correspond very nicely with how Bond's position is updated. So the speed values are in fact Units per Second, meaning if you are strafing at full speed, your position will change with 0.25 units every frame ( SquareRoot( 0.2 ^ 2 + 0.15 ^ 2 ) = 0.25 ).

Edit:
Quote
So if I unpause and pause before 4 frames have passed

Not exactly, it's not 4 frames having passed, it's a window that opens some time after the pause-fadeout starts. But it's the first 4 frames that allows for re-pause (any earlier than that and the game will just resume like normal, any later and the timer will get updated) So it's a matter of timing rather than speed.

« Last Edit: August 18, 2013, 04:33:01 PM by Henrik Norgren »

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #128 on: August 18, 2013, 05:00:47 PM »
So what you're aiming to do is pause exactly 4 frames after unpausing? I have a video of Courier A 0:09 with the pausing trick. I will probably upload it, since it's a good demonstration of the trick (it was a blatant 0:10 pace without the pausing).

Interesting information about the movement speeds and accelerations. I'm always interested to learn about this sort of stuff. I'm curious though, how did you figure out the formula used to calculate the UpS?

EDIT:

My bad, I think I understand now. There is a window of 4 frames, but it isn't immediately after the un-pause that the window is open, right?

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #129 on: August 18, 2013, 05:13:33 PM »
Quote
My bad, I think I understand now. There is a window of 4 frames, but it isn't immediately after the un-pause that the window is open, right?

Exactly.

Quote
I'm curious though, how did you figure out the formula used to calculate the UpS?

If you mean "SquareRoot( 0.2 ^ 2 + 0.15 ^ 2 ) = 0.25" it's just Pythagora's theorem. Since you have one speed vector pointed forwards and one pointed perpendicular to the left/right, you can use this to calculate the length of the resulting vector when adding the two.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #130 on: August 18, 2013, 05:56:16 PM »
Oh jeez, I'm stupid. I'll blame not noticing that on being tired lol.

Anyway here's the demonstration video of the pausing trick: http://www.youtube.com/watch?v=s71fdakC2WQ

And for no reason really, the worst KR A 118 ever: http://www.youtube.com/watch?v=gSfV2VcdDgI

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #131 on: August 18, 2013, 08:01:38 PM »
Holy shit, after seeing your 1:18 run i brought up the emulator because i wanted to test an idea i got while watching... However before i even got a chance to i managed to find an ever better version of that idea...
 
New King's Ransom Strat(!!!):

I've had the idea for many many years, in fact, i'm sure others have had it too. It's very simple, once we get down the stairs, we turn off the sprinklers, why? Because otherwise there's a fire in your way.

But what if you could simply jump fast the fire? Well obviously if it was that easy we'd have done it a long time ago, right? I have personally tested it many times and i'm sure others have too, and you die every time....right?

IT'S ACTUALLY POSSIBLE! Within a few tries i managed to jump past the fire and survive (my first idea was to use pause-unpause to get across, but before i could try that i actually made it with a regular unbuffered jump!). I almost couldn't believe my eyes when it happend. I continued the level wondering if the cutscene at King would trigger correctly and indeed, everything worked as intended.

Of course you still need to avoid getting the sprinker objective, but that's easy! Just shoot near the first guard below the stairs (so now you need to shot near first AND second guard) before you run near him. So the strat becomes:

1. Do everything like normal until the cutscene below the stairs.
2. After you open the door, shoot near the first guard as you run past him.
3. Shoot near the second guard as we usually do, but this time, turn towards the vault instead of the sprinkler button.
4. Jump past the fire and hope you survive.
5. After king's cutscene, jump back across the fire (you've got less hp this time so it's probably harder).
6. Finish.

I did this on emulator with saves states and got 1:16 on a horrible run!

Edit: Interrestingly, my original idea worked as well. You can unpause-pause to go straight through the fire without any damage whatsoever!
« Last Edit: August 18, 2013, 08:19:31 PM by King's Ransom Strat Master »

Softman25

  • Posts: 404
Re: Post new TWINE PRs here!!!
« Reply #132 on: August 18, 2013, 08:04:41 PM »
For those of you who don't follow SDA forums but want to get in...

https://forum.speeddemosarchive.com/post/007__the_world_is_not_enough.html

Boss

  • Posts: 3949
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #133 on: August 18, 2013, 10:19:13 PM »
Nice find. :)

Would getting the BA near that area still be faster than turning off sprinklers? You could probably live it a lot more reasonably with BA if the flames damage that first (not sure if they do or not).
« Last Edit: August 18, 2013, 10:25:06 PM by Boss »

Thiradell

  • Posts: 3931
  • Third
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #134 on: August 18, 2013, 10:43:57 PM »
The flames don't damage the BA, just tested it. Doing two jumps seems pretty hard, would be awesome to see it pulled off though.
nothin' moves me more than a groove that soothes me
nothin' soothes me more than a groove that boosts me
nothin' boosts me more, or suits me beautifully
there's nothin' you can do to me; stab me, shoot me

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #135 on: August 19, 2013, 03:51:03 AM »
Wow, nice find, Henrik. If a simple jump can get it then I'll attempt it, but I've tried this before and always died. Is there a specific area of fire you need to jump over? Like a lowered part? Or is it all one static hitbox anyway and you just need one good, aligned and precise jump?

I hate getting the sprinklers, because not only is that where all my runs were failing, but it spawns a ton of guards who ruin the end for me. I'll try and get a UWR today, but no promises. It depends how easy it is :P.

EDIT:

How does this work exactly? It seems like the floor around the fire is a death-zone, but the flames themselves just do normal damage.

EDIT:

Trying on emulator now. Certain flames are just instant death it seems. The diagonal flame on the inside of the first wall of fire is instant death, but none of the others on that wall are. The back wall of fire is entirely instant death, so I assume that's the one to jump over, but I haven't been able to do it yet.

EDIT:

Okay, I've done it. There is one spot that is possible, as far as I can tell. You need to go to the left wall and then approach the inside of the fire with a diagonal jump (very hard). On the way back, I've only managed to get it by jumping and sticking to the inside, which seems a little bit easier. Of course the guard shooting you at the same time could be a huge annoyance. I'll try and do it on console now.

EDIT:

DID BOTH JUMPS CONSECUTIVELY ON CONSOLE! The guard killed me immediately after :P But it wasn't a good run. Good enough for WR, but meh.
« Last Edit: August 19, 2013, 05:01:14 AM by Phazonn »

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #136 on: August 19, 2013, 05:27:40 AM »
Great job pulling it off on console!

I personally used the right side of the flames (on the way towards vault), starting the jump a bit to the left of the right wall, then making a turn in mid-air towards the right wall. Then the exact same thing on the way back (but in reverse).

Speaking of jumps, i never mentioned that jumping makes Bond lose some forward speed (if you jump while at 0.2 ups, your speed is decreased to 0.18, then you reaccelerate back). So avoiding unnecessary jumps is probably a good idea.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #137 on: August 19, 2013, 05:53:22 AM »
Thanks :). After reviewing the video, the fire may have killed me, not the guard, but it looks like I made the jump and was pushed back into the fire by the guard, so assuming he co-operates in future runs (he probably won't), it shouldn't be a big issue. I'll definitely try out your method of jumping the fire, Henrik. I want it to be as consistent as possible. I'll definitely attempt this in a run, but I wouldn't expect it to happen any time soon :P.

I thought Bond lost speed when jumping. I noticed it when playing MD during an RTA, at that long stretch before getting the plane to land. I was jumping just because I had nothing else to do and I thought it looked like Bond was slowing down.

Here's a video of the fire skip on console: http://www.youtube.com/watch?v=BCD4vbHZFAw

EDIT:

Nice name btw :P.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #138 on: August 19, 2013, 07:25:39 AM »
I noticed just now that you didn't duck when going through the door to the vault? Not in the 1:18 run either. Any reason for this?

A quick emulator test shows it's definately faster to duck, even if the difference is only about 10 frames.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #139 on: August 19, 2013, 08:54:45 AM »
Um, I noticed that your head passes through the door anyway when you're stood up, so I figured it made no difference. Also if you duck you have to stand up again, which is slow and messes with your angle. It doesn't seem faster to me. Is it definitely better?

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #140 on: August 19, 2013, 09:53:53 AM »
Yeah the 10 frames i mentioned is including the standing up afterwards. So it's definately faster no matter what.

Thiradell

  • Posts: 3931
  • Third
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #141 on: August 19, 2013, 10:06:17 AM »
hahahaha KR Strat Master
nothin' moves me more than a groove that soothes me
nothin' soothes me more than a groove that boosts me
nothin' boosts me more, or suits me beautifully
there's nothin' you can do to me; stab me, shoot me

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #142 on: August 19, 2013, 12:54:37 PM »
That's gutting lol. I'd have 1:17 without a doubt on some of those runs if I'd ducked under the door, but I suppose it doesn't matter now. I'm getting fire skip on approximately 10% of my runs (with 0 standards of the quality of the run) and I have yet to get a run with both jumps.

That video I posted wasn't successful on both jumps. I had a jump today that looked as though I cleared the fire by a big distance, but I died anyway :/ It was further than the jump in that video. I need to test Henrik's jumps still and see which are easier. I should have a complete today or tomorrow, if I feel like playing, although tbh I'm feeling more like RTAs right now.

EDIT:

Yeah, I already do the same thing as you Henrik, but differently on the jump back, but it's not working out for me. I'll try reversing what I was already doing.
« Last Edit: August 19, 2013, 01:25:03 PM by Phazonn »

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #143 on: August 19, 2013, 02:16:31 PM »
NOOOOOOOOOOO! I died right at the exit after getting the fire skip :'(...

EDIT:

KR A 1:11 [UWR]

Horrible lol. On video though. Easily lost 3 seconds at the end and the run wasn't anything special. Nice to have a complete though :).

I'm getting somewhat consistent at the first jump. I'd say I get it 30% of the time. I've probably got it 20~ times today, 2 of which I made it back, so the second jump I get roughly 10% of the time. The second jump is definitely harder than the first.
« Last Edit: August 19, 2013, 03:19:52 PM by Phazonn »

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #144 on: August 19, 2013, 05:39:12 PM »
Played a bit more on emulator and was able to get the first jump around 50% of the time. The trick seems to be to not jump too early. Instead strafe in behind the first diagonal flame to the right, then when near the wall, jump and turn a bit to the left. I made a pretty picture of this:



Green = Strafe
Red = Jump

I was also able to do the jump back pretty consistently for a while. It's pretty much the same thing in reverse. When close to the corner, do a tight turn and hug the left wall very tighly. Jump somewhere in the ligher 2nd square on the floor (the one closest to the flames), while in mid-air, make sure not to turn at all initially, only turn a bit to the right when you're getting close to the diagonal flame (the one you strafe behind in the picture).

Off-topc: I found the memory values corresponding to the bomb defusing in Underground Uprising. Both the red and blue meters are float values ranging from 0.0 - 100.0. Blue meter initially being 100 and then decreasing, while red of course is 0 and increasing.

I tried to find out how those values are affected when you use the defuser kit on the bomb, but looking at the values, it seems both of the meters are RNG based. If you click once the value you get will be different each frame, and the difference can be pretty big. So for a single click, you can get a large increase in red with pretty much 0 decrease in blue and vice versa. I'm not sure what the range of possible increases/decreases are but i seemed to get values around 0.0 - 6.0 for a single click.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #145 on: August 19, 2013, 06:04:22 PM »
Hmm, interesting. For a while I thought the bomb might be split into pre-determined good, medium and bad bombs, but I never gave it too much thought. I know the difference can save a considerable amount of time.

I have come to pretty much the same conclusion as you about the jump also. The first jump is not hard really, but the jump back is considerably harder, imo. Having reviewed my 1:11, I'd say that the best time possible right now is 1:06. Right now I'm using stupid setups to make the jumps easier (they cost a little time, but not much), plus I'm going with any old run (this one wasn't that bad though, tbh) and of course I got stuck costing 2 seconds. I'd be happy with 1:07, I think that's a pretty solid time.

Here's the vid anyway: http://www.youtube.com/watch?v=Th34s9P4Y_s

Apologies for the desync. I think it happened because this recording went on for too long (I usually stop and restart recording after 25~ minutes, but forgot today).

Btw Henrik, do you have any information on swimming? Is strafe-walking faster when swimming? It seems to make less difference when compared to being on land.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #146 on: August 20, 2013, 09:27:42 AM »
Max speed while swimming:

Forward: 0.15 u/s
Backwards: 0.15 u/s
Strafe: 0.05 u/s


Full strafe speed: SquareRoot( 0.15 ^ 2 + 0.05 ^ 2 ) = 0.1581 u/s

So the difference between forward-speed only and full strafe-speed while swimming  is 0.0081, compared to 0.05 for normal strafing on land. While the significance is much less, it's still definately faster and should be used whenever possible. I tested this in the pool on Nightwatch, and swimming diagonally from one end to the next, it turned out 7 frames faster. On a level like Meltdown we're talking seconds probably.

Also interresting to note, backwalking is actually faster in water than on land.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #147 on: August 20, 2013, 09:43:39 AM »
Thanks. My Meltdown runs always suck and I don't strafe-swim (I guess you'd call it), so it might make up a little bit of time. 7 frames to swim the length of the pool in NW, so I'd guess 5~ seconds could be saved with this? Is there a knowledge base for TWINE btw? It seems like a good place to put all this information.

Phazonn

  • Posts: 282
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #148 on: August 22, 2013, 10:17:35 AM »
I was doing sa runs and on nw there's an area with deck chairs to the far right corner of the pool area after you enter that area. There is a small ledge there and I got stuck in it (this has happened to me on uu also). Usually I just quit because I'm trapped but I tried moving around and I flew to the opposite corner of the pool in a single frame. No video because my laptop is broken (I'm on my phone) but it got me thinking why it happened. I think I built up speed because I held c-up and wasn't moving until the speed was enough to get me out of the ledge and that speed was high enough to make me jump over to the opposite corner of the pool. Anyway I can't replicate it but if it could get you through walls and works on any ledge in the game then it could be game breaking. The ledge on uu is the one on the second train platform and is the one ive been stuck in the most plus its easier because no gabor. Might lead to something interesting.

Wyst3r

  • Posts: 4108
  • Train Strat Master
    • Henrik
    • GE
    • PD
    • twitch
Re: Post new TWINE PRs here!!!
« Reply #149 on: August 22, 2013, 10:35:12 AM »
I'll check that out and see if i can replicate it with emulator ^^

Anyway, I just realized that with the way pausing works, you don't even need to hit the 4 frame window to save time, in fact, EVERY pause gains exactly 1 frame if you're moving, even if you don't re-pause. When unpausing you get the "free" position update before the timer starts, and then you get a second position update where the timer is also updated. So essentially you get 2 position updates but only 1 timer update.

This could certainly become an important factor if aim-assisting pausing is allowed. They can quickly accumulate to a significant amount of time. Especially in near-maxed levels.

Some interresting useless stuff:

On Masquerade, using pausing you can get through the door that Christmas is supposed to open before it has a chance to close the first time. However, if you move over to where Renard is supposed to be, he will not be there. He won't be loaded until Christmas actually opens the door, which can't happen if you wander too far away from her position.

It's possible to use pause-buffering to delay the cutscene on CoW 1 where you meet Zukovsky the first time. However, even if you manage to move out of the room on the other side, the cutscene still triggers. (also if you move too far you eventually end up in an unloaded void.