Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Утилита создания сценариев для Maniac Mansion ( SCUMM ) - это движок видеоигр, разработанный Lucasfilm Games, позже переименованный в LucasArts , для облегчения разработки их графической приключенческой игры Maniac Mansion (1987). Впоследствии он был использован в качестве движка для более поздних приключенческих игр LucasArts .

Он находится где-то между игровым движком и языком программирования , позволяя дизайнерам создавать локации, элементы и диалоговые последовательности без написания кода на языке, на котором заканчивается исходный код игры . Это также позволило кроссплатформенным файлам сценариев и данных игры , то есть повторно использовать их на различных платформах . SCUMM также является хостом для встроенных игровых движков, таких как Interactive MUsic Streaming Engine ( iMUSE ), INteractive Streaming ANimation Engine ( INSANE ), CYST (движок внутриигровой анимации), FLEM (размещает и называет объекты внутри комнаты) и MMUCAS. SCUMM был выпущен на следующих платформах: 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) и TurboGrafx-16 / PC Engine.

История [ править ]

Первоначальная версия была написана Роном Гилбертом (с некоторой начальной помощью Чипом Морнингстаром, также известным как UnXman) в 1987 году [1], а более поздние версии были усовершенствованы Ариком Уилмундером (также известным как SCUMM Lord ) и другими. Это токен-язык, который предоставил новаторские методы кодирования. Токены, подобные PRINE, были использованы первыми.

Природа SCUMM проистекает из опыта большинства первых программистов в LucasArts, в том числе Уилмундера, который был программистом для мэйнфреймов . В то время персональные компьютеры (ПК) не обладали достаточными возможностями или скоростью для редактирования и компиляции программ, поэтому часто программисты LucasArts писали код как можно более чисто на мэйнфреймовой системе, чтобы удалить все ошибки, чтобы при компиляции на ПК будет медленным и менее подверженным ошибкам. Эта концепция проинформировала о кроссплатформенном языке сценариев. [2]

SCUMM был разработан как инструмент, который преобразовывал удобочитаемые команды в байтовые токены, которые затем считывались исполняемой программой-интерпретатором, которая представляла игру игроку. Например, команда SCUMM walk dr-fred to laboratory-doorбудет преобразована в 4-байтовую команду. Они не хотели, чтобы конкретные детали об игре были жестко закодированы в сценарии, чтобы токенизатор мог распознавать актеров по их именам из сценария, а не по внутренним номерам. Единственным исключением было отображение диалога персонажа в другом цвете текста для Maniac Mansion, в котором они должны были включать номер, но впоследствии это было исправлено к тому времени, когда был выпущен Зак МакКракен . [2] Скрипты включали возможностьмногозадачность , например, когда фоновые акторы разыгрывают поведение, ожидая завершения действий переднего плана. [2] Комбинированные инструменты позволяют быстро создавать прототипы игры. Сценаристы могут работать с предварительными персонажами и фоновыми изображениями, нарисованными художниками, чтобы отточить свои сценарии, обеспечивая при этом обратную связь с художниками. [2]

Программа SCUMM отвечала за токенизацию скриптов и сбор всех других активов (таких как искусство и звук) в виде пакета. Многоразовый интерпретатор назывался SPUTM, SCUMM Presentation Utility (TM), который при поставке игры был переименован в имя исполняемого файла игры. SPUTM будет интерпретировать сценарии, загружать ресурсы с диска и обрабатывать другие взаимодействия пользователя с игрой. [2] SPUTM на самом деле не был зарегистрирован как торговая марка, но, по словам Вилмундера, они хотели «назвать его в честь другой физиологической жидкости». [2] SCUMM впоследствии повторно использовался во многих более поздних приключенческих играх LucasArts, которые несколько раз обновлялись и переписывались. По словам Уилмундера, версия SCUMM для Maniac Mansionбыло около 80% команд, которые в конечном итоге использовались в более поздних версиях движка, при этом большинство ключевых команд не требовали модификации. [2] Другие инструменты и двигатели были разработаны вместе с SCUMM для помощи в разработке и названы в честь других жидкостей организма. [2] SPIT использовался для управления текстовыми шрифтами в разных частях экрана. FLEM использовался для определения конкретной комнаты, отслеживания объектов в ней и определения плоскостей отсечения.для анимации персонажей. MMUCAS использовался с FLEM для компиляции комнаты и ее объектов в один файл, что позволило бы разработчикам сценариев быстро вносить изменения без необходимости перекомпилировать описание комнаты. BYLE и впоследствии CYST использовались для анимации персонажей и масштабирования, последнее использовалось для более сложной графики в более поздних играх LucasArts.

