The Inglish parser (dla The Hobbit 1982)

29

Był zafascynowany czytaniem o tekstowej grze przygodowej Hobbit, która zawierała niezwykle solidny parser o nazwie „Inglish”:

... Inglish pozwolił pisać zaawansowane zdania, takie jak: „zapytaj Gandalfa o ciekawą mapę, a następnie weź miecz i zabij nim trolla”. Analizator składni był złożony i intuicyjny, wprowadzając zaimki, przysłówki („złośliwie atakuj goblina”), interpunkcję i przyimki oraz pozwalając graczowi na interakcję ze światem gry w sposób, który wcześniej nie był możliwy.

Zastanawiam się, czy ktoś wie o historii i / lub spuściźnie silnika parserów Inglish i programistach, którzy go opracowali.

Jordan Reiter
źródło
4
Przez Cyfrowy Antykwariat dydaktycznego artykuł na Hobbita ma trochę więcej informacji na temat parsera.
ProphetV,
@ProphetV, chyba że ktoś inny przejdzie obok, wygląda na to, że Twój komentarz jest najbliżej odpowiedzi.
Jordan Reiter,

Odpowiedzi:

39

Od The Cyfrowe Antykwariat dydaktycznego artykule «The Hobbit» :

Megler [1] zwerbowała partnera do współpracy przy grze, Philip Mitchell [2], koleżankę z którą pracowała już przy wielu projektach grupowych i z którą wiedziała, że ​​łatwo się z nią dogadać i wykwalifikowany programista. Sam Milgrom [3] dodał do zespołu trzeciego członka, aby pomóc im w analizie składni: Stuart Richie, który studiował lingwistykę angielską i informatykę, specjalizując się w łączeniu tych dwóch dziedzin.

[...]

Mitchell pracował nad parserem pełnych zdań, który pozwoliłby graczowi rozmawiać z innymi postaciami na świecie, a nawet porządkować je. Nazywał swój system „Inglish”. Razem kod silnika i analizatora składni został ostatecznie ściśnięty do około 17 K, pozostawiając resztę pamięci dla bazy danych Meglera. Richie, który był zatrudniony przez Melbourne House tylko przez kilka miesięcy, nie wniósł żadnego kodu, a jego pomysły ostatecznie miały niewielki wpływ na system. Pomysł Milgroma na zatrudnienie eksperta lingwistyki do opracowania parsera jest jednym z tych, które brzmią lepiej w teorii niż w rzeczywistości.

[...]

Analizator składni jest obciążony własnymi problemami. Wiele rozumie, w tym, po raz pierwszy nigdzie, według mojej wiedzy, przysłówki. Można na przykład „okrutnie zaatakować wrednego goblina”, chociaż byłbym zszokowany, gdybym dowiedział się, że nie wyrzuca przysłówka, jak robi artykuły. Jednak na inne sposoby, szczególnie we wczesnych wersjach, praca z nią jest bardzo frustrująca. Możliwe jest „wejście do łodzi”, ale nie „wejście” lub „wejście”; możliwe jest poproszenie Thorina o „niesienie mnie”, ale nie proszenie go o „zabranie mnie” (rozmowa o przypadkowych krasnoludach na bok, nie ma zamiaru podwójnie wchodzić); można „patrzeć na rzekę”, ale nie „patrzeć”.


I z wywiadu z Veroniką Megler ( The Register , 2012):

Hobbit wyróżniał się na tle gier przygodowych na trzy sposoby, z których pierwszym było wykorzystanie grafiki. Wiele scen w grze zawierało kolorowy obraz, który mógł być rysowany z boleśnie małą prędkością, ale wciąż oferował znacznie bogatsze wrażenia niż przygody tylko w tekście.

Drugą kluczową innowacją był „Inglish”, system analizujący, który wykroczył daleko poza składnię czasownika / rzeczownika w większości gier w dozwolonym czasie. Inglish pozwala graczom wpisywać całe zdania tekstu, gdy starali się wykonać zadanie, które było równoległe do fabuły słynnej powieści Tolkiena.

