Non-scriptless runs tool usage


Please explain your choice when voting.

Let me explain what exactly I mean by +tas_autojump (or similar). It is a function that (by any means) automatically jumps at the exact frame when the player touches the ground after being in the air. This function should NOT be able to make the player jump twice on two consecutive frames since that is not possible (one needs to release the jump button before pressing it again).
For those familiar with SPT, it’s exactly what y_spt_autojump WITH y_spt_autojump_ensure_legit does. This is exactly what bla_pogo does in Ghosting. This is (obviously) exactly what +tas_autojump does in HL TAS Mod. This is exactly what tas_cjmp does in TAS Team’s mod.

So, how does this differ from the usual _special or other jump loop? The loop presses the jump button on (in the best case) every other frame. If the player lands on the frame when the loop releases the jump button, they will get one frame of ground friction (which is not good because it means slowdown). +tas_autojump (or similar) does not have such drawback since it only jumps on the frames on which it should jump. This might also reduce the demo file size since there are no unused +jumps.

Now, +tas_ducktap (or similar) is the function that works like +tas_autojump (as described above), but presses +duck instead allowing for a perfect duckroll. This also removes the camera twitching in the air and the ducked frames (of low airacceleration) in the air.
This is what +tas_groundduck does in HL TAS Mod v1.4, this is what +tas_ducktap does in HL TAS Mod v2.0+, this is what tas_dtap does in TAS Team’s mod.

I personally think that both of these should be allowed since the point of making a speedrun non-scriptless is to get the repetitive actions (like jumping) out of the way, and what’s the point in getting them out of the way imperfectly.

I understand that one of the main points of concern here is that while scripts are built into the game, the functions that I described require a sort of external modification, whether a modified DLL, or a plugin. This is actually the main reason this poll and this topic exists, so that we can sort this question out. It’s much easier in Source where we used AHK for that kind of stuff, which is already an external tool. Unfortunately, this is not the case with GoldSource.

[spoiler=Non-scritless runs]Now, I understand that the whole “non-scriptless” definition is kind of vague. I believe that’s the reason why SDA disallows the scripted runs. For example, HL21: while for most of the run “non-scriptless” meant a bhop / duckroll loop + some helping binds perhaps, like switching the weapons and whatnot, there were parts (triggerdelay) where “non-scriptless”-ness made it almost like a TAS - the script did all the movement.
I believe that one solution to that would be to specifically define the type of “non-scriptless”-ness used, like “Jump loop, duckroll loop and movement scripting in the triggerdelay parts”. That would also get rid of the question raised in this poll.[/spoiler]


I voted yes for autojump, basically it does the same thing as _special with a lot less hassle and its guaranteed to work on most conditions.


EDIT: Misclicked on the poll and voted for the wrong option. Fixed now though.


I think both should be used
its because due to peoples PC’s not being able to run at say a stable 250 fps all the time things like autojump
that dont depend on FPS is helpful to them
its also the fact that… its a scripted run, and I think things like +tas_autojump are in a way, scripts (YES their not actually scripts but they do the same thing, bhop)

(also if yes overrides the no vote add that to bunnymodpro plz it would be fucking awesome)


This isn’t even really down to FPS, we’re talking about the fact that autojump is more consistent than regular scripts no matter what FPS you’re using or what script you’re using, as explained here:

Also, we’re talking consistency of jump timing here, not anything to do with the air acceleration physics. Autojump is useful to anyone, no matter what framerate you’re running. People who can’t run at certain framerates stable are just at a disadvantage of less air acceleration, this doesn’t actually have anything to do with jump timing.


Well, ducktap is the most usefull thing in nojump speedrun. So much less headache. Sad, that you didnt posted this pool earlier.


Voted no. Because it’s external.
Voted yes. Nevermind.


So your saying that if a scripted run uses a modified DLL or other files (such as to achieve perfect jumping/duckrolling) they should be counted as a TAS? If so then I forward this decision.

The more I think about it, the more I start treating HL21 as a TAS for the simple fact that bits of it were 100% scripted. If anything I prefer (although it clunky) AHK and bhop/duckroll/obbo scripts be the only thing used. While I do like scripted runs some of them, such as HL21, are a bit extreme in the use of them.
(probably not on topic but who cares, yay for rants!)

As long as no frame-perfect jumps or modified DLLs and files are used I’m fine with scripted runs on GoldSrc (as long as they use scripts found on the GoldSrc scipts wiki page)

However in regards to the poll, +tas_groundduck and +tas_autojump or whatever its called, should only be used in a TAS.


I appreciate that it’s your opinion, but consider that all of the tricks in HL21 are possible without them being 100% scripted. From what I can tell it wouldn’t be feasible to perform them without them being heavily scripted because it wouldn’t be fully optimal, which I’m pretty sure is what the aim of HL21 was - to create a segmented run that was as optimized as much as possible.

Also consider that Bunnymod Pro/XT and NGHL engine both use modified DLLs, so do you think runs using those should be counted as a TAS? Take those away and the only option you have is the WON version.


There’s 4554 and 6027 besides WON :smiley:


The bhop cap.


When I first saw this I thought that this is pretty clear, the point in a scripted run is to take advantage of everything possible in your .cfg files and obviously no plugins or external programs should be used. Plain and simple, use Half-Life and nothing else. While I’m not quite sure about the definition of “no-scripted” runs, I’m assuming (correct me, if I’m wrong/missing something) it’s disallowing alias and commands followed by a semicolon essentially, which is slightly arbitrary when you think about it. Nevertheless, I like both in their own unique way.

After thinking for a few days I ended up realizing I was stuck on this definition mostly, and to me it would make more sense to get rid of this imperfection you have really no control over. While it technically isn’t random if the jumps get timed perfectly, I nor anyone else can do anything about it.

I ended up voting to add both.


Scriptless means no console / cfg stuff at all AFAIK. Only what you can do through the options menus and whatnot.


I don’t think binds to specific fps’s exists in the options of official half-life clients tho.


I don’t think they are allowed either?


Everyone doing no-scripted runs lower their fps when manipulating NPCs and also during the ladder segment in the test chamber in hl1 AFAIK


Yep, there are a few exceptions. Lowering framerate is allowed.


If we were to argue anything possible in the console is allowed (obviously without breaking any fundamental values) you could write something like this:
bind mwheelup “wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait”
Then set your fps to 15 and scroll one time for every second you’d like to triggerdelay.

I’ve been assuming only
bind mwheelup “wait”
is allowed. Are there really no clear rules regarding this matter?


If we judge by what SDA allows then I’m pretty sure nothing console including the FPS changes is allowed there. But twitch runners use bunnymod anyway so they’ve got some exceptions, I’m not quite sure what is allowed.


Yes, coolkid used above 100fps on his steam run (capped bhop) Since it’s possible without moddings. So did I in my BS SS. Can’t see why the fps-rules change between script and no script runs. It’s just a matter of allowing developer mode or not.

“wait” is one of the kind command. Is there any reason to allow it for a scriptless run?


For OP:
I’d allow it for TASing to get consistency and simplicity for the scripts. Not for script-assisted speedruns. As soon as a human touches the controls it’s not perfect anyway. So that makes the extra modding superfluous when you already have superb spam function within the game (I think if you have knowledge about the right fps values, its 100%?).

There is no standard for rules and the normalization for modding and tweaking the games is a thing I don’t like. It’s all just a growing swamp which is why I don’t enjoy runs as much anymore.