What is this? A project I'm going to work on, but would welcome any help with. I want to make an Alien Swarm TSA speedrun.
TSA stands for Time-Scale Assisted. It means using the console command "host_timescale" to slow down gameplay, allowing for near perfect inputs. The eventual speedrun will be played in real time. This allows us to do absolutely perfect runs. I want to perform flawless, TAS-like runs of all the levels and tie them together into a full game run.
Need help? While I could do this all by myself, it'd be cool to have it be a community effort as well. So I'm posting this in case anyone wants to join in the effort. I don't want to divide roles or limit people's abilities, I'd prefer to give everyone freedom to help whichever way they want.
How can I help? There's a few ways.
1. Routing TSA removes the need for stimpacks in every level. That means every level has the option to take something else to save time. I'm looking for the most minuscule time saves, as well as the most unthinkably difficult time saves. Anything to shave milliseconds off the run. Try to verify things being possible, though I'll take empty suggestions as well.
2. Running If you want to contribute with a level run of your own, just feel free to attempt. I'll note instructions on how to record below. The only limitation on doing the run is to not use Stimpacks. Stims aren't necessary and mess with demo replaying, just don't bother with them. Other than that, get at it, and post here with any results. Obviously it's all 1 player runs, it'd be a mess to do it multiplayer.
3. Technical I don't expect this, but I'll list it anyway. Currently, any runs with Time-scale Assist will show [CHEATS USED] at the score screen. I don't know of any way to prevent this. It looks ugly, it hides the in-game timer, I'd really like to get rid of it somehow, so if anyone knows a way to do so, much obliged.
How do run a TSA level? Step 1: Activate the console command [sv_cheats 1]. Then activate [host_timescale 0.2]. 0.2 can be changed to any value you want (1 is normal speed. 0.2 is 20% speed, etc). Note that at really low speeds, spamming the off-hand item key stops working. 0.2 seems to be the lowest functional speed, but much lower can be used for specific things (like hacking). Lower than 0.02, however, makes replays lag, so avoid that.
Step 2: Record the run as a demo. [record "title"] will start a recording, [stop] or switching maps will end the recording. Keep the title something recognizable, of course. You can use the same title while grinding attempts, it automatically overrides.
Step 2b: Recording guidelines! Try to wait a few seconds in the lobby to avoid the slow screen fade. Please start the recording without a marine selected. Please give a LOT of time at the end of the map, to allow people to see the end screens properly. Do NOT use the [map] command for resets. This cuts out the menu for traveling to the next level, and I want those in. If the level uses slowdowns (elevator, deima, sewer...), activate [asw_stim_time_scale 1]. This prevents the slowdown from ruining the demo. Yes, this kind of changes how the levels work out, but what can we do.
Step 3: Time your demo file using RTA timing (start when the cursor appears, stop when the cursor disappears). For this you can use the in-game demo menu (press Shift+F2). Upload the demo somewhere and post it along with your end timing.
Anything else? I'll be listing the fastest achieved times in this thread as we progress. Just because it's posted, don't assume it's the final time, if you can improve it further, by all means do so. I'll probably handle the final encoding, or I'll send it over to the SourceRuns guys to do that for us.
Good luck to everyone and myself. :)
(Click the time to download)
Hmm, interesting. I'm not sure I would advise finding a way to remove the CHEATS USED text since that would open an entire can of worms to confirming the validity of runs. I doubt it's possible anyway, and the frames can be timed so it isn't really a big deal.
I'm not sure if I'll submit any actual runs for this, but I may check a few tricks if I get the chance. Definitely not until after we finish up with AGDQ, though. There is an insane OOB at the start of Landing Bay I found a while ago that we don't dare try in real-time because it's basically impossible, but it should save quite a bit of time in a solo run (might not save any in co-op). That is the first thing that comes to mind.
Going OOB too early in landing bay doesn't help, there's an objective to enter the building that needs to be triggered. Sadly.
Oh, blah, I forgot about that. I think you've mentioned it before too. Oh well... maybe there's something else I've forgotten about.
Orange figured out something exceedingly stupid.
The level exit triggers can also be triggered by aliens. Especially on Sewer, where the shield bug always spawns in the exit trigger, this is problematic. The retrigger time for level exits is 1 second, and the time that the shield bug activates isn't predictable. So in short, how quickly you can trigger the end is plain RNG.
However, if an alien triggers the level exit while all marines are dead, the trigger will fire successfully, and you will get a Mission Complete. This gives us a new and completely stupid strategy: Destroy all eggs, get close to the exit, then commit suicide the moment you get 20/20. The death timer takes 0.4 seconds, giving you around a 30-40% chance to achieve the correct timing.
3 levels down.
Residential with Onslaught is the worst strategy I've ever thought of. 1:28 is possible with the perfect shield bug spawn, but it's never perfect ._.
I really want this strat for Deima to work somehow, it'd be so much faster to skip the autoscroller. But I can't find any way to get over the canyon. So frustrating.
There's invisible walls blocking the way onto the bridge at every edge and also no way to jet jump back inbounds.
Cargo Elevator is down to 53:85. Could possibly save a couple frames, but I'd rather spend that time getting Timor or Syntek as low as possible.
All levels done. Syntek needs to be improved to at least 1:29. Timor Station could possibly be a second or so faster, but it takes a lot of luck to get.
If anyone has any improvements to offer, now's the time :)
Hey, just wanted to drop by to comment. There still isn't anything off the top of my head I can think of for you to experiment with... we've been running Left 4 Dead 2 for a while now and making great progress over there ourselves, so I unfortunately don't have anything to offer this project but it looks like you're doing well so that's good. SynTek can get to 1:29? That's crazy! I remember getting my solo which took far too long and it wasn't even under 2 minutes. I can't believe that was 7 months ago already. Time really flies...
The SynTek route is basically grinding RNG until an Onslaught shield bug spawns in the perfect position. It makes the map super difficult, even in TSA, and it's a super rare spawn, but it does save a ton of time. I have a 1:34 recorded but it's not the best spawn and I obviously wasted time on it so I don't want to accept it. 1:29 is the dream time, I might not be able to get it, but I want at least 2 or 3 more seconds off.
Syntek Residential is done. That's the last one.
I'm gonna go back over all of em to see if there's any good time savers left (probably Timor, maybe Deima), before I record the run and tie it all together.
Timor Station improved by 1,7 seconds with a new trick.