Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
I have a question about TASes. Ive been watching them for years, and they are all from emulated games. Can a TAS be of a non-emulated game if you use excessive savestates and tools (such as AutoHotkey or other input manipulators)? I've been working on a speedrun route for Half-Life 2: Episode 2 and a few physics glitches require AutoHotkey scripts and going Out of Bounds. I know the FAQ states:
This site is a collection of tool-assisted speedrun movies of games that have been recorded using an emulator and other tools.
But, the 'other tools' isnt well defined. Obviously, as most know, Source engine based games have built in demo recording feature, which i dont see why couldnt be considered a tool that legitimately records input from a user. Like with emulators and roms, these demos are based on a certain version of the game to play them. There are ways to save older versions of a game if this ever becomes a problem. Would it be ever possible to submit a work in this fashion to this site?
"I think we can put our differences behind us... for science, you monster."
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I think the minimal requirement [for a movie to be considered a TAS] is the ability to save&undo in such way that the failed attempts (that were undone by loading the saved game) are not seen in the final product. Additionally, to improve quality, it is highly desirable that there is a way to slow down the game in a way that allows for player to have faster reactions, but without compromising game physics, i.e. that when the movie is played back, the game runs at normal speed and the movie still syncs -- but this is not a mandatory part of the definition as I see it (although it is an immensely helpful tool). I do not know what AutoHotKey does. If it does not alter the actual game, but rather it feeds it input events as if they actually game from the player's input, it is all fair game. I would consider such movies as you described to be belonging in the scope of this site, as they're examples of playing beyond the capabilities of any single player. But for a number of practical (or rather, technical) reasons, we currently only accept movies created with certain emulators. [Edit: I'm moving your question and this reply to a new General thread, because it's not a personal question addressed to me, but rather a question addressing the site's policy or TASes in general] What does "going Out Of Bounds" mean? Does it refer to game code corruption, or just abusing wall clipping (i.e. collision detection)?
upthorn
He/Him
Emulator Coder, Active player (391)
Joined: 3/24/2006
Posts: 1802
Bisqwit wrote:
What does "going Out Of Bounds" mean? Does it refer to game code corruption, or just abusing wall clipping (i.e. collision detection)?
He probably means level bounds -- in the HL2 engine, it is possible to go outside the defined level area if you can get above/around/through certain walls.
How fleeting are all human passions compared with the massive continuity of ducks.
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
Bisqwit wrote:
I think the minimal requirement... ...What does "going Out Of Bounds" mean? Does it refer to game code corruption, or just abusing wall clipping (i.e. collision detection)?
It is basically going outside the encompassed level space. 3D level creaters usually put a box around the outside of their map. This area is not supposed to be an area the player is allowed to go. Sometimes there are ways of getting in and out to this space. It could use wall clipping as you stated, or just movement means that the designer didnt predict. This is something that is not allowed by speeddemosarchive.com (SDA). Its funny, but, their also may be a bit of game code 'corruption' (not really corruption, but errors that the game tells you in its system console) when you try one of the other kinds of glitches that have been found for this game. I didnt think about it until i reread what you wrote. AutoHotkey is what you describe it as. Here is a better description given from AutoHotkey.com:
AutoHotkey is a free, open-source utility for Windows. With it, you can: * Automate almost anything by sending keystrokes and mouse clicks. You can write a mouse or keyboard macro by hand or use the macro recorder. * Create hotkeys for keyboard, joystick, and mouse. Virtually any key, button, or combination can become a hotkey. * Expand abbreviations as you type them. For example, typing "btw" can automatically produce "by the way". * Create custom data-entry forms, user interfaces, and menu bars. See GUI for details. * Remap keys and buttons on your keyboard, joystick, and mouse. * Respond to signals from hand-held remote controls via the WinLIRC client script. * Run existing AutoIt v2 scripts and enhance them with new capabilities. * Convert any script into an EXE file that can be run on computers that don't have AutoHotkey installed.
Basically, if you think about this utility, instead of slowing down the game so you can put in commands, you can just make the commands faster which in turn ends with the same result. Instead of slowing down the game to per frame speed, you can just have the input run at per frame speed (may not actually be per frame, but this is just a concept statement). Basically, why im posting this is because the run so far falls on the line of TAS and speedrun at the same time.
"I think we can put our differences behind us... for science, you monster."
Joined: 8/7/2006
Posts: 344
The basic definition of the word TAS implies that an emulator is not required. Look at the Doom/Doom II TASs for proof of that. They're not 'emulated', rather played in an environment where slowdown/savestates are enabled. To answer the question: Yes, TASs can be non-emulated, but since this site is an emulated TAS repository, I would say no, non-emulated TASs are not eligible. (This is my opinion)
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Hypothetical question @ Bisqwit: Do TASes of non "traditional" systems (systems not currently published on this site) need to have the same level of perfection that these traditional systems have, or do they need to be only as perfect as practically possible given the tools on these new systems? edit: "to be accepted on this site", if you disconsider submission system technicalities.
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
Ah, i understand. I dont seem to know of a community that would accept it then. I did find, however, a command that you can put into console to cause the game to run at whatever speed you want it to. The only thing is that sv_cheats 1 has to be enabled: host_framerate Its default is 0, but try a value like .001 and the game is instantly TASable.
"I think we can put our differences behind us... for science, you monster."
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
FODA wrote:
Hypothetical question @ Bisqwit: Do TASes of non "traditional" systems (systems not currently published on this site) need to have the same level of perfection that these traditional systems have, or do they need to be only as perfect as practically possible given the tools on these new systems?
As good as permitted by the given tools and the ability of the players.
Emulator Coder
Joined: 10/9/2004
Posts: 453
Location: Norway
As far as I can see with a FPS game, a TAS would need to qualify through 1 of the 3 methods: 1: The GAME itself needs to implement a system for RECORDING player input, SAVING the game state at any time, and RESUMING recording from the saved state. 2: An outside program allows for EDITING or CREATION of player input on demo files. 3: A program (BOT) is made to play the game by a player chosen path. For 1, slowdown of the game (as a player still plays) would be very handy.
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
TNSe wrote:
As far as I can see with a FPS game, a TAS would need to qualify through 1 of the 3 methods: 1: The GAME itself needs to implement a system for RECORDING player input, SAVING the game state at any time, and RESUMING recording from the saved state. 2: An outside program allows for EDITING or CREATION of player input on demo files. 3: A program (BOT) is made to play the game by a player chosen path. For 1, slowdown of the game (as a player still plays) would be very handy.
Is that 'qualify' for this site? Because then I dont know what it would be qualifying for... or do you just mean for it to be a TAS in general. Eh, thats probably what you mean. Blarg.
"I think we can put our differences behind us... for science, you monster."
Former player
Joined: 6/4/2006
Posts: 97
Location: Everywhere including nowhere
By definition, yes, your HL2 run would qualify as a TAS. As for whether or not Bisqwit would accept it is another matter - in addition to meeting basic requirements of quality, getting through the submission process, etc., Bisqwit also has to add a new section (for games that are TASable because of internal tools), and depending on how many games are likely to be TASed this way, it might not be worth the trouble. The other thing to consider is that not everyone on this forum has HL2 and, as such, would have to wait for somebody to encode the run before they could even vote. (That's another issue - how feasible is it to encode an HL2 demo file to .avi format? I know nothing about it)
...?
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
curtmack wrote:
By definition, yes, your HL2 run would qualify as a TAS. As for whether or not Bisqwit would accept it is another matter - in addition to meeting basic requirements of quality, getting through the submission process, etc., Bisqwit also has to add a new section (for games that are TASable because of internal tools), and depending on how many games are likely to be TASed this way, it might not be worth the trouble. The other thing to consider is that not everyone on this forum has HL2 and, as such, would have to wait for somebody to encode the run before they could even vote. (That's another issue - how feasible is it to encode an HL2 demo file to .avi format? I know nothing about it)
Very very simple, but time consuming. Theres a command, startmovie, that you put in console and itll take a demo and output it to BMP's of each frame. You use a program, VideoMach or others, to take the bitmaps and the audio and make it into an AVI. Here is a guide for Counter-Strike Source, but the commands and steps equally apply to any Half-Life game: http://www.gotgames.com.au/forums/showthread.php?t=1593 This is how the Half-Life 2 Done Quick team made an ultra quality version of their run.
"I think we can put our differences behind us... for science, you monster."
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
I don't remember how the host_framerate command plays with demos, but I don't think that it affects demo playback. Technically it has save states too, however I feel sorry for you if you actually were to try to optimize it using them. I would say possibly you could write a mod to cache the quick saves, and then string them together without a any loading screens but I don't think you have that much control over the game with the SDK. Also it has .dem files, so that's a bit of a bonus.
Emulator Coder
Joined: 10/9/2004
Posts: 453
Location: Norway
To give you a more direct answer: Does not make a run a TAS: - Physics glitches - AutoHotKey scripts (See this as a controller with auto-fire) - Other glitches (Out of Bounds) - Input recording and playback. Does make a run a TAS: - Slowing down the game in order to allow a human to perform complex operations. Playback needs to happen at full speed. - Making programs to alter or edit player input (hex editing, rerecording). Playback still needs to stay in sync. - Making a program ('bot') that plays the game.
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
TNSe wrote:
To give you a more direct answer: Does not make a run a TAS: - Physics glitches - AutoHotKey scripts (See this as a controller with auto-fire) - Other glitches (Out of Bounds) - Input recording and playback. Does make a run a TAS: - Slowing down the game in order to allow a human to perform complex operations. Playback needs to happen at full speed. - Making programs to alter or edit player input (hex editing, rerecording). Playback still needs to stay in sync. - Making a program ('bot') that plays the game.
Just for the sake of discussion, AutoHotkey can perform well more than just pressing a button repeatedly. It can do sequences of keystrokes and other things. Im really aware of its possibilities, but they are definitely greater than a turbo controller. Anyway, out of that TAS list, i can easily perform the first one. The others work take alot of work. Edit: I think sometime next week, ill try doing the first chapter of my speedrun TAS style and see if you guys think it seems to meet the requirements. I think thatll be fun to see a modern game TASed for once.
"I think we can put our differences behind us... for science, you monster."
Emulator Coder
Joined: 10/9/2004
Posts: 453
Location: Norway
Remember, I'm NOT saying that you should not use Physics glitches, AutoHotKey scripts and other glitches. For love of Bisqwit, DO use it. Just remember that we expect performances BEYOND what a superhuman can do.
Editor, Experienced player (734)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
Another interesting thing to consider is what about non rerecording emulators? Some games have a "replay" feature that essentially gives you rerecording abilities (assuming the emulator, regardless of stability, has savestates.) You merely play in frame advance, and use savestates to progress, then at the end for any one particular level or stage or what have you you use replay and it will show what you have done tool assisted. In addition to this, (or more accurately, my initial question) is would this site be expandable to contain "TAS experiments"? I mean this like an entirely devoted section of the site that does not feature published .avi's of console TASes, but more of experimental TASes that work in theory, but don't work like: a rerecording emulator, that has a ROM, that has a input movie file that anyone can replay and encode an avi from. If such a sub section could include EVERY form of tool assisted demonstrations, not to be made as a full published speedrun that fully completes a game, such as: -TASes from experimental new emulators, using any means necessary to achieve "TASing" like savestates, slowdown, even without rerecording (like the method I described above.) -PC TASes, like Doom and Worms Armageddon and the likes (where the source code of the game itself is modified to support TASing features -DOS Box -slowing the console down, like demonstrate said -anything else I may have missed The goal of this sub section would not be competition to have fully completed runs of video games, that are voted on whether they should be published or not, but to have downloadable .avi's that are made from various coders or the authors themselves, and instantly "published" (if they meet certain criteria) in order to promote awareness and existence of such forms of TASing, rather than a competition of perfection and voting on whether it's entertaining/publishable. I'd love to see such a sub section of this site, and i think others would too.
Homepage ☣ Retired
Joined: 4/25/2004
Posts: 615
Location: The Netherlands
Do dem files, replaying on any machine, also set a specific config? Like sv_cheats 1 etc. What would be the rules on this? There are a LOT of variables to play with. The one that immidiately came to my mind was the AI disabling var (used to kill the fun for playing on HL2 when it couldn't contact it's master server). While this var is quite extreme, there are others... How do dem files take these into account?
qfox.nl
Joined: 3/7/2006
Posts: 720
Location: UK
If HL2's .dem files work anything like Quake's .dem files (which they do, a bit, I've played around with hexediting)... they are merely a recording of what is rendered where and when; they are not like Doom's .dem files where the input is recorded and played back through the engine. The same is true of Descent, another game whose demos I've played around with. Editing a .dem file to change what happens is more like editing a Flash animation rather than doing a TAS. The tools definitely have to be internal. host_framerate is an old throwback to Quake; it is banned for demo recording at SDA (because it's way, way too easy to speed up using it) but it also subtly changes the physics and AI. Whether this is true for HL2, I don't know. I would hazard a guess that it does. Some people think that 'HL2dQ' is a TAS because of the amount of extreme glitches and AHK-ing that has gone into it, but if you read the answers TNSe has given (which I agree with), it clearly isn't. People at this site would probably be interested in your run, but it does not seem to be within the scope for publication, I'm afraid.
Voted NO for NO reason
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Any game that makes a key-input-movie file can be tool-assisted by using a hex-editor on the movie file. We also have MHS for memory watching if it's on windows. Slow-down and save-states would be a massive time saver though
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
Here is a really crappy attempt at TASing the first map of Half-Life 2 Episode 2: http://www.youtube.com/watch?v=lmorvXbZ4Gc
"I think we can put our differences behind us... for science, you monster."
Chamale
He/Him
Player (182)
Joined: 10/20/2006
Posts: 1353
Location: Canada
P.JBoy wrote:
Any game that makes a key-input-movie file can be tool-assisted by using a hex-editor on the movie file.
In theory could you hexedit a replay file for a game to create a whole new replay? That would be good to demonstrate. I think a TAS is a run using any tools to overcome human limitations, and consequently must have very high standards.
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
The standards are beside the point, but making a movie by editing a key input file would cirtainly qualify.
Has never colored a dinosaur.
Joined: 4/25/2004
Posts: 615
Location: The Netherlands
Ok like, wow. At about halfway I totally had no idea what was going on. Was playback even at fullspeed there? If the entire TAS is like that I don't think I'll watch it since it's fast and I don't have a clue what's going on... Not to say it's not a nice effort! It is
qfox.nl
Joined: 4/18/2006
Posts: 179
Location: East Petersburg, PA
qFox wrote:
Ok like, wow. At about halfway I totally had no idea what was going on. Was playback even at fullspeed there? If the entire TAS is like that I don't think I'll watch it since it's fast and I don't have a clue what's going on... Not to say it's not a nice effort! It is
I had made a 'better' version of that, but it was slower because I had some spots that i need to revise. I can make it clearer by just keeping the crosshair as still as possible, which can be hard at times. I need to spend the weekend rerunning it and trying to make some improvements. What makes it so hard is that, its sort of like Mario 64 BLJing, but you have to exponentially gain speed per backwards jump (unlike how you have stairs to do that on in Mario). It can gain a huge amount of speed, but it becomes difficult to control, because playing the game at a slow speed, you cannot do anything faster than normal, other than moving the mouse. Its still hard to control player movements (like strafing), because its just as slow as normal.
"I think we can put our differences behind us... for science, you monster."