Articulo de referencia

ESCORIA

SCUMM ( Script Creation Utility for Maniac Mansion ) es un motor de videojuegos desarrollado en Lucasfilm Games, posteriormente renombrado LucasArts , para facilitar el desarrol...

SCUMM ( Script Creation Utility for Maniac Mansion ) es un motor de videojuegos desarrollado en Lucasfilm Games, posteriormente renombrado LucasArts , para facilitar el desarrollo de su juego de aventuras gráficas Maniac Mansion (1987). Posteriormente, se utilizó como motor para otros juegos de aventuras de LucasArts y de Humongous Entertainment .

Se sitúa en algún punto intermedio entre un motor de juego y un lenguaje de programación , lo que permite a los diseñadores crear escenarios, objetos y secuencias de diálogo sin escribir código en el lenguaje en el que se encuentra el código fuente del juego . Esto también permitió que los archivos de script y datos del juego fueran multiplataforma , es decir, reutilizados en diversas plataformas . SCUMM también aloja motores de juego integrados como Interactive MUsic Streaming Engine ( iMUSE ), Interactive Streaming ANimation Engine ( INSANE ), CYST (motor de animación dentro del juego), FLEM (ubica y nombra objetos dentro de una habitación) y MMUCAS. SCUMM se ha lanzado para las siguientes plataformas: 3DO , Amiga , Apple II , Atari ST , CDTV , Commodore 64 , FM Towns & Marty , Macintosh , Nintendo Entertainment System , MS-DOS , Microsoft Windows , Sega CD (Mega-CD) y TurboGrafx-16 /PC Engine. Varios juegos de SCUMM han sido adaptados, tanto oficial como extraoficialmente, a otros sistemas mediante el uso del software de código abierto ScummVM .

Historia

La versión original fue codificada por Ron Gilbert (con algo de ayuda inicial de Chip Morningstar, alias UnXman) en 1987, [ 1 ] : 34:21 con versiones posteriores mejoradas por Aric Wilmunder (alias, el Señor SCUMM ) y Brad P. Taylor. Este es un lenguaje de tokens que proporcionó técnicas de codificación innovadoras. Tokens como PRINE fueron los primeros en ser utilizados.

La naturaleza de SCUMM surgió de la experiencia de la mayoría de los primeros programadores de LucasArts, incluido Wilmunder, quienes habían programado para minicomputadoras y estaciones de trabajo Unix . En aquel entonces, las computadoras personales (PC) no tenían la capacidad ni la velocidad suficientes para editar y compilar programas, por lo que los programadores de LucasArts solían escribir el código de la forma más limpia posible en una estación de trabajo Sun para eliminar todos los errores, de modo que, si bien la compilación en una PC sería lenta, sería menos propensa a errores. Este concepto inspiró la idea de un lenguaje de scripting multiplataforma. [ 2 ]

SCUMM se desarrolló como una herramienta que convertía comandos legibles por humanos en tokens de tamaño de byte que luego serían leídos por un programa intérprete ejecutable que presentaba el juego al jugador. Por ejemplo, el comando SCUMM walk dr-fred to laboratory-doorse tokenizaría en un comando de 4 bytes. No querían tener detalles específicos sobre un juego codificados directamente en el script, por lo que el tokenizador podría reconocer a los actores por su nombre en el script en lugar de por números internos. La única excepción fue mostrar el diálogo de un personaje en un color de texto diferente para Maniac Mansion en el que tenían que incluir el número, pero esto se revisó posteriormente para cuando se lanzó Zak McKracken . [ 2 ] Los scripts incluían la capacidad de realizar múltiples tareas , como hacer que los actores de fondo actuaran mientras esperaban a que se completaran las acciones en primer plano. [ 2 ] Las herramientas combinadas permitieron la creación rápida de prototipos de un juego. Los programadores podían trabajar con el arte preliminar de personajes y fondos dibujado por los artistas para perfeccionar sus scripts mientras proporcionaban retroalimentación a los artistas. [ 2 ]

