ScummVM, no lo llames solo aventura

Hablemos del proyecto ScummVM, un software utilizado para recuperar las famosas aventuras de LucasArts, ¬°pero no solo!

Para la industria de los videojuegos, el tema de la preservaci√≥n nunca ha sido m√°s apremiante, al menos no hasta hace una d√©cada. En la d√©cada de 9 salieron algunas compilaciones, para Atari o Intellivision, pero -en general- la posibilidad de jugar a los viejos cl√°sicos en una consola o plataforma que ya no soportaba, no era algo que pareciera interesar ni siquiera a la mayor√≠a de los gamers. Sin embargo, el n√ļcleo duro de los nost√°lgicos no se rindi√≥ f√°cilmente, tanto que, a finales de los noventa, comenz√≥ a florecer un espeso escenario de emulaci√≥n. Proyectos como MAME (Arcade), KGEN (Mega Drive) y SnesXNUMXx (Super Nintendo) cumplieron el sue√Īo de poder volver a jugar a viejos cl√°sicos con bastante fidelidad.




¬ŅQu√© pasa con los t√≠tulos de DOS? Desafortunadamente, no hab√≠a mucho fuera de las m√°quinas virtuales complejas. El problema surgi√≥ abrumadoramente cuando Windows abandon√≥ por completo la arquitectura DOS y jugar esos juegos desarrollados entre los a√Īos 80 y 90 se volvi√≥ cada vez m√°s complicado.

Fue al comienzo del nuevo milenio cuando algunos fan√°ticos de los juegos de aventuras se dieron cuenta de que era hora de superar estos obst√°culos t√©cnicos, para poder al menos volver a jugar a los cl√°sicos del g√©nero. ¬°Y ning√ļn t√≠tulo fue m√°s esencial que las primeras aventuras de apuntar y hacer clic de LucasArts! A partir de ah√≠ comenzaron los dos autores originales de ScummVM, vincent hamm e ludvig strigeus, este √ļltimo pas√≥ a la historia, pues, como el principal desarrollador de Spotify.

Desde un principio, ScummVM no fue dise√Īado para emular un software espec√≠fico, sino que se bas√≥ en la idea de reescribir el ejecutable original en C++, utilizando el c√≥digo original del juego o, en su defecto, t√©cnicas de ingenier√≠a inversa para extraer el c√≥digo. Con el nuevo ejecutable que ScummVM pone a disposici√≥n, todos los dem√°s archivos del juego (gr√°ficos, audio, scripts, etc.) siguen siendo necesarios para jugar. Al mantener intactos los archivos antiguos y modificar el ejecutable, puede agregar nuevas funciones, as√≠ como convertir ScummVM en diferentes plataformas, incluidas las m√≥viles, agregar filtros gr√°ficos y nuevas funciones, como guardar y compatibilidad con el mouse.




Orígenes humildes

ScummVM, no lo llames solo aventura
Una de las primeras capturas de pantalla en la red de la segunda versión de ScummVM

en 2001 Vincent Hamm recuerda que hab√≠a estado experimentando con la interfaz SCUMM, el lenguaje desarrollado por Ron Gilbert para las primeras aventuras de Lucasarts, hace unos meses. "Otras personas ya hab√≠an intentado jugar con los t√≠tulos, pero nadie hab√≠a comenzado a trabajar en el gui√≥n de SCUMM. As√≠ que comenc√© desde el principio, con Maniac Mansion y Zak [McKracken]. Cuando lleg√≥ el momento de agregar sprites, Probando en l√≠nea encontr√© un documento t√©cnico sobre Monkey Island II escrito por Ludvig [Strigeus]. Le envi√© un correo electr√≥nico y me respondi√≥ que estaba trabajando en un proyecto similar al m√≠o, pero que ya estaba en una etapa m√°s avanzada. As√≠ que le di retom√© mi trabajo y comenc√© a colaborar en su proyecto que, si no recuerdo mal, a√ļn no ten√≠a nombre".

