YaLTeR
He/Him
Joined: 12/2/2011
Posts: 129
Location: Moscow, Russia
In the Source games' speedrun community the runs done with host_timescale are called TSA-s (timescale-assisted) rather than TASes, especially now that advanced TAS tools are available for GoldSource and very basic scripting tools are available for Source which show how much the difference is between human-slowmotion and fully scripted runs.
Joined: 6/14/2015
Posts: 19
please enlighten me as to how LUA scripting is being used in half-life 2 and other source games? or are you using a different scripting language to assist your gameplay? PS: I am even more of a beginner than the OP.
z1mb0bw4y
She/Her
Joined: 11/26/2012
Posts: 70
skypickle wrote:
please enlighten me as to how LUA scripting is being used in half-life 2 and other source games? or are you using a different scripting language to assist your gameplay? PS: I am even more of a beginner than the OP.
It's not LUA scripting. Scripts or scripting in the Source community it what we call programming or automating inputs, basically.
Joined: 6/14/2014
Posts: 47
We use Source Pause Tool made by Yalter & config files
Post subject: TAS of Portal
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
Link to video I did NOT run this. It's also VERY fast and WTF.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Dimon12321
He/Him
Active player (479)
Joined: 4/5/2014
Posts: 1126
Location: Ukraine
Yeah, it's WTF! Sometimes I don't know what is going on! YalTeR told me that they had lots of desyncs during the progress. He thinks it's a problem with physics. Anyway, I didn't expect this result!
TASing is like making a film: only the best takes are shown in the final movie.
YaLTeR
He/Him
Joined: 12/2/2011
Posts: 129
Location: Moscow, Russia
Yup, the physics are sometimes (often) inconsistent and it's something in the vphysics DLL which I don't want to dig into.
YaLTeR
He/Him
Joined: 12/2/2011
Posts: 129
Location: Moscow, Russia
Explanation video: Link to video To clarify, the TAS and this video were NOT made by me.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Well that wasn't complicated at all.
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
Any chance that Jukspa's run could make it onto the site? :-D
"I think we can put our differences behind us... for science, you monster."
Active player (372)
Joined: 9/25/2011
Posts: 652
DemonStrate wrote:
Any chance that Jukspa's run could make it onto the site? :-D
Seconded!! Can we make Portal an authorized TAS engine, allowed to run only one game: Portal?
YaLTeR
He/Him
Joined: 12/2/2011
Posts: 129
Location: Moscow, Russia
There's a number of problems with the current state of TAS tools for Portal, and frequent desyncs is a major one.
Joined: 6/14/2014
Posts: 47
YaLTeR wrote:
There's a number of problems with the current state of TAS tools for Portal, and frequent desyncs is a major one.
FeelsBadMan
keylie
He/Him
Editor, Emulator Coder, Expert player (2828)
Joined: 3/17/2013
Posts: 391
I'd like to try to port the current Portal TASes to libTAS to see if it would work, but I'm unsure what would be the best way to do it. Would it be better to: - Parse SPT .cfg files and convert/export to libTAS input files - Parse HL2DEMOS .dem files and convert/export to libTAS input files - Patch SPT, play the demos inside Portal with SPT plugin loaded so that it prints inputs into a file.
YaLTeR
He/Him
Joined: 12/2/2011
Posts: 129
Location: Moscow, Russia
Hmm, let me think. Before you try converting any TASes, I must say that they will probably desync even if ran with a theoretical Linux SPT on the Linux Portal. First of all it's a different version (the game is usually ran at the 5135 version which came out before Valve made Linux ports), and secondly I tried running some Half-Life TASes on Linux, on the same Half-Life engine version as on Windows (the Half-Life TAS tool, BunnymodXT, is cross-platform), and they desynced, even if I replaced all the autostrafing in scripts with final button inputs. This is most likely due to different floating point assembly instructions leading to very slight precision loss which quickly adds up in the 3D world of Half-Life and the precise nature of TASes. Now, demos won't be a good approach because they are lossy and don't really capture input properly (they capture player positions and angles and whatnot). I would go with converting the scripts, however first you'll need to extract the final inputs since the scripts contain commands like "strafe optimally into this direction". This must be done by modifying SPT, I guess I can help here. Then it might work or it might not, who knows: SPT doesn't use the console commands like +jump or +forward for input, it sits a level lower than this, directly in the input code, so it might turn out there are some issues that arise when trying to go a level higher. I'd suggest you try porting a Half-Life TAS first since the tools are much more mature. I can port some small TASes I made to Linux Half-Life (as I said above simply launching the Windows version leads to small desyncs) and then export it into final button inputs (this functionality is already implemented). I will also be able to help diagnose potential desyncs, and it will be easier than in Source, too, since Source is much more complicated and doesn't have debug symbols avaliable. EDIT: oh yeah, another point against porting the Portal TASes: since the Source physics have some very strange inconsistencies, certain scripts were needed to be run multiple times until the outcome was good, and also some segments were recorded manually as if in a segmented speedrun, to ease up proper prop positioning where there was no time constraint.
keylie
He/Him
Editor, Emulator Coder, Expert player (2828)
Joined: 3/17/2013
Posts: 391
Small update about Half-Life: I could launch it successfully on libTAS from commit 30d20e4. Required settings are: - Runtime > Force locale > Native, and also uncommenting "en_US.UTF-8 UTF-8" in /etc/locale.gen and running locale-gen as su to avoid a popup message at startup - Uncheck Runtime > Prevent writing to disk as it crashes on level loading - Runtime > Wait timeout > Infinite waits - Runtime > Virtual Steam client
Joined: 9/12/2014
Posts: 536
Location: Waterford, MI
Nice! Theres some interesting mods for this game I wanted to tas!
YaLTeR
He/Him
Joined: 12/2/2011
Posts: 129
Location: Moscow, Russia
keylie wrote:
- Uncheck Runtime > Prevent writing to disk as it crashes on level loading
Yeah, afaik HL1 writes and reads files on every map change. The files should contain, among other things, the state of all previously visited maps. I'm not sure if that state is saved anywhere in memory so it might be desirable to save those files in savestates.
nocash4u
She/Her
Joined: 2/18/2012
Posts: 37
Location: Brazil
Would love to check this out.