# New techniques? Quick gauss and movement stalling

**URL:** <https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277>\
**Category:** λ Half-Life\
**Created:** [December 4, 2013, 2:50pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277 "2013-12-04T14:50:07Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matherunner](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/matherunner/32/215_2.png) [@Matherunner](https://forums.sourceruns.org/u/Matherunner)\
**Post date:** [December 4, 2013, 2:50pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/1 "2013-12-04T14:50:07Z")

</div>

Not sure if anyone is aware of these two techniques. Perhaps some of you have discovered them long ago.

**Quick gauss**

Quick gauss is not the same as the gauss fastfire used by quadrazid for nihilanth. The method is similar, except with very different results. At the time of writing, it doesn’t work Bunnymod Pro, HLSP Bunny or rofi’s DLL, but it does work with the original WON WON version 1.1.0.8 and unmodded steam version. Of course, those mods can be easily modified to make this technique work again.

Method:

[ol][li]initiate 0.5s secondary charge (e.g. by a tap on the right mouse button)[/li]  
[li]save the game while charging[/li]  
[li]reload the game[/li]  
[li]profit[/li][/ol]

The “profit” part is where the gauss finishes its 0.5 seconds charge and then shoots. The resulting shot is phenomenal. It gives **1000 ups boost** and **200 damage**. But because the charging time is only **0.5 seconds** , only **1 cell** is used.

Obviously, the acceleration and damage provided by a quick gauss shot completely dwarf those of the usual gauss shot. It consumes very little resource and it doesn’t have side effects or cooldown time or whatever.

We haven’t fully explored the applications of this technique. What we do know is we can take out the blast door in the airstrike map in 1 seconds by two quick gauss shots. We can also destroy the door in the crossfire.bsp-like place in 0.5 seconds. The floor at the end of Gonarch’s lair can be destroyed using 4 quick gauss shots (though coupling with some explosives should be even faster). In addition, we no longer need any explosives for Gonarch (we can save them for extreme boosts later). Just one quick gauss deals enough damage to Gonarch at each node to get her arse moving.

We can fire the gauss crazily without giving much shit about the ammo consumption. We can boost ourselves inside narrow pipes and tunnels rapidly, especially when making sharp turns. Very quickly an obsession with speed develops – anxiety will kick in whenever it isn’t at maximum.

In general, pretty much all normal gauss boosts can be replaced by quick gauss shots. However, in sv\_airaccelerate 10 it can get incredibly tricky to control the movement thanks to the high acceleration.

Actually, coolkid [implemented](https://www.youtube.com/watch?v=hNOdu8SyiEE&t=26m22s) a [similar](https://www.youtube.com/watch?v=hNOdu8SyiEE&t=32m08s) [technique](https://www.youtube.com/watch?v=hNOdu8SyiEE&t=35m35s) in his single segment run. Instead of saving the game, he used level transition.

**Movement stalling**

**Edit** : This trick is deemed illegal by most people.

This is a TAS-only technique, and it’s more useful for sv\_airaccelerate 100 runs. Basically, we want to set host\_framerate to something less than 0.001. For example, host\_framerate 0.00099. By doing so, **the movement completely halts**. Yes, we’ll just stay at the same spot until Poincaré recurrence, **regardless of velocity**. However, NPCs and objects will continue to move. The AI continues to run and we can still use buttons, duck, fire weapons, reload weapons, change viewangles, spray logos, talk to scientists, pretty much everything except translational motion. Meantime, **the velocity is preserved**.

It took us quite a while to realise the potential of this technique. One application of this technique would be to skip the electricity in office complex without object boosting, thus saving a bit of time bringing the box. But this is doable only with sv\_airaccelerate 100. We want to stall in front of the elevator door while the next level is loading. We have tried this and it worked very well.

Refer to the two doors at the end of c1a0d. When we enter the first door our speed is potentially very high, but then we can stall our movement while the second door is opening, instead of colliding with it thereby cancelling all the speed. Once the second door opens, we rush out with terrific speed and hit the elevator button as soon as possible. We then stall our movement in front of the elevator door. Then do a jumpbug and stall our movement again to wait for the lower elevator door to open. Then stall again at the door near the two scientists. And again at the door with a guard. As a result, we can maintain nearly 2000 ups after suit grab all the way to the room with 3 scientists.

There are also quite a number of doors in Lambda Core. In general, we can stall in front of a door while it is opening, meanwhile firing quick gauss shots to max out our speed. Even if these don’t save time compared to HL21, they should reduce the need for explosives. Similarly, when we’re inside a teleporter in Xen we can stall our movement, then do quick gauss to quickly max out our speed. Then when the next level loads, we can fly out of the teleporter. In Hazard Course, there are also a number of doors. You get the idea. Although this technique isn’t really “revolutionary”, it surely saves quite a bit of time here and there.

Possible (some of them save time, others save explosives):

[ul][li]door leading to suit room (we should have 2000 ups at this point)[/li]  
[li]glass near crowbar[/li]  
[li]subsequent glass at the top part of elevator door[/li]  
[li]two doors at the start of c1a1b[/li]  
[li]door before barney skip in office complex[/li]  
[li]some doors at blast pit[/li]  
[li]doors before freezer room in apprehension[/li]  
[li]elevator leading to assassins (the elevator will push you up while stalling)[/li]  
[li]doors associated with the room with a trapped alien grunt in QE[/li]  
[li]inside the revolving door at the end of QE[/li]  
[li]subsequent door leading to hydroelectric dam[/li]  
[li]doors at the start of c2a5d[/li]  
[li]doors and elevator in c3a2e[/li]  
[li]maybe doors and elevator in c3a2[/li]  
[li]door with electricity in c3a2b[/li][/ul]

We’re tired of typing “door” already, so we’ll stop now.

[Brute launching](http://wiki.sourceruns.org/wiki/Brute_Launching) achieves the same effect, except it requires additional materials and it’s amazingly inflexible.

**By the way**

If you set host\_framerate to a very low value, you can gain health much more quickly from the health door. For example, instead of 1,000 HP/sec we have 10,000 HP/sec. This alone saves a few seconds.

These two techniques are what convinced us to shift focus to sv\_airaccelerate 100 as far as TAS is concerned. In fact we haven’t been working with sv\_airaccelerate 10 until YaTLeR YaLTeR released his TAS mod. Of course there _is_ a place for sv\_airaccelerate 10 TASes, but they just don’t seem to be _that_ exciting to us anymore.

---

<div class="post-metadata">

**Author:** ![execut4ble](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/execut4ble/32/14_2.png) [@execut4ble](https://forums.sourceruns.org/u/execut4ble)\
**Post date:** [December 4, 2013, 3:07pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/2 "2013-12-04T15:07:49Z")

</div>

Oh my! Amazing post and the quick gauss sounds like a really cool trick, I would love to see all this info on our Wiki! 🙂

> If you set host\_framerate to a very low value, you can gain health much more quickly from the health door. For example, instead of 1,000 HP/sec we have 10,000 HP/sec. This alone saves a few seconds.

host\_framerate is considered a cheat, so sadly, this is only for TAS runs.

Also, I’d like to know who’s behind your team (just curious) 🙂

Thank you very much.

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 4, 2013, 3:22pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/3 "2013-12-04T15:22:55Z")

</div>

Very cool! Although I have some doubts about host\_framerate, it is a server cvar and stuff, even for TASes. I am not completely sure about that one.

Apart from that,

> [@airstrafers](#):
>
> YaTLeR

Eh, second time already

---

<div class="post-metadata">

**Author:** ![Matherunner](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/matherunner/32/215_2.png) [@Matherunner](https://forums.sourceruns.org/u/Matherunner)\
**Post date:** [December 4, 2013, 4:02pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/4 "2013-12-04T16:02:57Z")

</div>

> [@˙executλble](#):
>
> Oh my! Amazing post and the quick gauss sounds like a really cool trick, I would love to see all this info on our Wiki! 🙂

We were going to write all these in the wiki instead, but we don’t want to mess things up as we’re not really familiar with SourceRuns wiki.

> [@˙executλble](#):
>
> Also, I’d like to know who’s behind your team (just curious) 🙂

Sadly, we have unpronounceable names. 🙂

> [@YaLTeR](#):
>
> Very cool! Although I have some doubts about host\_framerate, it is a server cvar and stuff, even for TASes. I am not completely sure about that one.

We don’t really think that’s a problem. Isn’t it one of the main ways to achieve slow motion in widely accepted TASes like quadrazid’s Hazard Course TAS? We’d argue that host\_framerate isn’t really a “cheat” in the same sense as noclip, god, impulse 101, stuffs like that. People call it a “cheat” only because it allows slow motion, thereby giving **human** players an advantage. For TASes, if we script everything then we don’t need slow motion. We’re not even using host\_framerate _for that purpose_. It just happens that host\_framerate modifies pmove-\>frametime and gpGlobals-\>frametime directly, pretty much the same way as how fps\_max prevents gpGlobals-\>frametime and pmove-\>frametime go beyond some value. Both of them _do something to the server_.

If you’re really, _really_ upset about host\_framerate, then just think of our TASes as being in a “category of TAS that allows host\_framerate”.

> [@YaLTeR](#):
>
> Apart from that,
> 
> > [@airstrafers](#):
> >
> > YaTLeR
> 
> Eh, second time already

Oh man really sorry about that. When was the first time? 😃 In fact we always tease each other for not remember your name in our internal discussions.

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 4, 2013, 4:23pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/5 "2013-12-04T16:23:35Z")

</div>

> [@airstrafers](#):
>
> Isn’t it one of the main ways to achieve slow motion in widely accepted TASes like quadrazid’s Hazard Course TAS?

He (as well as me in my bhop map TASes) used the pause alias slowmo - basically an alias that pauses the game every now and then.

> [@airstrafers](#):
>
> Both of them do something to the server.

The thing is - you _can_ change your fps\_max value if you’re playing on a public server, yet you _can’t_ change host\_framerate. That’s why I have some doubts.

> [@airstrafers](#):
>
> If you’re really, really upset about host\_framerate

No, not at all, just my thoughts.

> [@airstrafers](#):
>
> Oh man really sorry about that. When was the first time? 😃 In fact we always tease each other for not remember your name in our internal discussions.

Haha, it’s all right. 😛 Your Bhop.bsp video desc 😃

---

<div class="post-metadata">

**Author:** ![execut4ble](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/execut4ble/32/14_2.png) [@execut4ble](https://forums.sourceruns.org/u/execut4ble)\
**Post date:** [December 4, 2013, 5:00pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/6 "2013-12-04T17:00:43Z")

</div>

Well if host\_framerate is used in a TAS its no problem at all, I was talking about normal runs 😛

About the Wiki, don’t worry, if there are any formatting errors I will fix them (and I doubt there will be any). If you have any questions about the wikicode or other stuff, just ask me.

---

<div class="post-metadata">

**Author:** ![quadrazid](https://b-cdn.sourceruns.org/letter_avatar_proxy/v4/letter/q/f6c823/32.png) [@quadrazid](https://forums.sourceruns.org/u/quadrazid)\
**Post date:** [December 4, 2013, 8:50pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/7 "2013-12-04T20:50:30Z")

</div>

I remember talking with coolkid about the quick gauss. Maybe even in the audio commentary? He even said that it didn’t work in hlspbunny. Yet I never got around to investigate it any further…  
This completely changes the game. So I’m almost happy it didn’t make it into HL21. It would also ridicule the segment count even further.  
HL21 did 56 gaussboosts in total. With this trick you can make 60 GBs only with the cells you get in Questionable Ethics already.  
Well it would mostly change the part from the point you get gauss gun to the health door. After that it will mostly just remove the limited amount explosives for damage boosts. But in a 100aa run it could be used to extreme extent as you said.

Though I’m well aware about the “Movement stalling” using HFR. Which I think is outright cheating even in a TAS. A is TAS supposed to be possible in realtime as well? That is definitely not the case with altered HFR. In realtime you can’t pause player velocity nor raise your fps above 1000 (in current steam I think the limit is higher?)  
However I used similar trick to slow down player time by using fps\_max 501 in HL21 a few times. HFR was used with very low value only for completely pausing the game.

The HZC TAS used loop alises with the standard “pause” cmd to create slowmotion as YaLTeR said.  
For 100aa runs, can’t you just trigger doors ect. and then quickly strafe away and keep velocity in a small circle til the door opens? Thus no need to use the HFR stalling. I’m not sure how sharp you can strafe at 2k ups with 100aa though.  
If you would use HFR for these purposes, it would be separate category in my mind.

That said I’m very impressed by your scripting and looking forward to future TASes : \>

---

<div class="post-metadata">

**Author:** ![Arianon](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/arianon/32/30_2.png) [@Arianon](https://forums.sourceruns.org/u/Arianon)\
**Post date:** [December 4, 2013, 10:51pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/8 "2013-12-04T22:51:43Z")

</div>

The Quickgauss’ trick is very interesting indeed, however for it to work one has to make a small change in the HLSP Bunnymod’s source code: Revert the Gauss’ behaviour back to normal. MrBozo modified it so Gauss charges are kept during segment/map transitions.

I wonder if Spider-Waffle knew about this, but maybe he didn’t use it because it was rather extreme? (like the healthdoor glitch).

> [@quadrazid](#):
>
> Though I’m well aware about the “Movement stalling” using HFR. Which I think is outright cheating even in a TAS.

I agree with you in this one, the modification of server-side variables is a bad idea and the TAS is technically made with “cheating.”

> [@quadrazid](#):
>
> is TAS supposed to be possible in realtime as well?

Nope, the Super Mario 64 TASes make testament of the tricks that are completely impossible for humans to perform. Such as the backwards long-jumping, specially the Infinite Staircase skip.

> [@quadrazid](#):
>
> In realtime you can’t pause player velocity nor raise your fps above 1000 (in current steam I think the limit is higher?)

You’re right, but \>1000FPS in Steam makes the physics go completely nuts last time I checked.

---

<div class="post-metadata">

**Author:** ![OMalley](https://b-cdn.sourceruns.org/letter_avatar_proxy/v4/letter/o/b5a626/32.png) [@OMalley](https://forums.sourceruns.org/u/OMalley)\
**Post date:** [December 4, 2013, 11:23pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/9 "2013-12-04T23:23:57Z")

</div>

To me, this sort of thing would be in a different category to a regular TAS. Changing sv\_airacceleration is as much as changing the gravity. It completely changes how the game works. The same goes for host\_framerate. I’m not going to say it is cheating, but its like the difference between using the NGHL client and the Steam client.

Just make a note in the video description that you change both these variables and I think it’d be really interesting to watch. Really, really interesting to watch actually. I look forward to seeing the movement stalling in action!

---

<div class="post-metadata">

**Author:** ![Matherunner](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/matherunner/32/215_2.png) [@Matherunner](https://forums.sourceruns.org/u/Matherunner)\
**Post date:** [December 5, 2013, 1:16am UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/10 "2013-12-05T01:16:47Z")

</div>

> [@quadrazid](#):
>
> For 100aa runs, can’t you just trigger doors ect. and then quickly strafe away and keep velocity in a small circle til the door opens? Thus no need to use the HFR stalling.

Movement stalling is used at places where strafing around is not possible. For example, before entering the HEV suit room we can stall at the door while it is opening. The spaces around there are too narrow for us to strafe around.

Well if the community consensus is that movement stalling is cheating, then that’s the way to go. To us, not seeing movement stalling being used does take away some excitement – we all enjoy watching Gordon flying around at max speed, don’t we? 😉

> [@quadrazid](#):
>
> I’m not sure how sharp you can strafe at 2k ups with 100aa though.

The diameter of the circle traced out by a player strafing at 2000 ups, 100 AA, 1000 fps is approximately 250 units. In 10 AA, it’s about 2500 units. This means with 10 AA we need a lot more space to strafe around without speed loss.

> [@OMalley](#):
>
> Changing sv\_airacceleration is as much as changing the gravity. It completely changes how the game works.

We’re well aware of that. It’d be in a separate catagory. Perfect strafing in 100AA is crazy! Imagine going from 0 ups to 1000 ups in about 1 second by strafing alone.

Thanks for all the comments, guys!

–

We still think setting host\_framerate to values greater or equal to 0.001 should be allowed. We need to explain what host\_framerate really does.

The standard way of changing frame rate is by means of fps\_max. But we all know that it’s very difficult to maintain a stable 1000 fps, unless your parents are rich and can afford expensive hardware. Even our own computers couldn’t do that. If you set host\_framerate 0.001, then it **makes the game think that it’s running at constant 1000 fps** (1÷0.001 = 1000), even though **the pixels aren’t rendered at that frame rate** onto the computer screen. Similarly, host\_framerate 0.004 makes the game “think” that the frame rate is constant 250 fps, even though vsync might very well have been enabled.

Many of you should be aware of [YaLTeR’s old bhop.bsp run](https://www.youtube.com/watch?v=YeTpODH6I9Y) and [our bhop.bsp run](https://www.youtube.com/watch?v=yfLOugXNBnM). Do you know why we beat YaLTeR’s time? That’s not because we have rich parents who can buy good computers to achieve stable 1000 fps, but rather, we used host\_framerate 0.001. Later when YaLTeR [released an improved run](https://www.youtube.com/watch?v=eOeFkqPEXJw), he also made use of host\_framerate 0.001. In other words, it’s now **fairer** for both of us because we **no longer need to compete for rendering speed** , which isn’t the spirit of TAS. We no longer need to compete for silly things like who’s computer is better at maintaining 1000 fps. _Yay you won the first prize for running Half-Life at stable 1000 fps!_

Of course you could still argue that host\_framerate is a server setting and thus it’s fundamentally different from fps\_max. What’s important though is that **in principle and in theory** fps\_max 1000 should produce the exact same run as host\_framerate 0.001. Except **in practice** , that’s difficult to realise due to non-TAS-related stuffs like crappy graphics card etc. If host\_framerate 0.001 is disallowed, then someone who’s really interested in TAS but with a slow laptop cannot compete with others simply because he doesn’t have a good computer.

–

Originally, we thought movement stalling is allowed because if you allow host\_framerate, then why not allow _any value_ of host\_framerate? But yeah we now agree that there is no way, **even in principle** , to produce the same effect in non-TAS where host\_framerate is disallowed altogether.

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 5, 2013, 5:35am UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/11 "2013-12-05T05:35:50Z")

</div>

Unless it messes up something, host\_framerate \>= 0.001 is fine in my opinion.

---

<div class="post-metadata">

**Author:** ![execut4ble](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/execut4ble/32/14_2.png) [@execut4ble](https://forums.sourceruns.org/u/execut4ble)\
**Post date:** [December 5, 2013, 5:58am UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/12 "2013-12-05T05:58:00Z")

</div>

host\_framerate is alright but only for TASes, as I said earlier.

---

<div class="post-metadata">

**Author:** ![OMalley](https://b-cdn.sourceruns.org/letter_avatar_proxy/v4/letter/o/b5a626/32.png) [@OMalley](https://forums.sourceruns.org/u/OMalley)\
**Post date:** [December 5, 2013, 8:03am UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/13 "2013-12-05T08:03:57Z")

</div>

Now that I think I actually know what host\_framerate does on a technical level, it seems perfectly fair for a TAS. Good write ups.

Just saw your agtricks in 23.83s video. Wow. Look forward to seeing more from you guys.

---

<div class="post-metadata">

**Author:** ![Arianon](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/arianon/32/30_2.png) [@Arianon](https://forums.sourceruns.org/u/Arianon)\
**Post date:** [December 5, 2013, 12:37pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/14 "2013-12-05T12:37:00Z")

</div>

> [@airstrafers](#):
>
> > [@quadrazid](#):
> >
> > For 100aa runs, can’t you just trigger doors ect. and then quickly strafe away and keep velocity in a small circle til the door opens? Thus no need to use the HFR stalling.
> 
> Movement stalling is used at places where strafing around is not possible. For example, before entering the HEV suit room we can stall at the door while it is opening. The spaces around there are too narrow for us to strafe around.

I understand your point there, might be useful, but what about during a HEV quickgrab? you’d need extremely sharp strafing to keep the massive speed, grabbing the suit while barely touching the pod to lose the least amount of speed possible.

> [@airstrafers](#):
>
> Well if the community consensus is that movement stalling is cheating, then that’s the way to go. To us, not seeing movement stalling being used does take away some excitement – we all enjoy watching Gordon flying around at max speed, don’t we? 😉

I thought about it, and certainly it would be really awesome to see a TAS where Gordon is always at \>2000ups.

> [@airstrafers](#):
>
> > [@quadrazid](#):
> >
> > I’m not sure how sharp you can strafe at 2k ups with 100aa though.
> 
> The diameter of the circle traced out by a player strafing at 2000 ups, 100 AA, 1000 fps is approximately 250 units. In 10 AA, it’s about 2500 units. This means with 10 AA we need a lot more space to strafe around without speed loss.

But what if one used sv\_airaccelerate 1000? It **might** allow some extremely sharp circle-strafing, but honestly, that would look really jaggy.

But anyway, your agtricks video is bloody jaggy anyway, so it wouldn’t make much of a difference in the final video.

> [@airstrafers](#):
>
> The standard way of changing frame rate is by means of fps\_max. But we all know that it’s very difficult to maintain a stable 1000 fps, unless your parents are rich and can afford expensive hardware. Even our own computers couldn’t do that. If you set host\_framerate 0.001, then it **makes the game think that it’s running at constant 1000 fps** (1÷0.001 = 1000), even though **the pixels aren’t rendered at that frame rate** onto the computer screen. Similarly, host\_framerate 0.004 makes the game “think” that the frame rate is constant 250 fps, even though vsync might very well have been enabled.
> 
> Many of you should be aware of [YaLTeR’s old bhop.bsp run](https://www.youtube.com/watch?v=YeTpODH6I9Y) and [our bhop.bsp run](https://www.youtube.com/watch?v=yfLOugXNBnM). Do you know why we beat YaLTeR’s time? That’s not because we have rich parents who can buy good computers to achieve stable 1000 fps, but rather, we used host\_framerate 0.001. Later when YaLTeR [released an improved run](https://www.youtube.com/watch?v=eOeFkqPEXJw), he also made use of host\_framerate 0.001. In other words, it’s now **fairer** for both of us because we **no longer need to compete for rendering speed** , which isn’t the spirit of TAS. We no longer need to compete for silly things like who’s computer is better at maintaining 1000 fps. _Yay you won the first prize for running Half-Life at stable 1000 fps!_
> 
> Of course you could still argue that host\_framerate is a server setting and thus it’s fundamentally different from fps\_max. What’s important though is that **in principle and in theory** fps\_max 1000 should produce the exact same run as host\_framerate 0.001. Except **in practice** , that’s difficult to realise due to non-TAS-related stuffs like crappy graphics card etc. If host\_framerate 0.001 is disallowed, then someone who’s really interested in TAS but with a slow laptop cannot compete with others simply because he doesn’t have a good computer.

Now I understand… and I take back what I said before, manipulating host\_framerate for easier TAS recording and rendering is actually a great idea, since you can reproduce that with fps\_max 1000 and an extreme Quad-SLI GTX Titans set up (jk).

–

> [@airstrafers](#):
>
> Originally, we thought movement stalling is allowed because if you allow host\_framerate, then why not allow _any value_ of host\_framerate? But yeah we now agree that there is no way, **even in principle** , to produce the same effect in non-TAS where host\_framerate is disallowed altogether.

```auto
//STOP
alias pause1 "host_framerate 0.000000001;sensitivity 0;bind mouse2 pause0"
alias pause0 "host_framerate 0;sensitivity 3.5;bind mouse2 +attack2" //SENS&BINDs
alias stopp "pausable 1;sensitivity 0;pause;w4;stop;pause1;bind mouse2 pause0"
```

This pause script makes use of host\_framerate to keep the game paused **even during normal game pauses** to use console calmly to change binds, make scripts on-the-fly and (In Bunnymod Pro) activate HUD information useful for a certain segment, and unpause at will.

Also when a demo is recording during a host\_framerate pause, it only records a few microseconds, unlike regular pausing where the demo still records the game, and recording works normally when host\_framerate is set to default again.

Manipulating host\_framerate to obtain 1000fps in a TAS without needing extreme graphical power is, like I said before, an excellent idea.

But, I still believe that manipulating host\_framerate to change the physics of the game is a bit extreme, however **I will gladly watch a TAS that utilizes movement stalling** because the trick sounds incredibly awesome.

However, a question remains, what about fps\_max 1000 and r\_norefresh 1? I thought that it kept 1000fps stable since the game graphics is not rendered at all, but the game continues like normal, this is why it’s the core of this classic auto-jumpbug script.

`//Jumpbug
alias +jumpbug "fps_max 1000;r_norefresh 1;alias _special jumpbug;jumpbug"
alias -jumpbug "alias _special;-duck;-jump;fps_max 250;r_norefresh 0"
alias jumpbug "-duck;+jump;wait;+duck;-jump;wait;special"`

Is the combination not stable enough then? What’s its flaw?

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 5, 2013, 12:47pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/15 "2013-12-05T12:47:05Z")

</div>

> [@Arianon](#):
>
> What’s its flaw?

Well, firstly, you can’t see anything happening on the screen. And secondly, it doesn’t give a stable 1k fps. The reason to that being that your computer still has to do a lot of calculations, which will produce lag spikes. And even one lost frame can result in a different outcome.

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 5, 2013, 2:51pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/16 "2013-12-05T14:51:51Z")

</div>

> [@airstrafers](#):
>
> going from 0 ups to 1000 ups in about 1 second by strafing alone.

And I’d especially like to see this one. Because I don’t think that it’s possible in 100aa.

---

<div class="post-metadata">

**Author:** ![Matherunner](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/matherunner/32/215_2.png) [@Matherunner](https://forums.sourceruns.org/u/Matherunner)\
**Post date:** [December 5, 2013, 4:39pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/17 "2013-12-05T16:39:16Z")

</div>

> [@Arianon](#):
>
> > [@airstrafers](#):
> >
> > > [@quadrazid](#):
> > >
> > > I’m not sure how sharp you can strafe at 2k ups with 100aa though.
> > 
> > The diameter of the circle traced out by a player strafing at 2000 ups, 100 AA, 1000 fps is approximately 250 units. In 10 AA, it’s about 2500 units. This means with 10 AA we need a lot more space to strafe around without speed loss.
> 
> But what if one used sv\_airaccelerate 1000? It **might** allow some extremely sharp circle-strafing, but honestly, that would look really jaggy.

Indeed, in sv\_airaccelerate 1000 the diameter is approximately 130 units. This is the sharpest you can strafe in 1000AA without speed loss. One cannot alter sv\_airaccelerate in the middle of a run though.

> [@Arianon](#):
>
> > [@airstrafers](#):
> >
> > Originally, we thought movement stalling is allowed because if you allow host\_framerate, then why not allow _any value_ of host\_framerate? But yeah we now agree that there is no way, **even in principle** , to produce the same effect in non-TAS where host\_framerate is disallowed altogether.
> 
> ```auto
> //STOP
> alias pause1 "host_framerate 0.000000001;sensitivity 0;bind mouse2 pause0"
> alias pause0 "host_framerate 0;sensitivity 3.5;bind mouse2 +attack2" //SENS&BINDs
> alias stopp "pausable 1;sensitivity 0;pause;w4;stop;pause1;bind mouse2 pause0"
> ```
> 
> This pause script makes use of host\_framerate to keep the game paused **even during normal game pauses** to use console calmly to change binds, make scripts on-the-fly and (In Bunnymod Pro) activate HUD information useful for a certain segment, and unpause at will.
> 
> Also when a demo is recording during a host\_framerate pause, it only records a few microseconds, unlike regular pausing where the demo still records the game, and recording works normally when host\_framerate is set to default again.

Yeah we’ll continue to use host\_framerate 0.000000001 to pause the entire game to type commands in the console, define aliases and do stuffs like that. You can’t do movement stalling with such a low value of host\_framerate.

> [@YaLTeR](#):
>
> > [@airstrafers](#):
> >
> > going from 0 ups to 1000 ups in about 1 second by strafing alone.
> 
> And I’d especially like to see this one. Because I don’t think that it’s possible in 100aa.

If you want to be pedantic, the more precise time is 1.11 seconds. [Demo here](https://mega.co.nz/#!59lETKiB!KdlOqkuXBgMec2v53K1CNTvwkDlDuSLSKo3Ea8gDwYs). We’re sorry that we couldn’t remember the exact figure at that time. This is a bit off-topic for this thread, but did you use the correct formula for the optimal angle? The last we checked, TAS mod didn’t strafe optimally in 100AA.

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 5, 2013, 5:30pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/18 "2013-12-05T17:30:50Z")

</div>

> [@airstrafers](#):
>
> This is a bit off-topic for this thread, but did you use the correct formula for the optimal angle? The last we checked, TAS mod didn’t strafe optimally in 100AA.

I’m trying to make it compatible with high AAs, so I made some assumptions and wanted to make sure that they are correct. Apparently, something is wrong. Thanks 😛

---

<div class="post-metadata">

**Author:** ![YaLTeR](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/yalter/32/553_2.png) [@YaLTeR](https://forums.sourceruns.org/u/YaLTeR)\
**Post date:** [December 5, 2013, 5:36pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/19 "2013-12-05T17:36:25Z")

</div>

> [@YaLTeR](#):
>
> > [@airstrafers](#):
> >
> > This is a bit off-topic for this thread, but did you use the correct formula for the optimal angle? The last we checked, TAS mod didn’t strafe optimally in 100AA.
> 
> I’m trying to make it compatible with high AAs, so I made some assumptions and wanted to make sure that they are correct. Apparently, something is wrong. Thanks 😛

The wrong thing was that I was testing @ 250 fps. Ugh.

`+j;+ml;+tas_perfectstrafe
w1000
w100
w10
w;w
-j;-ml;-tas_perfectstrafe;pause1`

That, with some subtle changes to the HL TAS Mod code, gives me 1000,054780 ups in the end. +j is +jump; +ml is +moveleft; w’s are self-explanatory.

Edit: even more when tas\_autostrafing instead for some reason, depending on the direction I’m facing.

---

<div class="post-metadata">

**Author:** ![Matherunner](https://b-cdn.sourceruns.org/user_avatar/forums.sourceruns.org/matherunner/32/215_2.png) [@Matherunner](https://forums.sourceruns.org/u/Matherunner)\
**Post date:** [December 5, 2013, 6:13pm UTC](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277/20 "2013-12-05T18:13:28Z")

</div>

> [@YaLTeR](#):
>
> Edit: even more when tas\_autostrafing instead for some reason, depending on the direction I’m facing.

That’s mainly because of anglemod() from pm\_math.c, plus some very minor floating point errors. One can’t really avoid them and we hate anglemod() with a passion since months ago. But its effect on the final speed is small anyway.

[Next page](https://forums.sourceruns.org/t/new-techniques-quick-gauss-and-movement-stalling/2277.md?page=2)
