Script Creation Utility for Maniac Mansion Virtual Machine ( ScummVM ) es un conjunto de recreaciones de motores de juegos . Originalmente diseñado para ejecutar juegos de aventuras de LucasArts que usan el sistema SCUMM , también admite una variedad de juegos que no son SCUMM de compañías como Revolution Software y Adventure Soft . Fue escrito originalmente por Ludvig Strigeus . [1] ScummVM es software libre que se publica bajo los términos de la Licencia Pública General de GNU .
ScummVM es una reimplementación de la parte del software utilizada para interpretar los lenguajes de programación que dichos juegos usaban para describir el mundo del juego en lugar de emular el hardware en el que se ejecutaban los juegos; como tal, ScummVM permite que los juegos que admite se jueguen en plataformas distintas de aquellas para las que fueron lanzados originalmente con poca o ninguna sobrecarga (debido a que no emula el hardware) y sin los errores que podrían existir en el software original.
El equipo detrás del proyecto también agrega mejoras como correcciones de errores y traducciones, y trabaja con empresas comerciales como GOG.com en relanzamientos. [5]
ScummVM es un programa que soporta numerosos motores de juegos de aventura a través de máquinas virtuales , lo que permite al usuario jugar juegos de aventura compatibles en la plataforma que elija. ScummVM no proporciona ninguno de los activos originales para los juegos que soporta, y espera que el usuario sea el propietario adecuado de los medios del juego original para poder usar el software legalmente. El sitio web oficial del proyecto ofrece juegos que son freeware que funcionan directamente con ScummVM. Además de reimplementar los ejecutables del juego en forma portátil, ScummVM permite a los jugadores guardar y cargar el estado del juego en cualquier momento, lo que habilita un sistema de guardado sobre lo que pueda proporcionar el juego reimplementado. También ha comenzado a trabajar en la provisión de controles alternativos para dispositivos más nuevos, como dispositivos móviles con pantallas táctiles, que funcionan sobre los juegos originales. [1]
Aunque ScummVM parece funcionar de manera equivalente a un emulador de juegos , el equipo de ScummVM no lo considera como tal. Fuera de algunos subsistemas como los motores de audio, en los que se ven obligados a confiar en la emulación, ScummVM recrea motores de juegos de lenguajes más antiguos en código C++ más portable , de modo que los códigos de operación de alto nivel en los activos de un juego se ejecutarán de la misma manera que su versión original, al tiempo que mejora la portabilidad de ScummVM a numerosas plataformas. El equipo de ScummVM considera que esto es una mejora con respecto a simplemente ejecutar los juegos más antiguos y sus ejecutables a través de un emulador de sistema operativo, como DOSBox , ya que las implementaciones de ScummVM son más livianas y requieren menos potencia de procesamiento y memoria, lo que permite su uso en entornos de procesamiento más limitados como dispositivos móviles. [6]
La portabilidad es un objetivo de diseño del proyecto. [7] Los ports de ScummVM están disponibles para Microsoft Windows , macOS y una variedad de sistemas similares a Unix , incluidos Linux (basado en RPM, Debian o source), miembros de la familia BSD ( FreeBSD , NetBSD , OpenBSD , DragonFly BSD ) y Solaris . También se ha portado a sistemas de consola. Los ports de computadoras personales menos convencionales incluyen aquellos a Amiga , Atari-Free MiNT , Haiku - BeOS - ZETA , RISC OS y OS/2 (incluidos derivados como ArcaOS ).
Una variedad de consolas de juegos tienen puertos oficiales. ScummVM ha sido portado a máquinas de juego como PlayStation 2 , PlayStation 3 , Dreamcast , Nintendo 64 , GameCube y Wii , [8] y a consolas portátiles que incluyen GCW Zero , GP2X , Nintendo DS , Pandora , PlayStation Portable y PS Vita . Las plataformas de computadora portátil compatibles incluyen Palm OS Tapwave Zodiac , Symbian ( plataforma UIQ , Nokia 60 , 80 y Nokia 7710 90 ), Internet Tablet OS de Nokia (usado por Nokia 770 , N800 y N810 ), iPhone de Apple , [9] teléfonos MotoMAGX, MotoEZX y Windows Mobile . Las plataformas compatibles con puertos no oficiales de ScummVM incluyen la consola de juegos Xbox de Microsoft, BlackBerry PlayBook , [10] Zaurus , Gizmondo y plataformas de dispositivos portátiles GP32 . También son compatibles los teléfonos móviles con Android , [11] webOS [12] o el sistema operativo bada no oficial de Samsung.
El trabajo en ScummVM comenzó en septiembre de 2001 (con el primer lanzamiento público en octubre [2] y un lanzamiento del sitio en noviembre [13] ) por el estudiante de informática Ludvig Strigeus. Buscando escribir su propio juego de aventuras, buscó ver cómo funcionaba la mecánica de un motor de juego existente, específicamente trabajando para crear una forma de jugar Monkey Island 2 en su máquina Linux. [1] Casi al mismo tiempo, Vincent Hamm también estaba buscando implementar un reproductor de sistema SCUMM, y aunque había investigado más a fondo para comprender cómo funcionaba el motor SCUMM, descubrió que Strigeus estaba mucho más avanzado, y los dos se unieron para elaborar el proyecto. [1] Mientras Strigeus terminaba la implementación requerida para Monkey Island 2 , Hamm trabajó por separado para preparar el motor para Indiana Jones y el destino de la Atlántida , y una vez completado, los dos encontraron cierta descoordinación en sus esfuerzos, pero finalmente lograron que el proyecto funcionara para ambos juegos. [1]
En noviembre de 2001, el sitio web de noticias tecnológicas Slashdot publicó noticias sobre ScummVM , lo que despertó un gran interés en el proyecto y varios otros desarrolladores se unieron al proyecto para ayudar a dar soporte a otros juegos. Estos desarrolladores a menudo recurrían a los creadores de los juegos originales para obtener información de manera informal, para ayudar a crear la reimplementación. [1] Otros desarrolladores ayudaron a dar soporte a juegos que no usaban SCUMM, como Simon the Sorcerer de Adventure Soft ; hubo cierto debate sobre cambiar el nombre del programa en este punto, pero finalmente mantuvieron el título ScummVM, creyendo que SCUMM era el motor de juegos de aventuras más reconocido. [1] Strigeus había creado soporte para iMUSE, el software de sonido utilizado por muchos juegos de LucasArts, pero temía incluirlo debido a la posible reacción negativa de LucasArts. Otros desarrolladores del proyecto le aconsejaron que no debería haber problemas legales y finalmente se incluyó. [1] Aunque Strigeus y Hamm abandonarían el proyecto en 2002, para entonces ya contaba con un equipo de desarrollo lo suficientemente grande como para permitirle crecer, liderado por James "Ender" Brown. [1] Tras este cambio, el código fuente del motor se cambió de C a C++ y se añadió una interfaz gráfica de usuario (GUI). [1]
Al conocerse mejor el proyecto, LucasArts envió una carta de cese y desistimiento al proyecto, creyendo que estaban usando parte del código propietario de LucasArts. Brown trabajó durante los siguientes cuatro años con los representantes legales de LucasArts para explicar la naturaleza del proyecto y la fuente de su información para demostrar que lo que habían creado era legal. Brown consideró que LucasArts estaba tratando de ser complaciente ya que ScummVM ayudó a generar interés en estos títulos. Finalmente llegaron a un acuerdo legal para permitir que ScummVM continuara desarrollándose. [1]
El proyecto también incorporaría otros esfuerzos paralelos para hacer reimplementaciones de juegos para otros juegos de aventuras. Los juegos de Sierra Online tenían una gran demanda para el proyecto, lo que requería que implementaran el Adventure Game Interpreter (AGI) y el más avanzado motor Sierra's Creative Interpreter (SCI). El soporte de AGI se agregó en 2006 al incorporar esfuerzos del proyecto Sarien, pero los esfuerzos para el soporte de SCI se vieron obstaculizados por el proyecto paralelo, FreeSCI. Aunque tanto ScummVM como FreeSCI tenían como objetivo realizar ingeniería inversa del funcionamiento de SCI, FreeSCI había declarado que adoptaron un enfoque más de sala limpia para evitar cualquier pregunta legal sobre su ingeniería inversa, y creían que el proyecto ScummVM había entrado en conflicto con algunos de los enfoques de Sierra y, por lo tanto, dudaban en trabajar juntos. [1] Sin embargo, FreeSCI comenzó a languidecer en interés en comparación con ScummVM; Después de que un desarrollador se encargara de hacer que el motor FreeSCI funcionara en ScummVM, FreeSCI vio una mayor participación en su proyecto y acordaron fusionar sus esfuerzos en ScummVM. El soporte inicial de SCI se lanzó posteriormente en una versión 2010 de ScummVM. [1]
ScummVM continúa agregando nuevos juegos o motores de juego, aunque el proceso para crearlos es relativamente lento. Según el líder del proyecto del equipo, Eugene Sandulenko (a partir de 2017 [5] ), los motores de juego se eligen para su inclusión en ScummVM si se les proporciona el código fuente que facilita su portabilidad a la arquitectura del software, o si uno o más de los miembros del equipo están apasionados por incorporar un motor de juego al programa para realizar la difícil tarea de reconstruir el código del juego a partir de las versiones compiladas. [6] Inicialmente, ScummVM solo incluía motores de juego 2D, dejando que los juegos 3D fueran manejados por el proyecto hermano ResidualVM , pero en 2021 los dos proyectos se fusionaron, levantando esa restricción. [6] [14] La versión 2.0 de ScummVM se lanzó en diciembre de 2017, agregando soporte para varios videojuegos de movimiento completo y algunos títulos muy oscuros, como Full Pipe y Plumbers Don't Wear Ties . Con esta versión, ScummVM tiene soporte para 64 motores de juego diferentes. [6]
Desde aproximadamente diciembre de 2017, ScummVM ha estado trabajando en el soporte de Macromedia Director en coordinación con algunos de los desarrolladores originales. Macromedia Director se utilizó para muchos videojuegos de mediados de la década de 1990, como The Journeyman Project . [6] En agosto de 2021, se lanzaron las primeras versiones de ScummVM con soporte para Director, y el equipo siguió trabajando para mejorar el rendimiento. [15]
En 2004, Éric Chahi intentó incluir Another World, lo que generó cierta tensión interna en el proyecto. Another World no era un juego de aventuras de tipo point-and-click y utilizaba gráficos basados en polígonos en lugar de los gráficos basados en píxeles que emplean la mayoría de los juegos de aventuras, por lo que se consideró que se alejaba seriamente del enfoque de ScummVM. Aunque el proyecto se descartó a los pocos días después de que Chahi solicitara su eliminación, ya que estaba preparando una remasterización del 15.º aniversario para su venta, los líderes actuales del proyecto tuvieron que reorientar el grupo y definir los ideales que ScummVM debía cumplir. [1]
ScummVM también ha tenido dificultades para incorporar juegos que utilicen Adventure Game Studio (AGS), que se utiliza con frecuencia en juegos de aventuras independientes , como la serie Blackwell . Si bien el código fuente de AGS había sido publicado por su desarrollador Chris Jones en 2010, el equipo de ScummVM se encontró con una gran cantidad de quejas de los desarrolladores que usaban el motor AGS para sus juegos, que afirmaban que no querían ver sus juegos funcionando en ScummVM. [6] Sin embargo, finalmente, un par de años después, AGS se probó en la versión de desarrollo, con una solicitud al público para realizar pruebas beta de miles de juegos recientemente compatibles, [16] hasta que todos los juegos AGS v2.5+ se agregaron oficialmente al programa, coincidiendo con su vigésimo aniversario en octubre de 2021. [14]
ScummVM ha participado en el Google Summer of Code todos los años desde 2007, excepto en 2015. Se inició un proyecto hermano, ResidualVM , para implementar motores para juegos de aventuras tridimensionales, como Grim Fandango y Myst III: Exile , llamados así porque estos juegos reflejan el residuo de los que aún no estaban cubiertos por ScummVM. [17] A finales de 2020, ResidualVM se fusionó oficialmente con ScummVM. [2] Esto se completó con el lanzamiento de la versión 2.5, coincidiendo con el 20º aniversario del programa en octubre de 2021. [14]
Según Sandulenko, "no hay un proceso típico" en lo que se refiere a la colaboración con los desarrolladores: "Todo es ad hoc. Lo que hacemos es intentar buscar información de contacto de personas que hayan trabajado en los títulos que le interesan a algún desarrollador y solicitar acceso a su código fuente original, si aún existe en algún lugar. Luego comenzamos a trabajar en ello a nuestro propio ritmo". [18]
Con una mayor atención, ScummVM ha llegado a acuerdos favorables con desarrolladores de juegos de aventura para que les ayuden a incorporar sus títulos al motor o, en algunos casos, les han proporcionado el código fuente y otros recursos con los que trabajar. Revolution Software ayudó a los desarrolladores con el código fuente y el asesoramiento técnico para sus juegos y, una vez que ScummVM dio soporte al motor Virtual Theatre de la empresa , Revolution lanzó Lure of the Temptress y Beneath a Steel Sky como software gratuito y proporcionó recursos de sus dos primeros juegos de Broken Sword en un formato de medios abierto. El renovado interés en estos juegos por parte de los jugadores más jóvenes permitió a Revolution trabajar en dos juegos más de Broken Sword . [1] Otros desarrolladores que han trabajado estrechamente con ScummVM incluyen:
La tienda digital GOG.com , que se especializa en la venta de copias digitales de juegos antiguos, brinda soporte a ScummVM y vende títulos que incluyen el motor ScummVM como parte de su distribución. [1] Disney , que posee los derechos de los juegos de aventuras de LucasArts , lanzó Maniac Mansion en Steam con ScummVM. [6]
Se agregó soporte para Operation Stealth y Future Wars al integrar otra recreación independiente de su motor: cinE. [21] TrollVM también se ha integrado en ScummVM agregando soporte para tres juegos pre-AGI: Mickey's Space Adventure , Troll's Tale y Winnie the Pooh in the Hundred Acre Wood . [22] [23]
ScummVM se distribuye como software libre bajo la licencia GPL-2.0 o posterior , lo que permite a cualquiera utilizar el proyecto como motor para un juego. Por ejemplo, Revolution Software reempaquetó sus juegos Broken Sword para su lanzamiento en DVD, utilizando ScummVM con los motores sword1 y sword2 incluidos para que fuera compatible con las computadoras modernas. [1]
En diciembre de 2008, el equipo de ScummVM se enteró de que los ports de Wii de tres títulos de Humongous Entertainment Junior Adventure ( Freddi Fish and the Case of the Missing Kelp Seeds , Pajama Sam: No Need to Hide When It's Dark Outside y Spy Fox: Dry Cereal ) usaban el motor ScummVM sin la atribución adecuada. Los juegos se publicaron en agosto de 2008 a pedido de Atari a través de Majesco Entertainment , que recurrió a Mistic Software para portar los juegos. [24] [25] Mistic había usado ScummVM para estos, pero no dio crédito a los desarrolladores. Si bien el equipo de ScummVM se comunicó con gpl-violations.org para obtener asesoramiento legal, Atari en cambio amenazó con demandar al equipo de ScummVM, ya que los términos del kit de desarrollo de Nintendo Wii restringían en gran medida el uso de software de código abierto, incluida la GPL. En 2009 se llegó a un acuerdo por el cual ScummVM abandonaría la investigación de la violación de la GPL, con la condición de que Mistic vendiera o destruyera todas las copias de los juegos que violaran la GPL, hiciera una donación a la Free Software Foundation y pagara los honorarios legales. [1]
ResidualVM (anteriormente Residual ) era un programa informático multiplataforma que comprendía recreaciones de motores de juegos en 3D con una interfaz gráfica de usuario común . Es compatible con Grim Fandango , Myst III: Exile y The Longest Journey . Se fusionó con ScummVM en octubre de 2020. [26]
ResidualVM fue diseñado originalmente para ejecutar juegos de aventuras de LucasArts que usan el motor de juego GrimE , y luego fue adaptado para soportar otros. [27] [28] Al igual que ScummVM, VM en ResidualVM significaba máquina virtual . [29]
ResidualVM es una reimplementación de la parte del software que se utiliza para interpretar los lenguajes de programación , ya que realiza ingeniería inversa en el juego original en lugar de emular el hardware en el que se ejecutaban los juegos. Como tal, ResidualVM permite que los juegos que admite se jueguen en plataformas distintas a aquellas para las que se lanzaron originalmente.
El nombre del proyecto proviene del hecho de que originalmente se inició para dar soporte a los juegos de aventuras residuales de LucasArts que no eran compatibles con ScummVM. El motor original basado en Lua que LucasArts utilizó en sus juegos de aventuras en 3D se llamaba GrimE (en contraposición a SCUMM ), por lo que el título de ResidualVM también es un juego de palabras, ya que grime es un tipo de residuo.
El proyecto fue iniciado por el ex líder del equipo ScummVM, James Brown, y estuvo disponible públicamente por primera vez el 15 de agosto de 2003. [30] El progreso del proyecto fue inicialmente lento y, como resultado, el objetivo principal del proyecto de brindar soporte a Grim Fandango no se produjo hasta el 25 de abril de 2011, cuando la compatibilidad de Grim Fandango se actualizó a "completable con algunos fallos menores". [31]
El proyecto obtuvo un dominio separado de ScummVM en diciembre de 2011. Como resultado del nuevo nombre de dominio, el nombre del proyecto pasó de Residual a ResidualVM. El logotipo se modificó para reflejar el nuevo nombre en enero de 2012. La primera versión estable de ResidualVM se lanzó 9 años después del inicio del proyecto, el 21 de diciembre del mismo año. [32] Se fusionó con ScummVM en octubre de 2021. [14]
ResidualVM estaba oficialmente disponible en múltiples plataformas, incluidas Windows , Linux , Mac OS X , AmigaOS 4 e IRIX . [33] Además, hay un puerto para Android disponible en el código fuente, y se han realizado compilaciones no oficiales con esa fuente. También hay un puerto disponible para la consola Pandora y para FreeBSD , pero no son oficiales ya que no se han agregado a la rama principal.
Ante la creciente atención, ResidualVM llegó a acuerdos favorables con desarrolladores de juegos de aventuras para que les ayudaran a incorporar sus títulos al motor. Cyan Worlds se asoció con ResidualVM para lanzar Myst III: Exile en plataformas digitales. [34]
La tienda digital GOG.com, que se especializaba en vender copias digitales de juegos antiguos, vende Myst III: Exile con el motor ResidualVM como parte de su distribución. [34]
La versión estable es compatible con Grim Fandango [35] y Myst III: Exile , que se pueden completar con algunos fallos menores.
En la rama de desarrollo, también hay soporte para Escape from Monkey Island , que se puede completar con algunos fallos, [36] y The Longest Journey , que se puede completar con características faltantes. [37]
Al igual que ScummVM, ResidualVM contiene correcciones para errores presentes en el ejecutable original. El equipo de ResidualVM descubrió una solución para un error que hace que un diálogo crítico no se reproduzca en Grim Fandango . [38] [39] Además, el motor Grim Fandango en ResidualVM tiene correcciones para más de una docena de otros errores presentes en el original. [40] También hay una rama de ResidualVM llamada Grim Mouse, que permite jugar a Grim Fandango completamente con un mouse como un juego de aventuras tradicional de apuntar y hacer clic. [41] [42] [43] [44]
Los siguientes juegos tienen soporte integrado en la versión actual de ScummVM. [45] [46] [47]
En orden de las fechas de lanzamiento originales de los juegos:
Varios juegos de Humongous Entertainment utilizan el motor SCUMM y, por lo tanto, se pueden jugar con ScummVM:
ScummVM también admite los siguientes juegos que no son SCUMM:
Los siguientes juegos solo están disponibles en compilaciones diarias inestables y está previsto que reciban soporte oficial en una próxima versión:
{{cite web}}
: CS1 maint: numeric names: authors list (link)Finalmente estamos listos para lanzar la mina de oro al público para que la pruebe.