Rule changes regarding HL2 and the episodes


#1

Hello everyone!

As you might have heard there has been quite a bit of discussion about the rules for speedrunning Half-Life 2 and the episodes. This led to numerous arguments which didn’t end up in any sort of consensus, so to solve these issues we held a poll about various things between the people who have done RTA runs in the past 6 months. The games that are affected are HL2 New Engine, HL2 Old Engine, HL2:EP1 and HL2:EP2. We’re going to go through a transition period of two weeks after which these rules will go into effect on the speedrun.com leaderboards. If you know any active runners who are using the leaderboards then please let them know.

The changes to the rules are following:

  • Menuing and pauses are counted towards the final time. As of right now the Livesplit timer doesn’t automatically count these in so you will have to time these manually from the video and add that to the Livesplit game time if you want to submit a loadless time. Just upgrade to Livesplit 1.6 and the menus should be timed automatically! No manual timing needed.
  • You can no longer use modifications to your HUD that give you some sort of an advantage. The most common of these was disabling the white flashing while taking damage, which is no longer allowed. Modifications that clearly give you no benefit at all, like changing the font or altering the credits text are allowed.

For HL2 New Engine specifically:

  • You can no longer use maps from different versions. Most commonly this was being used in HL2 for using steampipe maps in the new engine unpack. So if you are using the Ghosting Mod or the Source Unpack you’re going to have to update your maps. Here’s a link to download the maps, optionally you can also get the newest version of the unpack as that has this issue fixed. To update your maps just copy and paste the map files to your maps folder.

This means that the following things are still allowed:

  • save deletion
  • reload/kill commands
  • cl_showpos
  • r_portalsopenall
  • save/load bind
  • Ghosting mod(provided that you use the 5135 maps)
  • anything else that was allowed before that wasn’t listed above as banned

What hasn’t been decided yet is what effect this will have on the runs that are currently on the leaderboards, so if you have any thoughts on that or any questions on the specifics of the rules then feel free to post in this thread.


Deathless save deletion?
Deathless save deletion?
#2

Gonna throw my 2 cents on the old runs on the leaderboards, since the map splicing or the hud modifications aren’t really a big deal timewise I’d suggest that they can stay on there. At the time they were allowed so it would be kind of underhanded the remove them now. As for the menuing bit, I’d suggest that some portion of the top runs on the leaderboards should be retimed adding in the pauses to the final time. This is because menuing takes up a significant portion of time(30 seconds or more in some cases). Retiming all the runs would take quite a bit of effort and many of the runners have already quit so I wouldn’t be too interested in retiming those.


#3

For updating sourcesplit I have two options:

  • Just pause IGT during menus, really easy to implement but becomes a “modified IGT” which seems weird.
  • Get rid of all of the IGT stuff and move completely to RTA w/o loads. Requires a full rewrite of the code pretty much. IGT has always been weird though, because it starts counting like a half a second before the loads actually finish sometimes. Using RTA w/o loads also makes it possible to accurately time without using sourcesplit also (old school video editor load removal) and since demos are now invalid etc

I’m not in the loop as to why you guys chose to do this, but couldn’t you just make a rule to not abuse pauses?


#4

Does this include the UPS HUD element that Ghosting mod has? It does give a greater advantage over just using showpos.


#5

So what was the vote on multiple commands in one key?

Just re-time top runs (if needed). And just leave the old runs be like we did when we switched from Google docs to speedrun.com


#6

Time spent paused is a part of the run and since there’s now a trick that requires menuing the majority thought it should count towards the final time. As far as I’m concerned you can change the plugin either way, whatever is easier.

The ghosting UPS counter is fine.

15 to 11


#7

I honestly don’t understand how you can justify HL2 being a “scriptless” category when bind x “save quick;load quick” is blatantly a script. This is coming from someone who really doesn’t care about arbitrary rules.

A script is a sequence of instructions that is executed automatically rather than have the user do each instruction individually. How is this any different?

What’s stopping me from doing bind x “save quick;load quick;+forward;+duck;+use”. Can I program my entire movement sequence into a bind? Is that scripting?

See where I’m going with this?

Can’t wait to use auto-bhop! Not a script!


#8

what the fuck? hello?


#9

huh?


#10

@xcd
I don’t run any games and people will probably yell at me for saying this, but the way I see it the best way to not be completely arbitrary is to just not allow console use or config edits.


#11

HL2 runs are not scriptless anymore. Simple as that

You can do all of that. 15 ppl said it’s okay 11 said no.


#12

Basically TAS is the only category now.

When the consensus is that SS/RTA runs should be done scriptless, there’s no logical justification for arbitrarily allowing save;load. This is an obvious point that is staring everyone in the face, so there’s no need to vote on something like that. Just because the majority of people currently running the game like it, doesn’t mean it’s right as a whole.


#13

Why do you always associate scripted with TAS? Nobody in their right fucking mind is going to make a full game TAS of HL2 and submit it to the RTA leaderboards, 1. because it’s not possible to do in one segment due to rng, 2. because who would put the effort into making a full game TAS that’ll just be rejected anyway.

Why can’t we just limit the amount of commands bound to a key? ie. 4 commands or something.

Also, you can’t script an auto jump in hl2 using only console commands.


#14

It wouldn’t have to be a “full game TAS”. Just few sequences could be done “TAS” like and it would be a big advantage. It would come down to the one using the most/best scripts would win. If this is only a question about having save;load on the same hotkey then it’s super stupid. It makes minimal difference in HL 2 to just use two seperate binds for it. For clipping purposes, because of how the game works in my experience, there is no advantage time-wise in having save;load script.

Also the pause command should be discussed. And also why didn’t I get the choice to participate in the vote? :<


#15

Why would it get rejected if it’s allowed?

If it makes minimal difference then why do you need to allow it in the first place? Even more reason for it not to be allowed.


#16

It’s allowed

you don’t need to.

Yes this. You could for example automate fast kill on the gunships on the first prison map. And most likely a lot more.


#17

Pause can be bound from the menu so it’s allowed. The wait command is not allowed so all these hypotheses of potential full game TASes are impossible, although I do agree allowing multiple commands to be bound to one key is a bit silly(my opinion). Even if wait was allowed I doubt you’d be able to TAS even small sections due to it desyncing to inconsistent framerate.

Oh you didn’t? Our bad in that case, none of the votes would’ve changed based on one vote though.


#18

o:
since when?


#19

I don’t think anyone has used it before and there was no rule specifically to allow it. Since there hasn’t been a vote about it, as far as I’m concerned it’s banned. If there’s interest in allowing it then it can be discussed separately, I wouldn’t really see a point since it would only allow further automation.


#20

Ye, would be dumb to allow it, better this way. Is there any way to replicate “wait” with other allowed commands. Like pause;unpause all the time. (I can’t test anything since I don’t have HL2 installed)