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