Trev shot: Difference between revisions
en>PikAsriel m (Text replacement - "speedruns" to "speedrun") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 08:31, 9 April 2022
The "Trev Shot" is a strategy used on Goldeneye 007's 10th level, Statue. By shooting Trevelyan correctly as he appears on the level, it is possible to prompt his talking earlier than intended by the game, thus saving circa 7 seconds.
History
It was discovered by Trent Hovis in March of 2003.
Execution
In order to perform the Trev Shot, you must be at the part after Objective A completes, in front of the Lenin statue. Trevelyan will then appear, and you want to non-fatally shoot him as quickly as you can, and get a fast recovery. As a result, he will start talking earlier, which results in a faster objective completion. When done perfectly, this saves around 6 seconds from the run. The amount of time saved is affected by Trevelyan's Damage Animation.
(!!More context needed, e.g. where to hit Trev, guides to execution!!)
Mechanics
The following details research performed by Wyst3r, detailed in this forum post
I've been looking into the Trev shot on Statue for a while now, specifically why it's fails sometimes despite having hit Trev, and think i have a pretty good idea about what's going on. It's not 100% certain but i thought it was time to post it anyway.
It turns out that the code that makes you fail is the same code that is responsible for detecting if you've shot near a guard/NPC. For example, when you shoot above a guards head and he reacts by looking around his feet etc. Obviously, if you shoot close to Trev without actually hitting him, B will most definitely fail.
So how come it's possible to actually hit him and NOT fail? Well, the code mentioned above works in a pretty wierd way. When i looked at the assembly instructions for this, it turned out to be a simple "less-than-or-equal" comparison between two values. It was pretty tricky to figure exactly what these values actually represented, but after a lot of pondering i am now fairly certain that the scenario is as follows:
Both values represent the lengths of certain vectors. The first of these vectors points from Bond's position, out in Bond's viewing direction (NOT the crosshair's direction, if you're using that), and ends at the intersection of an imaginary perpendicular plane that extends from the guard's position. So if you look straight downwards, the length of the vector will always be the same, regardless of your X/Z position (because the imaginary plane extending from the guard is now completely horizontal). If on the other hand you're at planar view, looking straight at the guard, the length of the vector will be roughly the distance between Bond and the guard (it'll be negative if the guard is behind you). Strafing left/right will have no effect on the value in this case, only forward/backward motion will matter.
The second vector is similar, but instead of the guards position, the plane extends from the point where your bullet actually hit. Since we normally shoot in the same direction as our viewing direction (unless we're using the crosshair), this simply reduces to the distance between Bond and wherever the bullet landed.
If the first vector is shorter (or equal) than the second vector, the shot will be detected (and Obj B will fail on Statue). To see how all of this works, see the following picture:
http://www.upload.speedrunwiki.com/images/gaming/TrevShot.png
In the first picture, Bond is shooting the guard's foot at a 45 degree angle. Guard's positions originate somewhere around their waist, and the green triangle represent the intersection between the first vector and the plane extending from this position. You can easily see that the second (red) vector is much longer than the green one in this case, meaning Obj B would've failed in this case.
In the second picture, Bond shoots the guard hand. Since the hand in this case is closer to Bond than the vector/plane intersection, the shot will not be detected.
So in order to maximize your chances of success on Statue, you probably want to aim for the body part that is closest to Bond. Preferably you should also be looking straight towards Trev's position. The shotgun guards walking near Trev can also detect bullets shot near them but i'm not sure if they're ever close enough to Trev for this to matter or not.
As i mentioned earlier, I am not 100% certain about all the details here, but this is probably a fairly accurate description In practise, this probably won't make much difference for speedrun. But at least we'll know why we fail.