📜 ⬆️ ⬇️

Tool-assisted speedrunning

There are a lot of toys today, both 3D and 2D; both browser and standalone; under Windows and under UNIX. All of them have one thing in common - they run on a computer. But more recently, in the 90s of the XX century, the most popular were undoubtedly console games. Game consoles were probably almost all, whose childhood fell on that period of time.

It would seem that these primitive games have long outlived their age. And so it would be if one day there was not born such a phenomenon as TASing. The abbreviation TAS means “Tool-assisted Speedrun” and in fact lurks old entertainment under it - the passing of speed games. However, if traditional speedranning involves playing in real time and having a huge gaming experience, then with TASing, patience, an understanding of the principles of game functioning and the availability of enough free time become decisive factors.

Description


TASing appeared as a consequence of ordinary human curiosity (“and how fast can you complete this game?”) And is a technique of high-speed passing games using special emulators. The functional basis of such emulators includes:


')
The ability to save and restore the state of the game - this is the first thing that comes to the aid of the player when he makes some mistake. In the process of passing the player periodically presses the save hot keys, and having made a mistake, he restores the state of the game in order to repeat his actions. Already this opportunity in itself can bring a lot. However, the gameplay is almost always too fast for a player to have time to react to game events. Possessing even a refined response over the years, it is impossible to completely abandon the laws of physics, therefore the second mandatory element of emulators is the possibility of slowing down the playing time up to the possibility of manual frame-by-frame advancing the game with a special key. This makes it possible to operate with the minimum indivisible unit of playing time - frame. When generating each frame, the game captures the state of the joystick buttons, so the player has the ability to completely abstract away from the speed of his reaction and think about each action. In conjunction with the preservation-restoration technology frame-by-frame advancement allows the player to try and error by selecting the most optimal course of action.

But how to determine which of the options is optimal? It would seem that if in the first case the player “reached” a certain point and the game counter at the same time point showed 13 seconds, and in the second case at the same point on the counter still 12 seconds, then the second attempt is more successful? But not everything is so simple. For example, in the first situation, the player could come to the mark later, but with greater speed, allowing him to subsequently get ahead of his second attempt. There is a need to get some additional information that the game itself does not provide. And here comes the function of viewing the contents of the memory. Knowing at what address these or other data are located, and in what form they are presented (one-byte unsigned integer, 2-byte signed integer, and so on), using emulator tools you can enable the display of this information. Thus, you can not only maximize the speed of the character, but also, for example, view the contents of the cell, depending on the state of which some random action occurs in the game - for example, some random bonus drops out. This is called luck manipulation. By manipulating luck, a player can, for example, get the most destructive weapon for his enemies as quickly as possible, and because of this, deal with them faster than he would have done without being able to manipulate luck.

The possibility of scripting, probably, to one degree or another is clear to everyone. The emulator provides an API through which a player with Lua programming skills can solve some specific tasks for himself. For example, you can go beyond the built-in emulator function to view the contents of the memory and display the necessary information directly in the game frame; you can draw hitboxes of characters and enemies, and so on.

An example of walking through the wall

Finally, the emulator generates a file that faithfully reproduces the button input needed to complete this game. The response of the game to pressing is always the same, which makes it possible to “play” the input file even on a real game console using a special device . The input files in the Russian-speaking TASers community have received the unofficial nickname “Movies”.

Subtleties


Many games can be completed faster than the developers intended. Due to various software errors in collision detection procedures, a player can literally “enter the wall” in many cases. If this happens, wall ejection begins to work - a “crutch” that corrects the position of the character so that he leaves the relief. The goal of the player is to make this mechanism work for him, pushing the character exactly where the player needs it. When using tools for TASing this goal becomes achievable. Such an approach sometimes allows one or another level to be passed ten times faster than during a normal game.

Sonic the Hedgehog 3 with Lua HUD

When the passage of speed games is boring, the player may set some other goal. For example, show as many program errors as possible in the game. Such runs are called glitchfest and are often no less interesting and spectacular than passing to speed. In short, the goals of the player can be different, but whatever they are, TASing tools allow you to reach them with little blood.

Video


Of course, all of the above needs to be illustrated. For example, in this video, TASer, knowing how the game functions, deceives it by drawing pictures in the playing field and making the game “think” that it enters the correct answers.



Here we see a typical passing game for speed, in which, however, at the moments of waiting, the player does not stand still, but is engaged in shooting and jumping to music, which gives the game a special taste. Spectators' entertainment is an important feature of TAS, which often occurs when a player is forced to wait for some event (as, for example, in this case he is waiting for the moment when the boss is ready to take another blow).



Those who are unfamiliar with these games can watch the mileage of Sonic the Hedgehog 3 and Knuckles. This game is notable for the fact that it can quickly “teleport” to the end of the level, filling the unsigned character's X-coordinate by “flying out” (for example, using the wall ejection mechanism) beyond the left level boundary.



Community


There is an international community of people involved in TASing games. The community site includes a wiki, a forum (including a Russian-language one ), and a publishing system. The player who created the new mileage sends it for consideration, consisting of two-stage moderation: first, all community members give a mileage rating of "yes" or "no" (that is, should this mileage be accepted for publication), then it is evaluated by the privileged community members - judges. If according to the results of voting of judges, the mileage is good, it is exported to a video file and published on the site. The TASvideos community has existed since 2003 and has hundreds of regular contributors.

Literature


Source: https://habr.com/ru/post/148711/


All Articles