Los dos comenzaron a colaborar en varios t√≠tulos de Lucasarts pero, despu√©s de terminar Monkey Island 2, se encontraron con un gran obst√°culo. "El sistema de sonido de Sam & Max Hit the Road y gran parte del gui√≥n eran radicalmente diferentes de los juegos anteriores", contin√ļa Hamm. "Recuerdo que esto sucedi√≥ justo despu√©s de que Ludvig, despu√©s de lograr emular tanto a Day of the Tentacle como a Monkey Island 2, comenzara a perder inter√©s en el proyecto. Todav√≠a lo encontraba en el chat de la comunidad, pero cada vez aportaba menos. ."

ScummVM, no lo llames solo aventura
Una GUI clásica de "Lucasarts" en una versión posterior

L'abandono de Strigeus Sin embargo, no hizo que el proyecto se detuviera, contin√ļa Vincent. ‚ÄúGracias a los primeros hitos alcanzados por el proyecto, en 2002 se sumaron varios colaboradores. Todav√≠a estaba trabajando en el gui√≥n de SCUMM, centr√°ndome en intentar compatibilizar algunos de los t√≠tulos lanzados posteriormente (Full Throttle y The Dig), as√≠ como como algunos de los mayores (Telar)."




En los meses siguientes, Hamm tambi√©n comenz√≥ a reducir el n√ļmero de horas en el proyecto, pero, a diferencia de Ludvig, siempre se mantuvo muy unido a la comunidad. "Creo que hay un aspecto educativo importante de ScummVM, debido a su naturaleza de c√≥digo abierto: cualquiera puede averiguar c√≥mo se hicieron estos juegos y c√≥mo funcionan. Adem√°s del aspecto de preservaci√≥n del software, estos eran juegos que eran casi imposibles de ejecutar sin problemas. La compatibilidad fue mi primer objetivo cuando comenc√© a colaborar en ScummVM. Por supuesto, todav√≠a era posible usar m√°quinas virtuales, pero creo que es mucho m√°s interesante poder ejecutar juegos directamente, ¬°sin la necesidad de emular un sistema operativo completo!

ScummVM despega

ScummVM, no lo llames solo aventura
Las secuencias de arcade de Full Throttle (a menudo odiadas) no se implementaron originalmente en ScummVM

A medida que avanza el proyecto, ingresan otras personas, reemplazando a los dos protagonistas originales, que gradualmente han ido abandonando la escena. Eugenio Sandulenko ha estado trabajando como director principal de ScummVM sin interrupci√≥n durante casi 20 a√Īos. "Era octubre de 2003, compr√© una copia de Full Throttle en ruso, llego a casa y no puedo iniciarlo. Hago una b√ļsqueda r√°pida en l√≠nea, instalo ScummVM, inicio el juego y ... se bloquea de inmediato !" recuerda.

"Aparentemente, hubo un problema con el script y las fuentes del juego, as√≠ que hice un cambio r√°pido y lo envi√© al proyecto para su aprobaci√≥n. Despu√©s de jugar durante unas horas, llego al momento en que tienes que saltarte la garganta. y pop-up. un mensaje de "ahora puedes volarte la garganta". Pr√°cticamente toda la secuencia de lucha arcade en la bicicleta se salt√≥ por completo, no estaba implementada en el c√≥digo de ScummVM. Entr√© al chat y me dieron una explicaci√≥n: que parte usaba un motor espec√≠fico y diferente de SCUMM. Como ya ten√≠a varios a√Īos de experiencia con la ingenier√≠a inversa en ese momento, me dispuse a resolver el problema. En respuesta, recib√≠ una linda palmada en la espalda y los mejores deseos de buena suerte. ¬°Si tan solo supiera en qu√© me estaba metiendo en l√≠os!‚ÄĚ Eugene sigue ri√©ndose.




De hecho, el trabajo sobreINSANO El motor, el que usa Full Throttle para las secuencias arcade, termin√≥ demorando m√°s de cuatro meses. Eugene contin√ļa: "¬°INSANE (del ingl√©s" insane ") es un nombre muy apropiado! Eventualmente, el equipo en ese momento se cans√≥ de mis parches constantes para probar y documentar y me invitaron a ser parte del plan del proyecto. estable." Cuando le pregunto por qu√© decidi√≥ seguir trabajando en el proyecto despu√©s de terminar Full Throttle, Sandulenko menciona su pasi√≥n por la ingenier√≠a inversa. "Es como haber terminado un rompecabezas muy dif√≠cil de miles de piezas. La satisfacci√≥n impagable de entender c√≥mo funcionan las miles de l√≠neas de c√≥digo sin comentar, las variables y la l√≥gica detr√°s de un motor. Hoy en d√≠a con los desensambladores se facilita mucho el trabajo, pero al la vez, hab√≠a que ensuciarse las manos con ensamblador".

