stringtranslate.com

ESCORIA

Script Creation Utility for Maniac Mansion ( SCUMM ) es un motor de videojuegos 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 y los juegos de Humongous Entertainment .

Se encuentra en algún punto entre un motor de juego y un lenguaje de programación , permitiendo a los diseñadores crear ubicaciones, elementos y secuencias de diálogo sin escribir código en el lenguaje 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 host para motores de juego 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 , 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 portados oficial y 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, también conocido como UnXman) en 1987, [1] : 34:21  con versiones posteriores mejoradas por Aric Wilmunder (también conocido como el Señor de SCUMM ) y Brad P. Taylor. Este es un lenguaje de tokens que proporcionó técnicas de codificación innovadoras. Los 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 habían sido programadores de minicomputadoras y estaciones de trabajo Unix . 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 programadores de LucasArts escribían el código lo más limpio posible en una estación de trabajo Sun para eliminar todos los errores de modo que, aunque la compilación en una PC fuera lenta, fuera menos propensa a errores. Este concepto inspiró la idea de un lenguaje de programación que fuera multiplataforma. [2]

SCUMM fue desarrollado para ser una herramienta que convirtiera comandos legibles por humanos en tokens del tamaño de un byte que luego serían leídos por un programa intérprete ejecutable que presentara el juego al jugador. Por ejemplo, el comando SCUMM walk dr-fred to laboratory-doorse tokenizaría a un comando de 4 bytes. No querían tener detalles específicos sobre un juego codificados 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 tuvieron que incluir el número, pero esto fue revisado posteriormente cuando se lanzó Zak McKracken . [2] Los scripts incluían la capacidad de realizar múltiples tareas , como hacer que los actores de fondo representen el comportamiento 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 podían trabajar con el arte preliminar de los personajes y el fondo dibujado por los artistas para perfeccionar sus guiones mientras proporcionaban comentarios a los artistas. [2]

El programa SCUMM era responsable de tokenizar los scripts y reunir todos los demás activos (como el arte y el sonido) como un paquete. El intérprete reutilizable se llamó SPUTM, la Utilidad de presentación SCUMM (TM), que se renombró al enviar el juego con el nombre del ejecutable del juego. SPUTM interpretaría los scripts, cargaría los activos del disco y manejaría las otras interacciones del usuario con el juego. [2] SPUTM en realidad no era una marca registrada, pero según Wilmunder, querían "nombrarlo en honor a otro fluido corporal ". [2] SCUMM se reutilizó posteriormente en muchos juegos de aventuras posteriores de LucasArts, que se actualizaron y reescribieron 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 los nombró en honor a otros fluidos corporales. [2] SPIT se utilizó para gestionar las 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 solo archivo que permitiera a los programadores realizar cambios rápidos sin tener que volver a compilar la descripción de la habitación. BYLE y, posteriormente, CYST se utilizaron para las animaciones y el escalado de personajes, este último utilizado para el arte más complejo en los juegos posteriores de LucasArts.

Tras su salida de LucasArts y cofundación de Humongous Entertainment en 1992, Gilbert llegó a un acuerdo con LucasArts que otorgaría a Humongous una licencia para utilizar el motor SCUMM en el desarrollo de sus juegos, con la condición de que continuara desarrollando mejoras en el motor para su uso por ambas compañías. [3] Para el juego Full Throttle , el equipo trabajó para integrar SCUMM con el motor de animación INSANE que anteriormente se había desarrollado 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 sobre el motor INSANE, reemplazando algunas de las partes del motor SCUMM para usar que eran nativas de INSANE. [2]

Internamente, gran parte del funcionamiento de SCUMM no estaba documentado, ya que Wilmunder creía que era relativamente fácil de aprender, pero cambió este enfoque antes de The Secret of Monkey Island . Para capacitar a los nuevos empleados en el motor, Gilbert los hizo pasar por la Universidad SCUMM , un período de una semana en el que se les enseñó a utilizar el motor SCUMM. A estos nuevos empleados, llamados scummlets , se les dio la oportunidad de explorar y expandir 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 . Humongous Entertainment continuó utilizando el motor para todos sus juegos de PC, incluida 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 , incluidos 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 utilizando 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 SCUMM de verbos con hechizos tocados 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á plagado de objetos con los que el jugador puede interactuar, utilizando una variedad de verbos. Un gran conjunto de estos se presentaba 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 aparece en el cursor del mouse 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 mouse transparente que se rellenaría cuando el jugador pudiera interactuar con un objeto, o se transformaría en una flecha para indicar un punto de clic que llevará al jugador a una nueva pantalla.