Для игры Full Throttle команда работала над интеграцией SCUMM с анимационным движком INSANE , который ранее был разработан для Star Wars: Rebel Assault . Хотя Уилмундер заставил две системы работать для поставки Full Throttle , взаимодействие между ними не всегда было стабильным, и до Проклятия острова обезьян он потратил время на то, чтобы SCUMM работал на двигателе INSANE, заменяя некоторые детали двигателя SCUMM. использовать то, что было родным для INSANE. [2]

Внутренне большая часть работы SCUMM не была задокументирована, так как Уилмундер считал, что ее относительно просто изучить, но он изменил этот подход до «Тайны острова обезьян» . Чтобы обучить новых сотрудников работе с двигателем, Гилберт провел их в Университете SCUMM - недельный период, когда их учили использовать двигатель SCUMM. Затем этим новым сотрудникам, которых называли подонками , была предоставлена ​​возможность изучить и расширить примеры работы, чтобы помочь определить, где они лучше всего подходят для команды разработчиков. [2]

LucasArts окончательно отказалась от движка SCUMM в 1998 году, когда они перешли на GrimE , используя язык сценариев бесплатного программного обеспечения Lua , для игр Grim Fandango и Escape from Monkey Island .

В марте 2016 года Уилмундер сообщил, что он поделится проектной документацией для многих приключенческих игр LucasArts и исходным кодом движка SCUMM, который он планирует предоставить в цифровом формате через GitHub . [3]

Дизайн [ править ]

В большинстве игр SCUMM используется парадигма дизайна «глагол – объект». Персонаж, управляемый игроком, имеет инвентарь, а игровой мир завален объектами, с которыми игрок может взаимодействовать, используя различные глаголы. Большой набор из них часто отображался внизу экрана в ранних играх, но в Full Throttle (1995) и The Curse of Monkey Island (1997) они были сокращены до «глагольной монеты», появляющейся при курсоре мыши. с возможностью использовать глаза персонажа ( смотреть ), руки ( использовать , поднимать , толкать , тянуть и т. д.) или рот ( говорить , потреблять , вдыхать ).

Loom (1990) заменяет обычный интерфейс SCUMM глаголов на заклинания, проигрываемые на музыкальной прялке .

В головоломках обычно используется правильное действие глагола с соответствующим объектом - например, «используйте резак для печенья с резиновым деревом». "Talk to" обычно создает диалоги, в которых игрок выбирает из списка предопределенных вопросов или комментариев, а персонаж, с которым он разговаривает, отвечает предопределенным ответом.

Заметным исключением из этой общей парадигмы является Loom (1990), который не использует стандартный интерфейс «глагол – объект», но заменяет большинство действий набором заклинаний, сыгранных на инструменте.

Повторная реализация [ править ]

Компилятор [ править ]

ScummC - это набор инструментов (включая скрипт и компилятор костюмов, редактор Walkboxes, набор символов, графику, аудио и инструменты MIDI), способный компилировать свой собственный JavaScript- подобный язык в байт-код SCUMM v6 , запускаемый как в ScummVM. Он позволяет любому, у кого есть необходимые навыки, создавать новые и оригинальные игры SCUMM с функциями, сопоставимыми с Day of the Tentacle и Sam & Max Hit the Road . [4]

Подобный проект под названием ScummGEN направлен на достижение того же результата с помощью удобных инструментов. [5]

Scummbler - это компилятор байт-кода SCUMM для версий 3–5 механизма SCUMM. [6] Он использует сценарии, декомпилированные из исходных файлов игры, извлеченные с помощью комбинации инструмента распаковки, такого как ScummPacker [7] (также автора Scummbler), и инструмента descumm от ScummVM . Эти сценарии можно повторно вставить в исходные файлы игры, что делает их полезными для изменения существующих игр, например для перевода. Также доступны кодировщик-декодер изображений [8] и инструмент, помогающий отображать речевые файлы в текст. [9]

