Un speedrun asistido por herramientas (en inglés tool-assisted speedrun, abreviado como TAS), se define como un speedrun en un emulador, con el objetivo de crear una demostración de una partida teóricamente perfecta. El autor de TAS (llamado TASer) usa sus conocimientos sobre la mecánica de los videojuegos de su interés junto con el uso de emuladores especializados, con tal de optimizar lo más posible el tiempo de partidas. Las herramientas utilizadas para este fin incluyen el uso de guardados y rebobinados, ralentizar y avanzar cuadro por cuadro, crear macros y scripts para realizar acciones automatizadas, etc. En el extremo de este esfuerzo, se pueden utilizar medios como el desensamblador y la fuerza bruta.
La idea no es hacer que el juego sea más fácil para los jugadores, sino más bien producir una partida que lleve el límite de la jugabilidad al extremo, por encima de las habilidades humanas. Como tal, en lugar de ser una rama de los deportes electrónicos centrada en logros prácticos, el speedrunning asistido por herramientas se ocupa de la investigación de los límites teóricos de los juegos y sus respectivas categorías de competencia, y de producir contenido con énfasis en el valor del entretenimiento, como incluir trucos y acrobacias que de otro modo serían prohibitivamente difíciles de incorporar.
Otro tipo de demostración asistida por herramientas es low optimised tool-assisted demonstration (LOTAD), la cual busca crear una partida con el mínimo de errores, a través de métodos más sencillos, como el rebobinado.
Historia
1999-2001 El término fue acuñado durante los primeros días de spedrunning en Doom, durante el cual se realizó la primera de estas ejecuciones (aunque a veces también se los denominó "demos construidas"). Cuando Andy "Aurican" Kempling lanzó una versión modificada del código fuente de Doom que hizo posible grabar demos en cámara lenta y en varias sesiones, fue posible que los primeros jugadores comenzaran a grabar demos asistidos por herramientas. Un par de meses después, en junio de 1999, Esko Koskimaa, Peo Sjoblom y Joonatan Donner abrieron el primer sitio para compartir estas demostraciones, "Speedruns asistidos por herramientas".
Al igual que muchas otras comunidades de TAS, los encargados del mantenimiento del sitio enfatizaron el hecho de que sus demostraciones eran para fines de entretenimiento en lugar de competencias, aunque el intento de lograr el mejor tiempo posible con las herramientas se convirtió también en una competencia. El sitio se convirtió en un éxito, actualizándose generalmente varias veces a la semana con demostraciones grabadas por sus encargados y enviadas por sus lectores. Después de un corto tiempo, cuando se lanzó la versión 2.03 del puerto fuente Marine's Best Friend de Lee Killough (basado en el puerto fuente de Boom), fue aún más fácil para las personas grabar estas demostraciones, agregando la funcionalidad de volver a grabar sin tener que volver a reproducir la demostración hasta que llegó al punto donde el jugador quería continuar.
El sitio estuvo activo hasta el 10 de agosto de 2001, cuando Jonathan Donner publicó un mensaje de noticias indicando que su sitio sería un archivo de ahora en adelante, y apuntando hacia The Doomed Speed Demos Archive, un sitio principalmente para speedruns normales, de las cuales el autor acordó hacerse cargo de la publicación de TAS. Aunque la popularidad disminuyó desde entonces, las demos construidas todavía se han enviado hasta noviembre de 2005, y generalmente se hacen con PrBoom.
2003-presente En 2003, un video de un jugador japonés llamado Morimoto completando el juego Super Mario Bros. 3 en 11 minutos realizando acrobacias, comenzó a flotar en Internet. El video resultó ser controvertido, ya que no mucha gente sabía sobre TAS en ese momento, especialmente para la NES. Como el video no estaba claramente etiquetado como tal, muchas personas sintieron que habían sido engañadas cuando descubrieron que se había hecho usando un emulador. Sin embargo, el video inspiró a Joel "Bisqwit" Yliluoma a comenzar un sitio web llamado NESvideos, que se dedicó a TAS para la NES. Al principio, alojó videos solo para NES, pero a medida que la comunidad creció, sus miembros agregaron las características requeridas para la ejecución de TAS en emuladores para otros sistemas. El nombre del sitio se cambió luego a TASVideos. A partir de mayo de 2020, TASVideos es la comunidad web en inglés más grande que produce y aloja TAS; a noviembre de 2021, el sitio tiene 4592 grabaciones TAS completas (2380 en formato reproducible en emulador) (sin incluir las grabaciones obsoletas), de las cuales 2213 son las más rápidas de su tipo.
Se han realizado TAS para algunos hack ROM notables, así como para juegos oficiales.Some notable ROM hacks are speedran, such as the popular Super Demo World – The Legend Continues hack of Super Mario World. En 2014, se desarrolló un robot, TASBot, capaz de ejecutar TAS a través de la entrada directa de mando (pulsación de botones) hacia la consola en cuestión.
Una personificación en broma TAS, llamada TAS-san, se ha hecho popular entre los usuarios japoneses de Internet. Los TAS cargadas en sitios como Nico Nico Douga, YouTube o TASVideos pueden describirse como un nuevo récord mundial por TAS-san, quien se dice que tiene la memoria y los reflejos sobrehumanos necesarios para ejecutar dicho speedrun en tiempo real (ejecutado por un humano).
Metodología derecha|miniaturadeimagen|300x300px| Un fragmento del archivo de entrada para un TAS de un juego de Game Boy Advance, como se ve en un editor de texto Crear un TAS es el proceso de encontrar el conjunto óptimo de entradas para cumplir un criterio dado, generalmente completando un juego en el menor tiempo posible. No se imponen límites a las herramientas utilizadas, pero el resultado debe ser un conjunto de pulsaciones de botones cronometradas que, cuando se reproducen en una consola real, logran el criterio objetivo. El método básico utilizado para construir este conjunto de entradas es registrar la entrada mientras se juega en un emulador, todo mientras se guarda y carga el estado del emulador repetidamente para probar varias posibilidades y solo mantener el mejor resultado. Para hacer esto más preciso, el juego se ralentiza. Inicialmente, era común reducir la velocidad a una fracción baja (por ejemplo, 5%) de la velocidad normal. Sin embargo, debido a los avances en el campo, es posible incluso detener la reproducción del juego y avanzar cuadro por cuadro.
Una herramienta raramente utilizada es la fuerza bruta en busca de entradas ideales haciendo que una computadora juegue, probando todas las entradas posibles. En teoría, este proceso podría encontrar el conjunto ideal de entradas para cualquier juego, pero dado que el espacio de todas las entradas posibles crece exponencialmente con la longitud de la secuencia, esto solo es viable para optimizar porciones muy pequeñas del TAS. En cambio, se puede usar un algoritmo heurístico. Aunque este enfoque no garantiza una solución perfecta, puede resultar muy efectivo para resolver juegos de rompecabezas simples.
La velocidad de ejecución asistida por herramientas se basa en la misma serie de entradas que se reproducen en diferentes momentos, siempre dando los mismos resultados. En cierto modo, la emulación debe ser determinista con respecto a las entradas guardadas (por ejemplo, las semillas aleatorias no deben cambiar de una ejecución a otra). De lo contrario, un speedrun óptimo en una reproducción podría no completarlo en una segunda reproducción. Esta pérdida de sincronización, o "desincronización", ocurre cuando el estado de la máquina emulada en un índice de tiempo particular ya no se corresponde con el que existía en el mismo punto en la producción de la partida grabada. Las desincronizaciones también pueden ser causadas por estados de guardado incompletos, que hacen que la máquina emulada se restaure en un estado diferente al que existía cuando se guardó. Las desincronizaciones también pueden ocurrir cuando un usuario intenta hacer coincidir las entradas de un archivo de entrada descargado y no poder hacerla funcionar correctamente debido a las diferencias entre versiones de distintas regiones.
Los problemas con la emulación, como el no determinismo y los estados de guardado incompletos, a menudo solo se descubren bajo las condiciones precisas cuadro por cuadro. Los desarrolladores de emuladores a menudo no otorgan alta prioridad a los problemas de velocidad porque tienen poco efecto en el juego normal; en consecuencia, la comunidad ha bifurcado varios emuladores para que sean adecuados para la tarea. Estos incluyen mejoras generales en Snes9x, y de grabación de partidas en Gens, Visual Boy Advance y Mupen64. Si se usa un emulador bifurcado para producir un TAS, la reproducción difiere entre emuladores normales y modificados, produciendo potenciales desincronizaciones en las entradas.
Alteración de memoria Una de las características del TAS, es que se pueden realizar miles de pulsaciones de botones por segundo, lo que depende de la cantidad de botones del mando y el uso de multitaps, del emulador, del software (videojuego) y el hardware (la consola). La pulsacion repetida de botones ocasiona un efecto fundamental: la alteración de la memoria, permitiendo la ejecución arbitraria de código. Dicha técnica permite alterar el juego en curso, e incluso inyectar otros juegos dentro de la memoria del juego anfitrión.
La ejecución arbitraria de código junto con partidas guardadas, también facilita otra técnica común, la manipulación de la suerte, que consiste en generar números pseudoaleatorios, con tal de lograr resultados favorables en algún aspecto del juego (lo que a su vez resuelve el problema del determinismo). Usando un savestate anterior a algún evento, es posible experimentar con pequeñas variaciones de entrada hasta que el evento tenga el resultado deseado. Dependiendo del juego y el evento, este puede ser un proceso que consume mucho tiempo, a veces requiere rebobinar constantemenre y, como tal, puede ocupar una gran parte del tiempo total dedicado a la creación del TAS. Los ejemplos de manipulación de suerte incluyen hacer que en Tetris caiga la pieza deseada, o que caiga un objeto raro la primera vez que uno mata a un enemigo en algún juego de acción.
Otra técnica raramente utilizada es desensamblar o depurar el ejecutable o ROM del juego. Al exponer la lógica del juego, esto permite al jugador manipular la suerte sin prueba y error, o revelar errores oscuros en el motor del juego. Una técnica relacionada más común es monitorear las direcciones de memoria responsables de ciertos efectos para saber cómo o cuándo cambian. Varios emuladores especializados disponen de estas características.
Todas estas técnicas implican una interacción directa con el estado del juego de maneras que no son posibles para un humano usando una consola real, pero el resultado final, el conjunto de entradas que conforman el speedrun, no depende de tal manipulación del estado de la máquina emulada. Por lo tanto, el uso de herramientas en TAS es diferente del tipo de manipulación de estado que proporcionan herramientas como Gameshark, ya que dicha manipulación no sería expresable como una secuencia de entradas temporizadas.
Para que un TAS sea aceptado en sitios como TASVideos, se debe ejecutar un juego sin modificaciones externas que alteren la jugabilidad, por ejemplo mediante el uso de cheats; la ejecución arbitraria de código se realiza en tiempo de ejecución a través de las mecánicas y controles del propio juego.
Relación con speedrun en tiempo real