El programa SCUMM se encargaba de tokenizar los scripts y reunir todos los demás recursos (como el arte y el sonido) en un paquete. El intérprete reutilizable se llamaba SPUTM, la Utilidad de Presentación de SCUMM (TM) , que se renombró al distribuirse el juego con el nombre del ejecutable del juego. SPUTM interpretaba los scripts, cargaba los recursos desde el disco y gestionaba las demás interacciones del usuario con el juego. [ 2 ] SPUTM no estaba registrado como marca, pero según Wilmunder, querían "nombrarlo como otro fluido corporal ". [ 2 ] Posteriormente, SCUMM se reutilizó en muchos juegos de aventuras posteriores de LucasArts, siendo actualizado y reescrito varias veces. Según Wilmunder, la versión de SCUMM para Maniac Mansion tenía aproximadamente el 80 % de los comandos que terminarían usándose en las versiones posteriores del motor, y la mayoría de los comandos clave no requerían ninguna modificación. [ 2 ] Se desarrollaron otras herramientas y motores junto con SCUMM para ayudar en el desarrollo, y se nombraron como otros fluidos corporales. [ 2 ] SPIT se usó para gestionar las fuentes de texto en diferentes partes de la pantalla. FLEM se usó para definir una habitación específica, rastrear los objetos dentro de ella y especificar los planos de recorte para la animación de personajes. MMUCAS se usó con FLEM para compilar una habitación y sus objetos en un solo archivo que permitiría a los programadores realizar cambios rápidos sin tener que recompilar la descripción de la habitación. BYLE y posteriormente CYST se usaron para animaciones y escalado de personajes, este último usado para el arte más complejo en los juegos posteriores de LucasArts.

Tras su salida de LucasArts y la cofundación de Humongous Entertainment en 1992, Gilbert llegó a un acuerdo con LucasArts que otorgaría a Humongous una licencia para usar el motor SCUMM en el desarrollo de sus juegos, con la condición de que continuara desarrollando mejoras para el motor para uso de ambas compañías. [ 3 ] Para el juego Full Throttle , el equipo trabajó para integrar SCUMM con el motor de animación INSANE que se había desarrollado previamente para Star Wars: Rebel Assault . Aunque Wilmunder había logrado que los dos sistemas funcionaran para el lanzamiento de Full Throttle , la interacción entre ambos no siempre fue estable, y dedicó tiempo antes de The Curse of Monkey Island para que SCUMM funcionara sobre el motor INSANE, reemplazando algunas partes del motor SCUMM para usar aquellas que eran nativas de INSANE. [ 2 ]

Internamente, gran parte del funcionamiento de SCUMM no estaba documentado, ya que Wilmunder creía que era relativamente sencillo de aprender, pero cambió este enfoque antes de El secreto de Monkey Island . Para capacitar a los nuevos empleados en el motor, Gilbert los sometió a la Universidad SCUMM , un período de una semana donde se les enseñó a usar el motor SCUMM. Estos nuevos empleados, llamados scummlets , tuvieron la oportunidad de explorar y ampliar ejemplos de trabajo para ayudar a identificar dónde encajarían mejor en el equipo de desarrollo. [ 2 ]

LucasArts finalmente abandonó el motor SCUMM en 1998 cuando cambió a GrimE , usando el lenguaje de scripting de software libre Lua , para los juegos Grim Fandango y Escape from Monkey Island . Humongous Entertainment continuó usando el motor para todos sus juegos de PC, incluyendo la serie Backyard Sports , hasta el lanzamiento de Backyard Soccer 2004 en 2003. [ 4 ] : 3:34:00 Los juegos posteriores se desarrollarían en el motor YAGA basado en Python , incluyendo Putt-Putt: Pep's Birthday Surprise y Pajama Sam: Life Is Rough When You Lose Your Stuff!, los únicos juegos de aventuras de Humongous que no se desarrollaron usando el motor SCUMM.

En marzo de 2016, Wilmunder reveló que compartiría documentos de diseño de muchos de los juegos de aventuras de LucasArts y el código fuente del motor SCUMM, que planea proporcionar en formato digital a través de GitHub . [ 5 ]

Diseño

