Инглиш парсер (для Хоббита 1982)

29

С увлечением прочитал о текстовой приключенческой игре The Hobbit, в которой был представлен невероятно мощный парсер под названием «Inglish»:

... Инглиш позволял набирать сложные предложения, такие как "спроси Гэндальфа о любопытной карте, затем возьми меч и убей тролля с ним". Парсер был сложным и интуитивно понятным, вводя местоимения, наречия («злобно нападай на гоблина»), знаки препинания и предлоги и позволяя игроку взаимодействовать с игровым миром способами, ранее недоступными.

Мне интересно, знает ли кто-нибудь об истории и / или наследии движка Inglish и программистов, которые его разработали.

Джордан Райтер
источник
4
В Digital Антикварная «сек статьи о Хоббите имеет немного больше информации о анализаторе.
ProphetV
@ProphetV, если кто-то еще не заходит, похоже, ваш комментарий - самая близкая вещь к ответу.
Джордан Рейтер

Ответы:

39

Из статьи Digital Antiquarian " Хоббит" :

Меглер [1] наняла партнера для работы с ней в игре, Филиппа Митчелла [2], старшего сотрудника, с которым она уже работала над несколькими групповыми проектами и с которым она знала, что с ним легко общаться и опытный программист Мильгром [3] сам добавил третьего члена команды специально для того, чтобы помочь им с синтаксическим анализатором: Стюарт Ричи, который получил двойную степень по английской лингвистике и информатике, с особым интересом к объединению этих двух областей.

[...]

Митчелл работал над синтаксическим анализатором полного предложения, который позволил бы игроку общаться с другими персонажами в мире и даже организовывать их. Он назвал свою систему «Inglish». Вместе код двигателя и парсера был в конечном итоге сжат до 17 К, оставляя оставшуюся память для базы данных Меглера. Ричи, который работал в Мельбурн-Хаусе всего несколько месяцев, не написал никакого кода, и его идеи в конечном итоге оказали небольшое влияние на систему. Идея Мильгрома нанять лингвистического эксперта для разработки парсера - одна из тех, что звучит лучше в теории, чем работает в реальности.

[...]

Парсер сталкивается с собственными проблемами. Он многое понимает, в том числе впервые, насколько мне известно, наречия. Например, можно «злобно атаковать подлого гоблина», хотя я был бы шокирован, узнав, что он не просто выбрасывает наречие, как статьи. И все же в других отношениях, особенно в ранних выпусках, работать очень сложно. Можно «залезть в лодку», но не «войти» или «войти в нее»; можно попросить Торина «нести меня», но не попросить его «забрать меня» (не говоря уже о случайных гномах, двойное намерение не предусмотрено); можно «смотреть через реку», но не «смотреть через нее».


И из интервью с Вероникой Меглер ( The Register , 2012):

Хоббит выделялся среди приключенческих игр того времени тремя способами, первым из которых было использование графики. Многие сцены в игре содержали цветное изображение, которое, возможно, рисовалось на мучительно медленной скорости, но все же предлагало гораздо более богатый опыт, чем текстовые приключения дня.

Вторым ключевым нововведением был «Inglish», система синтаксического анализа, которая выходила далеко за рамки синтаксиса глагола / существительного, допускаемого большинством игр того времени. Инглиш позволяет игрокам вводить целые предложения текста, когда они пытаются завершить квест, который соответствует сюжету знаменитого романа Толкина.

Третьим и менее очевидным нововведением стал игровой движок, созданный Меглер.

[...]

Анализ игры, приписывающий ее успех Инглишу, также немного раздражает [ее], так как фанаты говорят Меглер, что они не использовали много слов, которые он предлагал, но ценили способность использовать различные объекты в воображении, что она [ встроен] в движок игры.


И, наконец, из записи в Википедии :

