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.