Loom (1990) reemplaza la interfaz convencional de verbos de SCUMM con hechizos interpretados en una rueca musical .

La mayoría de los juegos de SCUMM presentan un paradigma de diseño verbo-objeto. El personaje controlado por el jugador tiene un inventario, y el mundo del juego está repleto de objetos con los que el jugador puede interactuar, utilizando una variedad de verbos. Un gran conjunto de estos verbos solía aparecer en la parte inferior de la pantalla en los primeros juegos, pero para Full Throttle (1995) y The Curse of Monkey Island (1997) se habían reducido a una "moneda de verbo" que aparecía en el cursor del ratón con la opción de usar los ojos del personaje ( mirar ), las manos ( usar , recoger , empujar , tirar , etc.) o la boca ( hablar , consumir , inhalar ). Los juegos de Humongous Entertainment simplificaron esta interfaz, con un gráfico de cursor de ratón transparente que se rellenaba cuando el jugador podía interactuar con un objeto, o se transformaba en una flecha para indicar un punto de clic que llevaría al jugador a una nueva pantalla.

Los puzles suelen consistir en usar la acción verbal correcta con el objeto apropiado; por ejemplo, «usar un cortador de galletas con un árbol de goma». La opción «Hablar con» suele generar secuencias de diálogo en las que el jugador selecciona preguntas o comentarios predefinidos, y el personaje con el que habla responde con una respuesta predefinida. La excepción más notable a este paradigma general es Loom (1990), que no utiliza la interfaz estándar verbo-objeto, sino que sustituye la mayoría de las acciones por una selección de hechizos interpretados con un instrumento.

Reimplementación

Compilador

ScummC es un conjunto de herramientas (que incluye un compilador de scripts y disfraces, un editor de walkboxes, herramientas de charset, gráficos, audio y MIDI) capaz de compilar su propio lenguaje similar a JavaScript en bytecode de SCUMM v6 , ejecutable tal cual en ScummVM . Permite a cualquier persona con las habilidades necesarias crear juegos SCUMM nuevos y originales, con características a la par de Day of the Tentacle y Sam & Max Hit the Road . [ 6 ]

Un proyecto similar llamado ScummGEN pretende lograr lo mismo, con herramientas fáciles de usar. [ 7 ]

Scummbler es un compilador para el código de bytes de SCUMM, para las versiones 3 a 5 del motor SCUMM. [ 8 ] [ 9 ] Utiliza scripts descompilados de los archivos originales del juego, obtenidos mediante una combinación de una herramienta de descompresión como ScummPacker [ 10 ] [ 11 ] (también del autor de Scummbler) y la herramienta descumm de ScummVM. Estos scripts se pueden reinsertar en los archivos originales del juego, lo que resulta útil para modificar juegos existentes, por ejemplo, para su traducción. También están disponibles un codificador-decodificador de imágenes, [ 12 ] [ 13 ] y una herramienta para ayudar a mapear archivos de voz a texto. [ 14 ] [ 15 ]

Intérpretes

ScummVM es un proyecto de software libre y de código abierto para crear un cliente portátil del motor SCUMM basado en la biblioteca Simple DirectMedia Layer (SDL), que permite jugar a muchos de los juegos del motor SCUMM en sistemas donde las versiones originales no funcionan o tienen problemas de funcionamiento, incluyendo sistemas Windows y Macintosh modernos, Linux (incluyendo dispositivos portátiles: Android , GP2X , GP2X Wiz , Maemo , etc.), BeOS - Haiku , AmigaOS (3.x, 4.0 y sus clones MorphOS y AROS ), Atari TOS (incluyendo sus sucesores: EmuTOS , MagiC , FreeMiNT , etc.), Palm OS , Windows Mobile ( Pocket PC ), Dreamcast , PlayStation 2 , PlayStation Portable , Nintendo DS , Wii , Symbian (SeriesXX y UIQ), iOS ( iPad , iPhone , iPod Touch ), webOS y plataformas QNX - Playbook . [ 16 ]