В игре была инновационная текстовая физическая система, разработанная Вероникой Меглер. Объекты, включая персонажей в игре, имели расчетный размер, вес и прочность. Объекты могут быть размещены внутри других объектов, соединены вместе веревкой и повреждены или сломаны. Если главный герой сидел в бочке, которую затем подбирали и бросали через люк, игрок тоже уходил.


Парсер также был способен работать в режиме реального времени, даже если игрок не вводил команды, история продолжалась:

В отличие от других интерактивных художественных произведений, игра была также в реальном времени - если вы слишком долго оставляли клавиатуру, события продолжались без вас, автоматически вводя команду «WAIT» с ответом «Вы ждете - время проходит». Если вам пришлось ненадолго покинуть клавиатуру, была команда «ПАУЗА», которая остановила бы все события, пока не была нажата клавиша.


Это было необходимо, так как в игре были неигровые персонажи и монстры.

[...] полностью независимый от игрока и связанный точно такими же правилами игры. У них были лояльность, сильные стороны и личности, которые влияли на их поведение и не всегда могли быть предсказаны. Например, персонаж Гэндальфа свободно бродил по игровому миру (около пятидесяти локаций), собирая предметы, вступая в драки и попадая в плен.


В руководстве по игре ( часть 1 и часть 2 ) говорится, что:

[парсер] знает более 500 слов и может выполнять более 50 различных действий (объединяя глаголы и предлоги) "


Доступный словарь довольно маленький, хотя:

THE INGLISH VOCABULARY: 

Movements: 

NORTH (N)            NORTHEAST (NE)
SOUTH (S)            NORTHWEST (NW)
EAST  (E)            SOUTHEAST (SE)
WEST  (W)            SOUTHWEST (SW)
UP    (U)            DOWN      (D)

Action Verbs:

BREAK              FILL              SAY
CLIMB              FOLLOW            SHOOT
CLOSE              GIVE              SWIM
CROSS              GO                TAKE
DIG                KILL              THROW
DRINK              LOCK              TIE
DROP               PICK              TURN
EAT                PUT               UNLOCK
EMPTY              OPEN              UNTIE
ENTER              RUN               WEAR

Special Commands:

EXAMINE            LOOK (L)          QUIT
HELP               NOPRINT           SAVE
INVENTORY (I)      PAUSE             SCORE
LOAD               PRINT             WAIT

Prepositions:

ACROSS             INTO              THROUGH
AT                 OFF               TO
FROM               ON                UP
IN                 OUT               WITH

Adverbs:

CAREFULLY                 QUICKLY
SOFTLY                    VICIOUSLY


Для меня это означает, что «Хоббит» определяется не столько самим синтаксическим анализатором «Инглиш» (который не настолько продвинут по сегодняшним меркам - сравните различные доступные чат-боты), сколько взаимодействием для продвинутого времени Парсер с универсальным и гибким игровым движком.

[1] Вероника Меглер, затем студентка последнего курса бакалавриата с интересом к проектированию баз данных. Персональная страница: http://web.cecs.pdx.edu/~vmegler/ Апрель 2002 Интервью

[2] Филип Митчелл, вернувшийся в Мельбурнский дом Вероникой Меглер в 1982 году. Также работал с Меглером в Penetrator (1983). Продолжал писать игры для Melbourne House / Beam Software до 2000 года. Дополнительная информация: http://playitagainproject.org/creators/philip-mitchell/

[3] Альфред Милгром, основатель Melbourne House / Beam Software (вместе с Наоми Безен). Он нанял Веронику Меглер «Сделать лучшую приключенческую игру. Период». Дополнительная информация: База данных австралийских игр

ProphetV
источник
1
Вот Это Да! Большое исследование, спасибо! Мне придется поискать Веронику Меглер.
Джордан Рейтер
1
Персональная страница здесь: web.cecs.pdx.edu/~vmegler Она все еще занимается бизнесом, изучая докторскую диссертацию по CS. На ее странице упоминается ее "15 минут славы" re: Хоббит.
Джордан Рейтер