Las bellezas de la ingeniería inversa

¬ŅC√≥mo comienza el trabajo en un juego? Todo depende de la voluntad de hierro de una persona, como explica Eugene, ‚Äúnecesitamos un desarrollador que tenga una visi√≥n clara, adem√°s de suficiente tiempo y habilidad. En definitiva, un entusiasta de la idea de hacer compatible un t√≠tulo. P√≥ngase en contacto con los desarrolladores originales, para tener alguna m√≠nima idea o consejo, pero, la mayor√≠a de las veces, el desaf√≠o es entre usted y un archivo ejecutable. Algunas veces hemos podido trabajar con el c√≥digo original disponible. Tan pronto como el gerente cree haber llegado a un trabajo casi completo, avisa al resto del equipo, revisamos el nuevo motor, lo modificamos para acercarlo a nuestros est√°ndares y, poco despu√©s, lo integramos al proyecto. Posteriormente, el trabajo en ese juego contin√ļa pero a un nivel Lamentablemente, en ocasiones, Real Life ¬© termina ganando y los programadores no tienen el tiempo y/o las ganas de continuar, lo que significa tener un motor incompleto. en nuestra base de datos: recientemente acabamos de eliminar un par de ellos que no se han utilizado durante a√Īos ".

Con el tiempo, con el proyecto cada vez m√°s conocido, varias personas han intentado sacar provecho de √©l: ha habido numerosos casos de ScummVM de pago en Steam, Google Play Store y App Store. Esto no est√° permitido por la licencia GNU V2 del proyecto, que hace referencia al ejecutable modificado del propio juego. El titular de la licencia original del juego emulado puede usar ScummVM para revender el juego, pero a√ļn debe poner a disposici√≥n del usuario la licencia GPL junto con los derechos de autor de ScummVM, adem√°s de tener que especificar cualquier cambio de c√≥digo. Sandulenko recuerda con enojo uno de los √ļltimos casos: "alguien incluso logr√≥ completar con √©xito un Kickstarter, usando la versi√≥n de ScummVM para Dreamcast y el juego que ponemos a disposici√≥n de forma gratuita en nuestro sitio. B√°sicamente, recaud√≥ 4000 euros vendiendo un buen CD quemado con materiales ya disponibles de forma gratuita! "

Los placeres de la ingeniería inversa

ScummVM, no lo llames solo aventura
Al equipo de ScummVM le encantan los peces de abril, en este caso anunciaron que han implementado los logros en el programa

Los beneficios de reescribir el archivo ejecutable, en lugar de emularlo, quedan claros al analizar los √ļltimos t√≠tulos compatibles con el proyecto. De ello habla Arnaud Boutonne, uno de los principales l√≠deres del proyecto, que empez√≥ a trabajar en ScummVM en 2009 para dar soporte a uno de sus juegos favoritos, Fascination. "Fue mi primer proyecto, legado por el desarrollador anterior, que se cans√≥ de trabajar en √©l". Recientemente, Boutonne, con la ayuda del desarrollador original, logr√≥ introducir soporte para la trilog√≠a de aventuras gr√°ficas de Hugo. La versi√≥n paga est√° disponible en GoG. Arnaud, a pesar de no haber jugado nunca a ninguno de los t√≠tulos de la serie, lo recuerda como una experiencia interesante. Analizar los t√≠tulos y reescribirlos hizo posible, dice, "arreglar algunos errores en el c√≥digo, as√≠ como agregar un par de habitaciones sin usar, as√≠ como documentar Easter Eggs que nadie hab√≠a visto".