scvm es un intérprete de SCUMM desarrollado por el autor de ScummC. [ 6 ] A abril de 2008, se encontraba en fase de prototipo y estaba destinado a convertirse en un depurador de scripts para el desarrollo de ScummC. hiscumm es un intento de portar scvm y algunas partes de ScummVM a la plataforma Haxe , para producir un intérprete con un backend de Adobe Flash . [ 17 ] [ 18 ]

Referencias y chistes internos

Las referencias a chistes internos eran una característica común de los juegos de aventuras de LucasArts . Los desarrolladores usaban el nombre de su motor gráfico con fines cómicos en varios juegos.

Razor and the Scummettes , una banda punk mencionada en Maniac Mansion , y el bar SCUMM en la serie Monkey Island reciben su nombre del lenguaje de programación. En Escape from Monkey Island , víctima de una adquisición hostil, el bar SCUMM se convierte en el bar Lua , una referencia al lenguaje de programación que reemplazó al motor utilizado en los juegos anteriores. SCUMM también aparece en la lista de ingredientes del grog en The Secret of Monkey Island .

Véase también

Notas

  1. Más tarde conocida como LucasArts.

Referencias

  1. Análisis post mortem de Classic Studio: Lucasfilm Games , GameSpot , 24 de marzo de 2014 , consultado el 21 de febrero de 2023
  2. 1 2 3 4 5 6 7 8 9 10 Bevan, Mike (21 de julio de 2013). "El diario de SCUMM: historias detrás de uno de los mejores motores de juegos jamás creados" . Gamasutra . Recuperado el 30 de mayo de 2024 .
  3. "Entrevista con Ron Gilbert" . Nightdive Studios . 22 de junio de 2014. Consultado el 16 de octubre de 2023 .
  4. Cifaldi, Frank (30 de octubre de 2020), "Los secretos de Monkey Island: una velada con Ron Gilbert" , Video Game History Foundation , consultado el 21 de febrero de 2023.
  5. Kerr, Chris (23 de marzo de 2016). "El cocreador de SCUMM desentierra un tesoro de diseño de juegos" . Gamasutra . Consultado el 30 de mayo de 2025 .
  6. 1 2 Bedel, Alban (26 de enero de 2023), ScummC - Un compilador de Scumm , archivado del original el 4 de septiembre de 2015 , recuperado el 21 de febrero de 2023
  7. "ScummGEN" . Código de Google . Archivado del original el 16 de julio de 2010. Consultado el 21 de febrero de 2023 .
  8. Dougal Myers, Laurence. "Scummbler" . JestarJokin.net . Archivado del original el 2 de agosto de 2014. Recuperado el 21 de febrero de 2023 .
  9. "Scummbler" . BitBucket . Consultado el 21 de febrero de 2023 .
  10. Dougal Myers, Laurence. "ScummPacker" . JestarJokin.net . Archivado del original el 8 de noviembre de 2013. Recuperado el 21 de febrero de 2023 .
  11. "ScummPacker" . BitBucket . Consultado el 21 de febrero de 2023 .
  12. Dougal Myers, Laurence. "Codificador de imágenes SCUMM" . JestarJokin.net . Archivado del original el 15 de febrero de 2015. Recuperado el 21 de febrero de 2023 .
  13. "Codificador de imágenes Scumm" . BitBucket . Consultado el 21 de febrero de 2023 .
  14. Dougal Myers, Laurence. "ScummSpeaks" . JestarJokin.net . Archivado del original el 15 de febrero de 2015. Recuperado el 21 de febrero de 2023 .
  15. "ScummSpeaks" . BitBucket . Consultado el 21 de febrero de 2023 .
  16. Lista de compatibilidad de SCUMMVM archivada el 15/06/2006 en Wayback Machine
  17. Urquhart, James (7 de marzo de 2008). "Qué no escribir en haXe, Parte II" . CuppaDev . Archivado del original el 19 de mayo de 2015.
  18. ^ Urquhart, James (11 de febrero de 2019), jamesu/hiscumm , consultado el 19 de marzo de 2021
  • Historia de SCUMM
Obtenido de " https://en.wikipedia.org/w/index.php?title=SCUMM&oldid=1329537016 "