stringtranslate.com

СКУММ

Script Creation Utility for Maniac Mansion ( SCUMM ) — игровой движок , разработанный Lucasfilm Games, позже переименованной в LucasArts , для облегчения разработки их графической приключенческой игры Maniac Mansion (1987). Впоследствии он использовался в качестве движка для более поздних приключенческих игр LucasArts и игр Humongous Entertainment .

Он находится где-то между игровым движком и языком программирования , позволяя дизайнерам создавать локации, предметы и диалоговые последовательности без написания кода на языке, на котором в конечном итоге находится исходный код игры . Это также позволило сделать скрипты и файлы данных игры кроссплатформенными , т. е. повторно использоваться на различных платформах . SCUMM также является хостом для встроенных игровых движков, таких как Interactive MUsic Streaming Engine ( iMUSE ), INteractive Streaming ANimation Engine ( INSANE ), CYST (внутриигровой анимационный движок), FLEM (размещает и называет объекты внутри комнаты) и MMUCAS. SCUMM был выпущен на следующих платформах: 3DO , Amiga , Apple II , Atari ST , CDTV , Commodore 64 , FM Towns & Marty , Macintosh , Nintendo Entertainment System , MS-DOS , Microsoft Windows , Sega CD (Mega-CD) и TurboGrafx-16 /PC Engine. Несколько игр SCUMM были официально и неофициально портированы на другие системы с помощью программного обеспечения с открытым исходным кодом ScummVM .

История

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

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

SCUMM был разработан как инструмент, который преобразовывал команды, читаемые человеком, в токены размером в байт , которые затем считывались исполняемой программой-интерпретатором, которая представляла игру игроку. Например, команда SCUMM walk dr-fred to laboratory-doorбыла бы токенизирована в 4-байтовую команду. Они не хотели, чтобы конкретные детали об игре были жестко закодированы в сценарии, поэтому токенизатор мог бы распознавать актеров по их именам из сценария, а не по внутренним номерам. Единственным исключением было отображение диалога персонажа другим цветом текста для Maniac Mansion , в который они должны были включить номер, но это было впоследствии пересмотрено к моменту выпуска Zak McKracken . [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.

После ухода из LucasArts и соучредителя Humongous Entertainment в 1992 году Гилберт заключил сделку с LucasArts, которая предоставила бы Humongous лицензию на использование движка SCUMM при разработке их игр, при условии, что он продолжит разрабатывать улучшения движка для использования обеими компаниями. [3] Для игры Full Throttle команда работала над интеграцией SCUMM с анимационным движком INSANE , который ранее был разработан для Star Wars: Rebel Assault . Хотя Вилмундер заставил обе системы работать для поставки Full Throttle , взаимодействие между ними не всегда было стабильным, и перед The ​​Curse of Monkey Island он потратил время на то, чтобы SCUMM работал поверх движка INSANE, заменив некоторые части движка SCUMM на те, которые были родными для INSANE. [2]

Внутри компании большая часть работы SCUMM не была документирована, так как Вильмундер считал, что его относительно просто изучить, но он изменил этот подход перед The ​​Secret of Monkey Island . Чтобы обучить новых сотрудников работе с движком, Гилберт провел их через SCUMM University , недельный период, в течение которого их учили пользоваться движком SCUMM. Этим новым сотрудникам, называемым scummlets , затем давали возможность изучить и расширить примеры работы, чтобы определить, где они лучше всего впишутся в команду разработчиков. [2]

LucasArts окончательно отказались от движка SCUMM в 1998 году, когда перешли на GrimE , используя свободный язык сценариев Lua , для игр Grim Fandango и Escape from Monkey Island . Humongous Entertainment продолжали использовать движок для всех своих игр для ПК, включая серию Backyard Sports , вплоть до выпуска Backyard Soccer 2004 в 2003 году. [4] :  3:34:00 Последующие игры будут разрабатываться на движке YAGA на основе Python , включая Putt-Putt: Pep's Birthday Surprise и Pajama Sam: Life Is Rough When You Lose Your Stuff! — единственные приключенческие игры Humongous, которые не были разработаны с использованием движка SCUMM.

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

Дизайн

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

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

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

Повторная реализация

Компилятор

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

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

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

Переводчики

ScummVM — это бесплатный и открытый программный проект по созданию портативного клиента SCUMM-движка на основе библиотеки Simple DirectMedia Layer (SDL), который позволяет запускать многие игры на движке 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 . [16] [ ненадёжный источник? ]

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

Ссылки и шутки

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

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

Смотрите также

Примечания

  1. Позже известная как LucasArts.

Ссылки

  1. Classic Studio Postmortem: Lucasfilm Games, GameSpot , 24 марта 2014 г. , получено 21 февраля 2023 г.
  2. ^ abcdefghij Беван, Майк (21 июля 2013 г.). «Дневник SCUMM: Истории, стоящие за одним из величайших игровых движков, когда-либо созданных». Gamasutra . Архивировано из оригинала 23 марта 2016 г. . Получено 23 марта 2016 г. .
  3. ^ «Интервью с Роном Гилбертом». Nightdive Studios . 22 июня 2014 г. Получено 16 октября 2023 г.
  4. Cifaldi, Frank (30 октября 2020 г.), «The Secrets of Monkey Island — An Evening With Ron Gilbert», Video Game History Foundation , дата обращения 21 февраля 2023 г.
  5. ^ Керр, Крис (23 марта 2016 г.). «Создатель SCUMM выкапывает сокровищницу игрового дизайна». Gamasutra . Архивировано из оригинала 30 мая 2016 г. . Получено 23 марта 2016 г. .
  6. ^ ab Bedel, Alban (26 января 2023 г.), ScummC - A Scumm Compiler, заархивировано из оригинала 4 сентября 2015 г. , извлечено 21 февраля 2023 г.
  7. ^ "ScummGEN". Google Code . Архивировано из оригинала 16 июля 2010 г. Получено 21 февраля 2023 г.
  8. ^ Дугал Майерс, Лоуренс. "Scumbler". JestarJokin.net . Архивировано из оригинала 2 августа 2014 г. Получено 21 февраля 2023 г.
  9. ^ "Scumbler". BitBucket . Получено 21 февраля 2023 г. .
  10. ^ Дугал Майерс, Лоуренс. "ScummPacker". JestarJokin.net . Архивировано из оригинала 8 ноября 2013 г. Получено 21 февраля 2023 г.
  11. ^ "ScummPacker". BitBucket . Получено 21 февраля 2023 г. .
  12. ^ Дугал Майерс, Лоуренс. "SCUMM Image Encoder". JestarJokin.net . Архивировано из оригинала 15 февраля 2015 г. Получено 21 февраля 2023 г.
  13. ^ "Scumm Image Encoder". BitBucket . Получено 21 февраля 2023 г.
  14. ^ Дугал Майерс, Лоуренс. "ScummSpeaks". JestarJokin.net . Архивировано из оригинала 15 февраля 2015 г. Получено 21 февраля 2023 г.
  15. ^ "ScummSpeaks". BitBucket . Получено 21 февраля 2023 г. .
  16. ^ Список совместимости SCUMMVM. Архивировано 15 июня 2006 г. на Wayback Machine.
  17. ^ Уркухарт, Джеймс (7 марта 2008 г.). "Чего не писать в haXe, часть II". CuppaDev . Архивировано из оригинала 19 мая 2015 г.
  18. Урквхарт, Джеймс (11 февраля 2019 г.), jamesu/hiscumm , получено 19 марта 2021 г.

Внешние ссылки