Переводчики [ править ]

ScummVM является свободным и открытым исходным кодом проекта , чтобы сделать портативную, Simple Directmedia Layer (SDL) библиотека-клиент SCUMM-двигатель , который позволяет многим из игр SCUMM двигателей для воспроизведения на системах , где оригинальные версии не будет работать или иметь проблемы с работой, включая современные системы Windows и Macintosh , Linux (включая портативные карманные компьютеры - Android , GP2X , GP2X Wiz , Maemo и т. д.), BeOS - Haiku , AmigaOS (3.x, 4.0 и его клоны MorphOS иAROS ), Palm OS , Windows Mobile ( Pocket PC ), Dreamcast , PlayStation 2 , PlayStation Portable , Nintendo DS , Wii , Symbian (SeriesXX и UIQ), iOS ( iPad , iPhone , iPod Touch ), webOS и QNX - платформы Playbook . [10]

scvm - это интерпретатор SCUMM, разработанный автором ScummC. [11] По состоянию на апрель 2008 года он находится в состоянии прототипа и должен стать отладчиком сценариев для разработки ScummC. hiscumm - это попытка перенести scvm и некоторые части ScummVM на платформу Haxe для создания интерпретатора с бэкэндом Adobe Flash . [12] [13]

Ссылки и анекдоты [ править ]

Отсылки в шутку были обычным явлением в приключенческих играх LucasArts . Разработчики использовали название своего движка для создания комического эффекта в нескольких играх.

Razor and the Scummettes , панк-группа, упомянутая в Maniac Mansion , и бар SCUMM в The Secret of Monkey Island названы в честь языка сценариев. В Побег из Monkey Island , жертвой враждебного поглощения, то SCUMM бар становится Lua бар , ссылка на язык программирования , который заменил двигатель , используемый для предыдущих игр. SCUMM также указан в составе грога в первом опусе саги об Острове Обезьян .

См. Также [ править ]

  • Интерпретатор приключенческих игр
  • Творческий переводчик Сьерры
  • Z-машина

Ссылки [ править ]

  1. ^ GameSpot, «Classic Studio Postmortem: Lucasfilm Games». Архивировано 4 сентября 2015 г. в Wayback Machine , Рон Гилберт , 24 марта 2014 г., по состоянию на 3 апреля 2015 г.
  2. ^ a b c d e f g h i j Беван, Майк (21 июля 2013 г.). «Дневник SCUMM: Истории одного из величайших игровых движков, когда-либо созданных» . Гамасутра . Архивировано 23 марта 2016 года . Проверено 23 марта 2016 года .
  3. Керр, Крис (23 марта 2016 г.). «Соавтор SCUMM раскапывает сокровищницу игрового дизайна» . Гамасутра . Архивировано 30 мая 2016 года . Проверено 23 марта 2016 года .
  4. ^ ScummC Компилятор SCUMM, архивировано 4 сентября 2015 г. на Wayback Machine
  5. ^ ScummGEN архивации 2010-07-16 в Wayback Machine
  6. ↑ Scummbler, архивировано 2 августа 2014 г. в Wayback Machine.
  7. ^ ScummPacker архивации 2013-11-08 в Wayback Machine
  8. ^ SCUMM Image кодировщик архивация 2015-02-15 в Wayback Machine
  9. ^ ScummSpeaks архивации 2015-02-15 в Wayback Machine
  10. ^ Список совместимости SCUMMVM. Архивировано 15 июня 2006 г. на Wayback Machine.
  11. ^ Бедел, Alban (2021-02-22), AlbanBedel / scummc , извлекаются 2021-03-19
  12. ^ " Что не писать в Haxe, Часть II Архивированных 2015-05-19 в Wayback Machine " (2008), Cuppadev
  13. ^ Уркварт, Джеймс (2019-02-11), jamesu / hiscumm , извлекаются 2021-03-19

Внешние ссылки [ править ]

  • История SCUMM