Boutonne contin√ļa: "A menudo sucede que logramos eliminar errores, a veces tan importantes como el √©xito de Nightlong: Union City Conspiracy (edici√≥n del juego espa√Īol de Trecision). Agregar escenas es bastante raro, ya que la mayor√≠a de estos juegos se distribuyeron en disquetes y los editores quer√≠an para ahorrar la mayor cantidad de espacio posible para que tuvieran costos de producci√≥n m√°s bajos. Un gran ejemplo de lo que a veces podemos recuperar fue con Blade Runner. Todo el contenido que se cort√≥ todav√≠a estaba presente en los CD, s√≠, solo se trataba de hacerlo accesible. La lista de errores corregidos, audio recuperado y textos in√©ditos alcanza casi las tres p√°ginas: ¬°la versi√≥n ScummVM de Blade Runner es casi una aut√©ntica Director's Cut!‚ÄĚ.

Al principio, el equipo estaba trabajando con Nightdive Studio en una edici√≥n remasterizada, pero la licencia LNG de ScummVM no permiti√≥ que continuara la colaboraci√≥n. El CEO de Nightdive, Steven Kick, explica, "lamentablemente, tuvimos que detener la colaboraci√≥n y, en lo que respecta a nuestro Blade Runner, partiendo de cero, lo que provoc√≥ algunos retrasos graves por nuestra parte. M√°ximo respeto por el gran trabajo realizado por ScummVM de todas formas!‚ÄĚ.

El futuro no es solo apuntar y hacer clic

ScummVM, no lo llames solo aventura
Al equipo de ScummVM le encanta April Fools, en este caso pretendieron haber hecho compatible a Gabriel Knight con Xbox Kinect.

Si bien originalmente solo era un proyecto destinado a emular aventuras de apuntar y hacer clic, el alcance del proyecto ha cambiado en los √ļltimos a√Īos. Eugene menciona su deseo de tener desarrolladores m√≥viles dedicados a corregir esas versiones y, adem√°s, que al equipo le gustar√≠a comenzar a trabajar en algunos juegos de rol. Pero no termina ah√≠, como explica Arnaud Boutonne: "ahora que ScummVM soporta Macromedia director, nos hemos convertido en algo m√°s que una plataforma conveniente para jugar viejas aventuras en sistemas modernos. Director fue utilizado por miles de t√≠tulos en la d√©cada de 90, por lo que, adem√°s de los juegos, ahora tambi√©n podemos emular software".

el co-líder Paul Gilbert habla del nuevo alcance del proyecto como algo que está cerca de su corazón: "con la reciente incorporación de la ficción interactiva, ScummVM representa una especie de punto focal para admitir potencialmente todos los juegos de ficción en el futuro. Por otro lado, también apoyamos varios títulos de las series Might & Magic y Ultima... Me gustaría ser compatible con todos los títulos de esas series, además de tal vez incluso toda la serie Wizardry y, por qué no, algunos Final Fantasy temprano también".

Entonces, desde ScummVM, el proyecto se está convirtiendo en uno plataforma de emulación de cualquier motor gráfico antiguo? Eugene me interrumpe "todavía no y probablemente nunca. Admito, sin embargo, que estamos pensando en transformar ScummVM en una especie de biblioteca, que pueda soportar cualquier juego en el futuro, pero, por ahora, no hemos hecho mucho esfuerzo en eso". dirección. . "

Preservación entre alegrías y tristezas

ScummVM, no lo llames solo aventura
Captura de pantalla de la trilogía Hugo Adventure.

Con respecto al futuro de la preservaci√≥n, muchos miembros del equipo de ScummVM est√°n preocupados por c√≥mo la industria parece no haber aprendido mucho todav√≠a. "En la d√©cada de 80, al menos, guardabas el c√≥digo fuente en disquetes o discos duros y, como suced√≠a a menudo, descubriste a√Īos despu√©s que se hab√≠an vuelto ilegibles", comenta Eugene, "pero hoy, ¬Ņqu√© excusa habr√≠a para no pagar atenci√≥n a la preservaci√≥n del c√≥digo fuente?"

