Random portal boost research page (used to be "what causes it"


So earlier today I was running portal, and was on 00, and got a weird boost coming out of the portal heading towards the elevator. I thought at first that it was a reportal but that doesnt make sense. And from what i understand random portal boosts only happen when you’re going slowly. So would anyone care to explain why i get so much speed there? heres a demo of it.


And a link to a video of it.


This happens to me sometimes too. I’m pretty sure it only happens when jumping out of a portal. I would like to know what causes this and perhaps how to induce/control it.


Honestly I couldn’t agree more. I really wish i knew portals interior code a little better so i could figure out why this happens.


Well this just happened to me. I got almost 700UPS speed from a random portal boost. https://youtu.be/I90z7-KiL9o

If ANYONE has any videos/demos regarding random portal boosts, post them here for studying. I hope we can all come to a conclusion resulting in a new usable speed glitch.


I agree. I renamed the page to be fitting.



The part when I jump through the portal was reportal + random boost. I used it in the TAS and it was completely consistent, so it seems likely that they are consistent but very precise.


i got that in a run : https://youtu.be/ZVRc11c7EA0


Hopefully it doesn’t require Human TAS.

Great! Could I see some demos for further investigation?

EDIT: I should also add that in your demo, Infernoux, when going through the portal, your speed went from 313UPS to 428UPS (115UPS increase). It wasn’t until a moment before you hit the ground (going to the elevator) that your speed dropped from 406UPS to 382UPS and then 617UPS (235UPS increase) in a matter of a few frames. The confusing part is that there was a delay in boost of speed. Unlike most portal boosts that gain a boost directly after exiting a portal, yours had a strange delay.

Another Edit: A likely hypothesis to random portal boost is the change in coordinates when going from one portal to another. The game thinks that the large change in coordinates should be followed by a dramatic change in speed. This would also explain why the boosts are always in the same direction as the exiting portal. What this doesn’t explain is how to manipulate it.


I almost think my boost was from my jumping right when I landed. I believe it’s from hitting the frame of the portal. The game might Think its a slanted surface and give me the extra boost from that. Similar to if you straife jump, then jump when you land on the stairs in 02. (Will upload a demo of me doing it in a bit so you can see what I mean)

Edit Line--------------------------------

To explain further I think its because the portal is slightly off the ground. and because of its being off the ground, and the ground being just below the portal, when i land the game goes “because of the different heights it must be a slant” and it forces me to get that extra boost of movement.

Heres a demo doing the style of boost i was talking about. its done just after the door opens before i go through the blue portal.


the other possibility is that i got a tick perfect jump and that gave me the increase of speed. i find that hard to believe though. I honestly suck at abh-ing. when im not going for a pb i use a macro. (an external program. i find y_spt_autojump 1 is just too fucking cheap)

edit again--------

ive been doing some thinking about what pcow said about it being the movement between portals. and that makes sense. Could it have any relation between when you crouch going through the portal? if so it could be a mini-LAG but on a vertical surface. The game doesnt know what your position should be when you go through the portal. and because of how portals are handled, the game breaks and gives you a massive boost.

sounds like lag to me, but lag warps you elsewhere.

oh, and one last thing. I also get random portal boosts on testchamber 4. (i think thats map 3). when i do oob strats i do a couple consecutive really fast portal peeks. and its actually rare for the game to not boost me out of the map at least once. When i stream tonight ill get a demo of that.


That wouldn’t make sense because the raised portal would make a right angle (90 degrees) and LAG requires an obtuse angle. However, I did notice something odd about the surface on top of a raised portal using cl_showpos 1. When you have a portal just a little bit below the Y-Axis of the other portal, you get a zero gravity effect. Here’s a demo showing that:
[SPOILER] http://www82.zippyshare.com/v/BT0qWctf/file.html
Check the console to see the lack of “sv_gravity”
I tried seeing if the zero gravity effect would be on where Infernoux had his portal boost. No luck. However, the difference in Y-Axis on where I had my boost was 1.97. On 00, where Infernoux had his boost was 1.54. My boost did get me more speed than his.
New hypothesis: If the difference in the portals Y-Axis is between 1.01-1.99, you will get a boost. The closer to 1.99, the more speed gained.**

Now back to my old hypothesis, **“The game thinks that the large change in coordinates [x and z] should be followed by a dramatic change in speed”

**I noticed that in Infernoux’s demo, the change in the X-Axis was almost identical to his increase in speed. His change in X-Axis coordinates was 237, while his change in UPS was 235. I’m pretty sure this is a coincidence considering that in my portal boost, my change in X-Axis was nowhere near identical to my change in UPS. The more supported hypothesis for now will be:

**If the difference in the portals Y-Axis is between 1.01-1.99, you will get a boost. The closer to 1.99, the more speed gained.

**Edit: If anyone here knows how to use hammer, you could help by creating portals with differences in Y-Axis of 1.90-1.99 and see if there is a resulting speed boost.


I’ll try to trace where it happens in the code.


That would be great! I know you’re great with coding/developing so hopefully we can figure this out. Thanks.


what is important to know : this rpb is consistent for me : i got it half of the time so that allows me to do really consistent sub 2 ezpz !

so there is it, the demo : https://www.dropbox.com/s/u2dcofjzlx1gdcb/rpbgodlike.dem?dl=0 (go to 3200 to skip most of the chamber)

but because i am able to redo this boost in rta run, i guess the “random” part of the name should be removed ^^


There is the normal player velocity which is used everywhere in player movement and there’s also the so called VPhysics object velocity, which I’m assuming is handled by the physics engine.

So when you’re teleported (CProp_Portal::TeleportTouchingEntity) your VPhysics object velocity is copied into your normal velocity, which is the point where the portal boost happens (VPhysics object velocity is equal to that new, boosted velocity). VPhysics object is stuff handled by the VPhysics DLL which is black magic which we have no source code of. I tried printing the VPhysics object velocity of the player and it’s equal to some weird shit all the time. Unfortunately I’ve no idea how it works.


Well thanks for trying. We’ll just have to investigate this the old fashioned way.
We still have yet to find out what causes the VPhysics velocity to go up.
It could be caused by:
“If the difference in the portals Y-Axis is between 1.01-1.99, you will get a boost. The closer to 1.99, the more speed gained.”
For now, I’ll try to find some evidence to prove this.


currently toying around with this concept on some locations just with a portal gun. no hammer usage or anything. will edit this to show my findings later


Okay so I just got a random portal boost that breaks my previous hypothesis: “If the difference in the portals Y-Axis is between 1.01-1.99, you will get a boost. The closer to 1.99, the more speed gained.” This is now proven incorrect.
I got a Portal boost in which both portals had a huge difference in the Y-Axis, not between 1.01-1.99.
Video: https://youtu.be/Q9gqBpobMKE

I’ve noticed a few things that brings me to a new hypothesis.
Let me explain by defining a few terms first:

  • Peak: A point in which the Y-Axis changes.
  • Low Peak: The peak on the lower portal;The lowest peak.
  • Mid Peak: The peak in the middle-ish (I’ll exlplain later)
  • High Peak: The peak on the higher portal;The highest peak.

On all random portal boosts I have seen, there has been three peaks. The middle peak is located in between the middle of the two portals and the Low peak.
Here’s a video so you can visually see it. Pay attention to the Y-Axis.
On all random portal boosts, the player goes from the lower portal to the higher portal, bringing an increase in the Y-Axis. This means that they are passing the Low and Mid peak.
Since going through the portal increases Y-Axis, along with the transition from Low to Mid peak, this means there are TWO increases in Y-Axis that are VERY close together in ticks. Really not sure why this is relevant, but maybe soon this will be related to the reason why these random portal boosts happen.

**New hypothesis: There are TWO Y-Axis changes very close to each other. The first one causes the VPhysics Object Velocity to increase. Then the OTHER Y-Axis change is SO CLOSE to the first one that the game doesn’t know what to do with the previous one and just drops it into the regular player velocity. **
(This is just speculation, you don’t have to agree, but this is the most rational explanation I can come up with)

The only thing left to wrap up here is how to induce/manipulate the boosts. It can’t be a tick perfect jump because we have seen this happen in mid-air, while jumping, and while on the ground.

Please send in some more demos or videos if you have any.


Tomorrow when I do my daily portal runs I’ll probably get a demo or two for you. They’re really common for me on 6/7.


If you can contact nan0kub, he has a demo of a portal boost in chamber 01 and his velocity does go to around ~340-ish like your hypothesis said.


still havnt gotten around to uploading those demos. next time i stream when i get bumps i’ll upload them right away instead of procrastinating.