Script Creation Utility para Maniac Mansion ( SCUMM ) es un motor de videojuego desarrollado en Lucasfilm Games, posteriormente rebautizado como LucasArts , para facilitar el desarrollo de su juego de aventuras gráficas Maniac Mansion (1987). Posteriormente se utilizó como motor para los juegos de aventuras posteriores de LucasArts .
Diseñada por | Aric Wilmunder, Chip Morningstar y Ron Gilbert |
---|---|
Desarrollador | Lucasfilm Games, LucasArts |
Apareció por primera vez | 1987 |
Lanzamiento final | ? / 1998 |
Plataforma | Multiplataforma |
SO | Multiplataforma |
Se encuentra en algún lugar entre un motor de juego y un lenguaje de programación , lo que permite a los diseñadores crear ubicaciones, elementos y secuencias de diálogo sin escribir código en el idioma en el que termina el código fuente del juego . Esto también permitió que el script y los archivos de datos del juego fueran multiplataforma , es decir, reutilizados en varias plataformas . SCUMM también es un anfitrión para motores de juegos integrados como Interactive MUsic Streaming Engine ( iMUSE ), INteractive Streaming ANimation Engine ( INSANE ), CYST (motor de animación en el juego), FLEM (lugares y nombres de objetos dentro de una habitación) y MMUCAS. SCUMM se ha lanzado en estas plataformas: 3DO , Amiga , Apple II , Atari ST , CDTV , Commodore 64 , Fujitsu FM Towns & Marty , Apple Macintosh , Nintendo Entertainment System , DOS , Microsoft Windows , Sega CD (Mega-CD) y Motor TurboGrafx-16 / PC.
Historia
La versión original fue codificada por Ron Gilbert (con la ayuda inicial de Chip Morningstar alias. UnXman) en 1987, [1] con versiones posteriores mejoradas por Aric Wilmunder (alias, el Señor de SCUMM ) y varios otros. Este es un lenguaje simbólico que proporcionó técnicas de codificación innovadoras. Tokens como PRINE fueron los primeros en utilizarse.
La naturaleza de SCUMM surgió de los antecedentes de la mayoría de los primeros programadores de LucasArts, incluido Wilmunder, que han sido programadores de computadoras mainframe . En ese momento, las computadoras personales (PC) no tenían la capacidad o la velocidad suficientes para editar y compilar programas, por lo que a menudo los codificadores de LucasArts escribían código de la manera más limpia posible en un sistema mainframe para eliminar todos los errores de modo que, al compilar La PC sería lenta, menos propensa a errores. Este concepto informó la idea de un lenguaje de secuencias de comandos que sería multiplataforma. [2]
SCUMM fue desarrollado para ser una herramienta que convertía comandos legibles por humanos en tokens de tamaño 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-door
se convertiría en un comando de 4 bytes. No querían tener detalles específicos sobre un juego codificados en el guión, por lo que el tokenizador podría reconocer a los actores por su nombre en el guión 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 cuando se lanzó Zak McKracken . [2] Los guiones incluían la capacidad de realizar múltiples tareas , como hacer que los actores en segundo plano actúen mientras esperan que se completen las acciones en primer plano. [2] Las herramientas combinadas permitieron la creación rápida de prototipos de un juego. Los guionistas podrían trabajar con el carácter preliminar y el arte de fondo dibujado por los artistas para perfeccionar sus guiones mientras brindan retroalimentación a los artistas. [2]
El programa SCUMM fue responsable de tokenizar los scripts y reunir todos los demás activos (como arte y sonido) como un paquete. El intérprete reutilizable se llamó SPUTM, SCUMM Presentation Utility (TM), cuyo nombre se cambió en el envío del juego al nombre del ejecutable del juego. SPUTM interpretaría los scripts, cargaría activos desde el disco y manejaría las interacciones de otros usuarios con el juego. [2] SPUTM en realidad no era una marca registrada, pero según Wilmunder, querían "ponerle el nombre de otro fluido corporal". [2] SCUMM se reutilizó posteriormente en muchos juegos de aventuras posteriores de LucasArts y se actualizó y reescribió varias veces. Según Wilmunder, la versión de SCUMM para Maniac Mansion tenía alrededor del 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 modificación. [2] Se desarrollaron otras herramientas y motores junto con SCUMM para ayudar en el desarrollo, y se denominaron así por otros fluidos corporales. [2] SPIT se utilizó para administrar fuentes de texto en diferentes partes de la pantalla. FLEM se utilizó para definir una habitación específica, rastrear objetos dentro de ella y especificar planos de recorte para la animación de personajes. MMUCAS se utilizó con FLEM para compilar una habitación y sus objetos en un archivo que permitiría a los scripters realizar cambios rápidos sin tener que volver a compilar la descripción de la habitación. BYLE y posteriormente CYST se utilizaron para animaciones de personajes y escalado, este último utilizado para el arte más complejo en los juegos posteriores de LucasArts.
Para el juego Full Throttle , el equipo trabajó para integrar SCUMM con el motor de animación INSANE que se había desarrollado anteriormente para Star Wars: Rebel Assault . Aunque Wilmunder había logrado que los dos sistemas funcionaran para el envío de Full Throttle , la interacción entre los dos no siempre fue estable y pasó un tiempo antes de The Curse of Monkey Island para que SCUMM funcionara encima del motor INSANE, reemplazando algunas de las partes del motor SCUMM. para usar que eran nativos 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 The Secret of Monkey Island . Para capacitar a los nuevos empleados en el motor, Gilbert los envió a la Universidad SCUMM , un período de una semana en el que se les enseñó a usar el motor SCUMM. A estos nuevos empleados, llamados escoriales , se les dio la oportunidad de explorar y ampliar el trabajo de ejemplo para ayudar a identificar dónde encajarían mejor en el equipo de desarrollo. [2]
LucasArts finalmente abandonó el motor SCUMM en 1998, cuando cambiaron a GrimE , utilizando el lenguaje de programación de software libre Lua , para los juegos Grim Fandango y Escape from Monkey Island .
En marzo de 2016, Wilmunder reveló que compartiría documentos de diseño para 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 . [3]
Diseño
La mayoría de los juegos SCUMM presentan un paradigma de diseño de verbo-objeto. El personaje controlado por el jugador tiene un inventario, y el mundo del juego está plagado de objetos con los que el jugador puede interactuar, usando una variedad de verbos. Un gran conjunto de estos aparecían a menudo en la parte inferior de la pantalla en los primeros juegos, pero en 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 mouse. con la opción de usar los ojos del personaje ( mirar ), las manos ( usar , levantar , empujar , jalar , etc.), o la boca ( hablar , consumir , inhalar ).
Los acertijos generalmente implican usar la acción correcta del verbo con el objeto apropiado, por ejemplo, "usar un cortador de galletas con un árbol de caucho". Hablar con comúnmente produce secuencias de diálogo, en las que el jugador selecciona de una lista de preguntas o comentarios predefinidos, y el personaje con el que está hablando responde con una respuesta predefinida.
La notable excepción a este paradigma general es Loom (1990), que no usa la interfaz estándar verbo-objeto, pero reemplaza la mayoría de las acciones con una selección de hechizos tocados en un instrumento.
Reimplementación
Compilador
ScummC es un conjunto de herramientas (incluyendo un guión y un compilador traje, un editor de walkboxes, juego de caracteres, gráficos, herramientas de audio y MIDI), capaz de compilar su propio JavaScript lenguaje -como en SCUMM v6 código de bytes , como es ejecutable en ScummVM. Permite a cualquier persona con las habilidades necesarias crear juegos SCUMM nuevos y originales, con características a la par con Day of the Tentacle y Sam & Max Hit the Road . [4]
Un proyecto similar llamado ScummGEN tiene como objetivo lograr lo mismo, con herramientas fáciles de usar. [5]
Scummbler es un compilador de código de bytes SCUMM, para las versiones 3 a 5 del motor SCUMM. [6] Utiliza scripts descompilados de los archivos originales del juego, recuperados mediante una combinación de una herramienta de descompresión como ScummPacker [7] (también del autor de Scummbler) y la herramienta descumm de ScummVM . Estos scripts se pueden volver a insertar en los archivos originales del juego, lo que los hace útiles para modificar juegos existentes, por ejemplo, para traducirlos. También están disponibles un codificador-decodificador de imágenes, [8] y una herramienta para ayudar a mapear archivos de voz con texto. [9]
Intérpretes
ScummVM es un proyecto de software gratuito y de código abierto para crear un cliente de motor SCUMM basado en biblioteca de Simple DirectMedia Layer (SDL) que permite que muchos de los juegos del motor SCUMM se jueguen en sistemas donde las versiones originales no funcionarán o no funcionarán. problemas de funcionamiento, incluidos los sistemas modernos Windows y Macintosh , Linux (incluidas las computadoras de mano portátiles: Android , GP2X , GP2X Wiz , Maemo , etc.), BeOS : Haiku , AmigaOS (3.x, 4.0 y sus clones MorphOS y AROS ), 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 QNX - Plataformas Playbook . [10]
scvm es un intérprete de SCUMM desarrollado por el autor de ScummC. [11] En abril de 2008, se encuentra en estado de prototipo y está destinado a convertirse en un depurador de scripts para el desarrollo de ScummC. hiscumm es un intento de portar scvm y algunos bits de ScummVM a la plataforma Haxe , para producir un intérprete con un backend de Adobe Flash . [12] [13]
Referencias y bromas internas
Las referencias en broma eran una característica común de los juegos de aventuras de LucasArts . Los desarrolladores utilizaron el nombre de su motor para crear un efecto cómico en varios juegos.
Razor and the Scummettes , una banda de punk mencionada en Maniac Mansion , y el bar SCUMM en The Secret of Monkey Island llevan el nombre del lenguaje de programación. En Escape from Monkey Island , víctima de una toma de control hostil, la barra SCUMM se convierte en la barra Lua , una referencia al lenguaje de programación que reemplazó al motor utilizado para los juegos anteriores. SCUMM también aparece en los ingredientes de grog, en la primera obra de la saga Monkey Island .
Ver también
- Intérprete de juegos de aventuras
- Intérprete creativa de Sierra
- Máquina Z
Referencias
- ^ GameSpot, "Classic Studio Postmortem: Lucasfilm Games" Archivado el4 de septiembre de 2015en la Wayback Machine , Ron Gilbert , 24 de marzo de 2014, consultado el 3 de abril de 2015
- ↑ a b c d e f g h i j Bevan, Mike (21 de julio de 2013). "El diario SCUMM: historias detrás de uno de los mejores motores de juegos jamás creados" . Gamasutra . Archivado desde el original el 23 de marzo de 2016 . Consultado el 23 de marzo de 2016 .
- ^ Kerr, Chris (23 de marzo de 2016). "El co-creador de SCUMM desentierra un tesoro de diseño de juegos" . Gamasutra . Archivado desde el original el 30 de mayo de 2016 . Consultado el 23 de marzo de 2016 .
- ^ Compilador ScummC SCUMM Archivado el 4 de septiembre de 2015 en la Wayback Machine.
- ^ ScummGEN Archivado el 16 de julio de 2010 en la Wayback Machine.
- ↑ Scummbler Archivado el 2 de agosto de 2014 en la Wayback Machine.
- ^ ScummPacker Archivado el 8 de noviembre de 2013 en la Wayback Machine.
- ^ Codificador de imagen SCUMM Archivado el 15 de febrero de 2015 en la Wayback Machine.
- ^ ScummSpeaks Archivado el 15 de febrero de 2015 en la Wayback Machine.
- ^ Lista de compatibilidad SCUMMVM Archivada el 15 de junio de 2006 en la Wayback Machine.
- ^ Bedel, Alban (2021-02-22), AlbanBedel / scummc , consultado el 2021-03-19
- ^ " Qué no escribir en Haxe, Parte II Archivado el 19 de mayo de 2015 en la Wayback Machine " (2008), Cuppadev
- ^ Urquhart, James (2019-02-11), jamesu / hiscumm , consultado el 2021-03-19
enlaces externos
- Historia de SCUMM