La documentación es un asunto relacionado con la preservación, ya que sin rastro de cambios en el código, reconstruir la historia de una versión a otra se vuelve casi imposible. Lothar Serra Mari, en ScummVM desde 2014, tuvo la tarea principal de traducir la interfaz y curar la documentación, y recientemente se convirtió en co-líder. Lothar menciona el crecimiento constante del proyecto como fuente de inspiración, así como su pasión por mantener la experiencia de juego lo más original posible.

"Hace unos meses, agregu√© tiempos de carga simulados a los juegos de Myst, ya que no me gustaba en absoluto la transici√≥n instant√°nea entre escenas. No era fiel a la experiencia original en absoluto". Adem√°s, recuerda, hasta hace unos a√Īos el proyecto ScummVM no contaba con un proceso adecuado para actualizar la documentaci√≥n. "Especialmente si deseaba realizar un seguimiento de todos los cambios y las nuevas funciones introducidas en cada versi√≥n, la documentaci√≥n ten√≠a que mantenerse actualizada, pero" comenta "de hecho, yo tambi√©n he sido perezoso un par de veces ..."

Sobre el tema de la preservaci√≥n, Mari toma a Nintendo como un ejemplo negativo: "excepto lanzar los mismos t√≠tulos mil veces en todas las plataformas, no est√°n haciendo nada por la enorme biblioteca de t√≠tulos de Wiiware, por un lado, que ya no est√° disponible para descargar. pirater√≠a es la √ļnica manera de acceder a esa biblioteca y, creo, lo mismo ocurrir√° durante unos a√Īos Cambiar. Creo que ahora est√° claro c√≥mo la nueva era digital ha hecho que la preservaci√≥n sea m√°s complicada, ya que muchas veces no hay una forma obvia de acceder a los archivos".

ScummVM, no lo llames solo aventura
ScummVM es una plataforma fácil de convertir incluso para consolas, aquí lo vemos en Switch

Gilbert confirma: "A medida que los juegos se vuelven más y más complejos, será cada vez más difícil poder emularlos. Incluso reconstruirlos en retrospectiva, sin tener acceso al código original, será complicado. Sin un cambio de rumbo, No creo que podamos admitir títulos recientes, considerando cuánto trabajo requieren solo los juegos de los 90. Francamente, todavía estoy sorprendido por la cantidad de títulos que podemos hacer compatibles con cada versión de ScummVM. "

Sobre el potencial futuro del proyecto, algunos de los co-l√≠deres reconocen que la √ļnica forma de mantener vivo el proyecto era ampliar el tema de la emulaci√≥n, desde las aventuras hasta los juegos de rol y la ficci√≥n. Boutonne comenta lo dif√≠cil que se ha vuelto predecir cu√°l ser√° la pr√≥xima etapa hoy. "Con todas las innovaciones recientes del proyecto, desde Director, hasta trabajar con AGS, Nuvie, Residual VM... no podemos poner l√≠mites al futuro de ScummVM. En relativamente poco tiempo hemos pasado de soportar cien puntos y juegos de clic, mil t√≠tulos buenos. Lo √ļnico que falta es tiempo: tenemos docenas de t√≠tulos potencialmente viables, pero hasta que nos paguen por trabajar en ScummVM, ¬°tendremos que priorizar nuestra vida diaria!

Durante sus a√Īos al frente del proyecto, Sandulenko ha visto a muchos de los desarrolladores de ScummVM perder inter√©s por "VitaReale", de hecho cuando menciono en broma la necesidad de un VitaRealeVM que transforma tareas aburridas con mejoras en la interfaz y correcci√≥n de errores, responde que ser√≠a un buen sue√Īo. Por otro lado, comenta, "el equipo pasa mucho m√°s tiempo tratando de descubrir c√≥mo reconstruir t√≠tulos y hacerlos funcionar, en lugar de jugarlos". Finalmente, cuando le digo que, dado que Scumm y los t√≠tulos de Lucasarts no han sido el foco del proyecto durante a√Īos, ¬Ņtal vez ser√≠a necesario un cambio de nombre? Eugene se r√≠e: "Esa es la pregunta n√ļmero uno que recibimos, de hecho, hemos subido una p√°gina completa de nombres alternativos para usar en la wiki. ¬°Si√©ntete libre de elegir uno!"

A√Īade un comentario de ScummVM, no lo llames solo aventura
¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.