Los acertijos generalmente implican el uso de la acción verbal correcta con el objeto apropiado: "utilizar cortador de galletas con árbol de caucho", por ejemplo. "Talk to" 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 utiliza la interfaz verbo-objeto estándar, sino que 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 (que incluye un compilador de scripts y de disfraces, un editor de walkboxes, charset, gráficos, audio y herramientas MIDI) capaz de compilar su propio lenguaje tipo JavaScript en el 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 tiene como objetivo lograr lo mismo, con herramientas fáciles de usar. [7]

Scummbler es un compilador para el bytecode de SCUMM, para las versiones 3 a 5 del motor SCUMM. [8] [9] Utiliza scripts descompilados de los archivos originales del juego, recuperados mediante una combinación de una herramienta de desempaquetado como ScummPacker [10] [11] (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 lo hace útil para modificar juegos existentes, como por ejemplo para traducir. 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 basado en la biblioteca Simple DirectMedia Layer (SDL) para el motor SCUMM que permite jugar a muchos de los juegos del motor SCUMM en sistemas en los que las versiones originales no funcionan o tienen problemas para funcionar, incluidos los sistemas modernos de Windows y Macintosh , Linux (incluidos los dispositivos 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 plataformas QNX - Playbook . [16] [ ¿ fuente no confiable? ]

scvm es un intérprete SCUMM desarrollado por el autor de ScummC. [6] 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 algunas partes de ScummVM a la plataforma Haxe , para producir un intérprete con un backend Adobe Flash . [17] [18]

Referencias y chistes internos

Las referencias a bromas internas eran una característica común de los juegos de aventuras de LucasArts . Los desarrolladores usaron el nombre de su motor para lograr un efecto cómico en varios juegos.

Razor and the Scummettes , una banda de punk mencionada en Maniac Mansion , y el bar SCUMM en la serie Monkey Island reciben ambos 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 para los juegos anteriores. SCUMM también aparece en los ingredientes del grog en The Secret of Monkey Island .

Véase también

Notas

  1. ^ Más tarde conocido como LucasArts.

Referencias

  1. ^ Classic Studio Postmortem: Lucasfilm Games, GameSpot , 24 de marzo de 2014 , consultado el 21 de febrero de 2023
  2. ^ abcdefghij Bevan, Mike (21 de julio de 2013). «El diario de SCUMM: historias detrás de uno de los mejores motores de juego jamás creados». Gamasutra . Archivado desde el original el 23 de marzo de 2016. Consultado el 23 de marzo de 2016 .
  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 descubre un tesoro en el diseño de juegos». Gamasutra . Archivado desde el original el 30 de mayo de 2016. Consultado el 23 de marzo de 2016 .
  6. ^ ab Bedel, Alban (26 de enero de 2023), ScummC - A Scumm Compiler, archivado del original el 4 de septiembre de 2015 , consultado el 21 de febrero de 2023
  7. ^ "ScummGEN". Código de Google . Archivado desde el original el 16 de julio de 2010. Consultado el 21 de febrero de 2023 .
  8. ^ Dougal Myers, Laurence. "Scumbler". JestarJokin.net . Archivado desde el original el 2 de agosto de 2014. Consultado el 21 de febrero de 2023 .
  9. ^ "Scumbler". BitBucket . Consultado el 21 de febrero de 2023 .
  10. ^ Dougal Myers, Laurence. "ScummPacker". JestarJokin.net . Archivado desde el original el 8 de noviembre de 2013. Consultado 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 desde el original el 15 de febrero de 2015. Consultado 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 desde el original el 15 de febrero de 2015. Consultado el 21 de febrero de 2023 .
  15. ^ "ScummSpeaks". BitBucket . Consultado el 21 de febrero de 2023 .
  16. ^ Lista de compatibilidad de SCUMMVM Archivado el 15 de junio de 2006 en Wayback Machine
  17. ^ Urquhart, James (7 de marzo de 2008). "What not to write in haXe, Part II" (Lo que no se debe escribir en haXe, parte II). CuppaDev . Archivado desde el original el 19 de mayo de 2015.
  18. ^ Urquhart, James (11 de febrero de 2019), jamesu/hiscumm , consultado el 19 de marzo de 2021

Enlaces externos