Trzecią i mniej oczywistą innowacją był silnik gry Megler.

[...]

Analiza gry, która przypisuje swój sukces Inglishowi, również trochę ją drażni, ponieważ fani mówią Meglerowi, że nie używali zbyt wiele słownictwa, ale docenili możliwość używania różnych przedmiotów w pomysłowy sposób, że ona [ wbudowane] w silnik gry.


I na koniec z wpisu w Wikipedii :

Gra miała innowacyjny system fizyki oparty na tekście, opracowany przez Veronikę Megler. Przedmioty, w tym postacie w grze, miały obliczony rozmiar, wagę i solidność. Przedmioty mogą być umieszczone w innych obiektach, połączone razem liną i uszkodzone lub złamane. Jeśli główny bohater siedział w beczce, którą następnie podniósł i wrzucił przez zapadnię, gracz też poszedł.


Analizator składni był także zdolny do działania w czasie rzeczywistym, nawet jeśli gracz nie wprowadził poleceń, historia mogłaby przejść dalej:

W przeciwieństwie do innych dzieł interaktywnej fikcji, gra toczyła się również w czasie rzeczywistym - jeśli pozostawiłeś klawiaturę zbyt długo, wydarzenia były kontynuowane bez ciebie, automatycznie wprowadzając polecenie „CZEKAJ” z odpowiedzią „Czekasz - czas mija”. Jeśli musiałeś na krótko opuścić klawiaturę, pojawiło się polecenie „PAUZA”, które zatrzymywało wszystkie zdarzenia do momentu naciśnięcia klawisza.


Było to konieczne, ponieważ byli w grze NPC (postacie inne niż gracz) i potwory

[...] całkowicie niezależny od gracza i związany dokładnie tymi samymi zasadami gry. Mieli lojalność, mocne strony i osobowości, które miały wpływ na ich zachowanie i nie zawsze można było je przewidzieć. Na przykład postać Gandalfa wędrowała swobodnie po świecie gry (około pięćdziesięciu miejsc), podnosząc przedmioty, walcząc i schwytana.


Instrukcja gry ( Część 1 i Część 2 ) stanowi, że:

[analizator składni] zna ponad 500 słów i może wykonać ponad 50 różnych czynności (łączenie czasowników i przyimków) ”


Dostępne słownictwo jest jednak dość małe:

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


Dla mnie oznacza to, że „Hobbit” nie jest tak bardzo zdefiniowany przez sam parser „Inglish” (który nie jest tak zaawansowany w dzisiejszych standardach - porównaj różne dostępne boty czatu), ale przez wzajemne oddziaływanie parser z wszechstronnym i elastycznym silnikiem gry.

[1] Veronika Megler, a następnie studentka ostatniego roku studiów jako studentka zainteresowana projektowaniem baz danych. Strona osobista: http://web.cecs.pdx.edu/~vmegler/ Wywiad z kwietnia 2002 r.

[2] Philip Mitchell, zarejestrowany przez Veronikę Megler w Melbourne House w 1982 r. Współpracował również z Meglerem przy Penetrator (1983). Kontynuował pisanie gier dla Melbourne House / Beam Software do 2000 roku. Więcej informacji: http://playitagainproject.org/creators/philip-mitchell/

[3] Alfred Milgrom, założyciel Melbourne House / Beam Software (wraz z Naomi Besen). Zatrudnił Veronikę Megler do „Stwórz najlepszą grę przygodową. Okres.” Więcej informacji: Australian Gaming Database

Prorok
źródło
1
Łał! Świetne badania, dzięki! Będę musiał sprawdzić Veronikę Megler.
Jordan Reiter,
1
Osobista strona tutaj: web.cecs.pdx.edu/~vmegler Ona jest nadal w branży, realizując doktorat z CS. Na jej stronie wspomniano o jej „15 minutach sławy”: Hobbicie.
Jordan Reiter,