Post subject: Recruiting programmers for Half-Life TAS team
Banned User
Joined: 5/11/2004
Posts: 1049
So I've recently found out that the speedrunning community has expressed a great interest in seeing a HL TAS. The project is just getting started and we believe to have a working frame advance and auto-jump. However, we still need more programming. Here's some things we need written before this project can really start to move: -demo play back function that disables pauses -auto vibrate hook, auto circle jump hook -ideal modular yaw calculator and adjuster. For the last one there's various programs I have in mind. Basically we want to be able to specify the parameters of a turn and have the program set your yaw to the ideal values on each frame during the turn. The best program I can think of would be something that's lets you input an initial velocity vector, a sequence of (x,y) ordinates, and possibly a desired final velocity vector, and then the program figures out the fastest way to move through all the coordinates by specifying move left/right and the yaw on each frame.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Post subject: Re: Recruiting programmers for Half-Life TAS team
Joined: 3/7/2006
Posts: 720
Location: UK
Spider-Waffle wrote:
-demo play back function that disables pauses
The complete demo format specs are known, right? It would be simple to make a program that deletes the Pause messages completely from a demo. Many things like this are already possible with Quake .dems, and I've done it to Descent .dems before.
Voted NO for NO reason
Tub
Joined: 6/25/2005
Posts: 1377
well quake 1, 2 and 3 are open source now, but the half-life-engine isn't. The largest obstacle in q3's demo files is figuring out the compression, which is a custom huffman encoding with hard-coded frequencies, and I doubt that hl's demos are easier to figure out. LagDotCom, if you're saying the demo specs are known, can you provide a link? I did some googling, but it didn't turn up anything useful.
m00
Editor, Experienced player (730)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
The true irony of the Source engine games is that they come equipped with every tool that you need to make TASes; the only problem is that you cannot use loads (savestates) in combination with timescale/next step (slow down/frame advance). This is because if the game is set to timescale or next step, loading a save will cause the game to crash, and the number of frames needed to input making the game pause after a load (to prevent crashing) is random. If you can find a way around this, then you're set, otherwise you'll be looking at either a segmented speedrun, or a run using only slowdown/frame advance. Edit: I don't have on me right now, but later I can insert a link which IIRC is all the specs and information about everything Source related, such as all info about .dem's, and commands and etc.
Homepage ☣ Retired
Joined: 8/24/2007
Posts: 23
Doesn't the original Half-Life use a different engine to Source (Like GoldSrc?) I think it does...
Player (67)
Joined: 3/11/2004
Posts: 1058
Location: Reykjaví­k, Ísland
roxahris wrote:
Doesn't the original Half-Life use a different engine to Source (Like GoldSrc?) I think it does...
Wikipedia agrees. It's a modified version of the Quake engine. (I thought it was a modified Quake 2 engine, but apparently, Wikipedia disagrees with that).
Joined: 11/1/2007
Posts: 100
Half-Life uses an engine colloquially called GoldSrc. Half-Life 2 uses an engine called Source. All mods are based on either one of these.
Banned User
Joined: 5/11/2004
Posts: 1049
HL's engine was mostly a quake mod, with most of the q2 netcode and some other things from q2.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
honorableJay
He/Him
Joined: 8/18/2008
Posts: 104
Location: Albany, NY
This might sound a bit obvious, but how do you plan on inputting all of the data you get from these programs into the game? Will you be playing it and manually putting all of this in or having some sort of bot accept the calculated data then make that happen on screen? An advanced TAS tool that I can think of off the top of my head would be a map route planner. Load the current map and plot out the course you'd like to take, and it could tell you 1) if the route is possible with current loadout, 2) what it would take to make certain jumps (speed, height, etc etc), and 3) how you would have to exit the previous map to make it possible (what weapons/ammo, velocities, etc). Another good feature would be exploit recognition, where it could find spots on the map that could be abused for tricks (for arguments sake, assume it'll only look around the intended route).
Banned User
Joined: 5/11/2004
Posts: 1049
We'd want some kind of bot that can feed the input into a demo recorded run. Doing it manually would suck, when it could be automated.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."