Интервью с Грэхэмом Нельсоном (http://taplap.ru/articles.php?op=show&aid=11)
Отправлено: WildWizard
Автор: © XYZZY News, 1995 © Сергей Симонович, перевод с английского, 1995 г.
2001-10-20 23:04:00


© XYZZY News, 1995

© Сергей Симонович, перевод с английского, 1995 г.

Взято с сайта Inforcom Press


Имя Грэхэма Нельсона известно многим тысячам поклонников текстовых адвентюрных игр, знакомым с его завораживающей игрой "Curses". Известен он и как автор системы INFORM, предназначенной для создания адвентюрных игр.

Сегодня мы представляем интервью с этим интересным человеком. Оригинал интервью был опубликован в электронном журнале XYZZY, выпуск N1, 1995 г.


В: Скажите, как Вы пришли к программированию игр адвентюрного жанра, и с чего Вы начинали? Какой у Вас компьютер, и на каких языках Вы программируете.

О: Мне двадцать семь лет, я занимаюсь математикой в Оксфордском Университете и упоминаю свой возраст только для того, чтобы Вы понимали, что я был еще ребенком, когда Краутер и Вудс выпустили самую первую адвентюру под названием "Advent". Это было в конце 70-х годов.

Наш сосед по дому был одним из руководителей Digital UK, и иногда по выходным он брал меня с собой на бисквитную фабрику в Рединге, где я мог поиграть на ЭВМ. Меня, десятилетнего, компьютер просто завораживал и, я думаю, что это самый лучший возраст для развития воображения.

Чуть позже произошел взрыв домашних компьютеров, и у меня появился один из первых. Это был Acorn Atom. На нем я начал писать примитивные адвентюры. Оперативной памяти было всего 10 К (и это научило меня многому).

Открытием для меня стала идея, что локации можно представлять числами, а каждому объекту можно дать переменную с номером локации... и прочее. Я был тогда юн... Я и сегодня работаю с машинами фирмы Acorn, только теперь это Acorn Archimedes A5000, операционная система которого произошла из старой операционной системы Acorn Atom.

Пользуюсь я двумя языками. Это превосходный компилятор ANSI C фирмы Норкрофт и система INFORM.

В: Как развивались Ваша система INFORM и программа Curses? Сколько времени заняла разработка различных частей программы Curses?

О: Прежде всего, я никогда не собирался писать систему INFORM. Я немного играл в "Инфокомовские" игры в конце 80-х годов (запуская их под CP/M на древнем "Амстраде") и не мог не восхититься ими. Мне стал интересен рабочий формат программных данных, и в начале 1993 года я разыскал некоторые обрывочные документы на эту тему в системе "ИНТЕРНЕТ".

Я обратился к Марку Ховеллу с запросом, не знает ли он о существовании компилятора для игр в формате фирмы Infocom. Он мне ответил в том духе, что мол: "Кто только об этом не мечтает". Тогда я попробовал подправить файл игры так, чтобы она выдавала сообщение "Hello World" и останавливалась. Всякий раз, когда у меня ничего не получалось, я думал: "Ах, не стоило мне выбрасывать таблицу свойств, устанавливаемых по умолчанию", - и опять брался за программирование.

В конце концов у меня все заработало, но на экран ничего не выдавалось, пока не набралась первая полная страница текста. Я ввел 30 новых строк и вдруг моя "игрушка" сказала "hEllO woRlD". Часом позже я разбирался в структуре алфавита игры гораздо лучше. Моя первая реальная программа раскладывала числа от 2 до 100 на простые множители. Для нее я сымпровизировал ассемблер (отличный дисассемблер Марка помог мне это сделать).

Свой первый компилятор я назвал "ZASS" (Zork Assembler). К этому моменту он представлял собой такую жуткую путаницу всевозможных исключений, что мне пришлось запастись достаточным количеством бумаги и выработать некие правила, лежащие в основе системы. Эти правила я воплотил в гораздо более простом ассемблере, в который включил обработку операторов "if", блоков кодов, циклов и калькулятор выражений. Результатом стала система INFORM 1.

Первой большой программой системы стала самая трудная - анализатор текста. Я был намерен использовать все "инфокомовские" ухищрения, в частности задание играющему дополнительных вопросов для выяснения его намерений.

Добавка обычных адвентюрных глаголов (TAKE, DROP, INVENTORY...) была простым делом. В конце концов я выбросил свою глупую тестовую игру и начал писать "Curses". В голове у меня уже сформировался проект вчерне и примерно через две недели появились Чердак, Призрачный Город и Сад.

Мой первый опыт был не очень хорош. Мне следовало бы быть более аккуратным. Например, самая слабая головоломка в игре (замена батарейки в фонарике) относится к тем дням. Некоторые из моих друзей развлекались, отыскивая "жучки" по нескольку штук в минуту. Мне пришлось забрать игру и работать над ней еще примерно месяц до весны 1993 года. Потом я передал игру на тестирование Ричарду Таккеру и Гаррету Рису. Они раскопали еще сотню ошибок, а я пополнил игру еще несколькими головоломками (например с мышью-роботом). В конце апреля я запаковал "Curses" и систему INFORM и объявил о них в сетях. Две недели никто не отзывался. "Неужели никому нет до этого дела?", - думал я. Оказалось, что моя программа для работы с электронной почтой вышла из строя. Когда же информация по-настоящему пошла к людям, обратно пошел медленный, но нарастающий поток ответов. К концу первого года он превратился в лавину.

Первая публикация "Curses" (выпуск 7) была чуть больше половины нынешней версии. Катакомбы, Александрия и Деревня тогда еще не существовали. Они добавлялись постепенно в последующих версиях.

Сегодня игра завершена окончательно. Самым последним добавлением стала пометка, сделанная на часах Вильямом Снельсоном, который жил в 18-м столетии, работал часовщиком и был далеким предком главного героя игры.

Такие добавления стали возможными потому, что система INFORM со временем становилась все лучше и лучше (с помощью программистов Боба Ньювелла и Дилипа Сикейры). К началу 1994 года уже существовала INFORM 4, которая позволяла делать игры вдвое более емкие, чем ее предшественники.

Правда, язык системы по-прежнему оставался трудным. Сейчас я морщусь, когда гляжу на оригинальный исходный текст программы "Curses". Так я решился на полную переработку и начал с того, что написал "информовскую" версию классической игры "Advent". Ее я взял с отличной версии Дэвида Бэггета, выполненной в системе TADS. Одновременно я продолжал работать над улучшением системы INFORM, пока она не стала приобретать черты объектно-ориентированной системы.

После этого до начала 1995 года язык системы оставался неизменным, хотя значительные перемены коснулись анализатора текста. Эти месяцы я работал над сопроводительной документацией. Сейчас я доволен новыми руководствами - система преодолела тот рубеж, когда она как юный подросток непрестанно вырастала из собственных ботинок.

В: Для системы INFORM и своих игр Вы избрали свободную и бесплатную форму распространения. Что стоит за этим решением?

Когда я начинал, настроение групп любителей жанра Adventure было элегическим: "Все хорошие игры уже давно написаны". Я надеялся, что моя игра изменит это мнение. Мне хотелось "оживить" мертвый формат "инфокомовских" игр, а переубедить людей оказывается труднее, когда они должны платить деньги за то, чтобы тебя услышать. Во времена раннего Возрождения молодые итальянские художники бродили по древнеримским развалинам и говорили: "Мы ведь тоже можем делать и это и это...". Так же и я. У меня те же чувства, что у этих художников. А деньги?.. Существуют ведь другие способы зарабатывать себе на жизнь.

В: Вам встречались интересные игры, созданные другими авторами с помощью Вашей системы INFORM?

О: Да, встречались. Но в основном это были импорты с других компьютерных платформ, фрагменты и незавершенные труды. Сейчас я знаю десяток авторов, серьезно работающих в этой системе, и я как могу стараюсь помогать им технически. INFORM 5 пока еще остается новинкой, и у многих с ней возникают проблемы. Из тех игр, с которыми я сталкивался, я рекомендую "Busted" Йона Друкмана.

В: Возвращаясь к "Curses", скажу, что в последние несколько месяцев вопросы по этой игре и просьбы о подсказках буквально подавили все остальные обсуждения в телеконференциях, посвященных интерактивной литературе. Скажите, какие пожелания и сожаления Вы слышите об этой игре наиболее часто?

О: Обратите внимание на то, что "Curses", будучи игрой свободного распространения, циркулирует гораздо более широко, чем многие Shareware-игры. Сегодня круг играющих в "Curses" достиг десятков тысяч человек - это уже примерно соответствует среднему количеству продаж типичной игры фирмы Infocom в период ее расцвета. Так что постепенно игра завоевывает себе долю внимания публики. К сожалению, часто игру переоценивают, и как ответная реакция появляются "злые молодые критики", которые стоят на позиции "Что тут такого? Из-за чего вообще весь этот шум?".

Наиболее частая жалоба по игре - что игра трудна. Это действительно так. Победить в ней очень трудно, хотя я удивлен тому, сколько человек сумели это сделать. Во вторую половину средней части игры я вложил самый интересный материал для того, чтобы поддержать наиболее настойчивых.

Многие также спрашивают о том, как можно воспользоваться секретными отладочными командами; очевидно, у них почему-то сложилось впечатление, что я им отвечу.

В: Если оглянуться назад, что бы Вы сделали не так в программе "Curses"?

О: Мне нравится эклектический дух игры и большое разнообразие головоломок - это бы я сохранил, хотя местами игра выглядит несвязной, особенно для тех игроков, которые не докопались до глубоко упрятанных подсказок. Я мог бы сделать игру немного меньше. В том виде, как она есть, в ней могли бы быть еще добрых два десятка комнат, но нам с плейтестером никогда они особо не нравились, поэтому я удалил из игры две целых области.

Я вообще рекомендую делать переработку карты игрового пространства после тестирования. Тестирование - это не просто поиск и устранение ошибок. Я бы уделил больше внимания некоторым точкам, в которых игрок принимает непоправимые решения.

В: Пожалуйста расскажите о тех играх, которые приложены к системе INFORM для демонстрации ее возможностей.

О: Во-первых, это программа "Advent" - достаточно простая, но все-таки хорошая игра. Затем идет "Toyshop". Игра имеет маленькое игровое поле, которое очень плотно заполнено объектами. Это пример для тех, кто будет работать с системой INFORM.

Следующая программа - "Balances", которую я написал за полтора вечера. Она не является серьезным произведением искусства - это как бы попурри на тему всенародно любимой трилогии "Enchanter" фирмы Infocom. Частично, признаюсь, она была написана для развлечения, но в основном для того, чтобы продемонстрировать возможности анализатора текста для создания сложных головоломок, например лотерейных билетов с номерами от 1 до 10 0000 и неразличимых объектов, на которых можно писать названия.

Там есть еще несколько небольших примеров и конверсия игры Скотта Адамса "Adventureland".

Скотт Адамс писал свои игры для компьютера ZX-Spectrum. Наши читатели могут ознакомиться со всей коллекцией его игр под эмулятором Z80. Сам эмулятор и сборники игр Speccy Collection можно заказать у нас. Зарегистрированные читатели регулярно получают бюллетень всех наших предложений.

i-ПРЕСС

В: В телеконференциях, посвященных интерактивной литературе, разгорелись горячие дискуссии на тему трудности Ваших игр и "честности" некоторых головоломок из программ "Balances" и "Curses". Как Вы ответите на обвинения в Ваш адрес, что некоторые из Ваших головоломок нарушают основы Вашего собственного "Билля о Правах Играющего".

"Билль о Правах Играющего" входит в книгу Грэхэма Нельсона "Мастерство Adventure". Наши читатели смогут ознакомиться с этой книгой полностью.

i-ПРЕСС

О: Виноват. Но в качестве смягчающего обстоятельства прошу учесть тот факт, что почти всегда я играю честно и испытываю чистосердечное раскаяние по поводу нескольких ударов ниже пояса в игре "Curses". Я стараюсь ввести в игру головоломки разного уровня - от очень простых до очень сложных (на большинство никто не жалуется) и держать открытыми сразу несколько одновременно. Я специально сделал так, что продвигаясь вглубь игры, Вы будете не только открывать новые локации, но и новые возможности в самых первых, давно освоенных локациях. Мне кажется, что это создает особую атмосферу, хотя и пропадает четкий раздел между прологом и средней частью игры.

Надо также иметь в виду, что пользователи очень сильно расходятся во мнении (особенно со мной) в вопросе о том, что считать трудным, а что - легким. Самый лучший комплимент, какой мне иногда приходится услышать - этО: "Я прикончил игру, но это было чертовски трудно".

В: Какие у Вас планы на будущие игры? Можно ли ожидать продолжения "Curses"?

О: Сейчас я работаю над более серьезной игрой под названием "Jigsaw". С переменным успехом работа продолжается последние 18 месяцев, но конца пока не видно. Основное время уходит на приведение в форму системы INFORM для широкого распространения.

Что же касается продолжения, то мне кажется, что сценарий "Curses" относится к таким, для которых продолжения более вероятны, чем для иных (в сравнении, например, с "Гамлетом"), но пока оно не планируется.

В: Кто Ваши любимые авторы? Какие компьютерные игры Вам нравятся больше всего?

Я очень люблю поэзию Филипа Ларкина и Примо Леви, хотя между ними нет ничего общего. Кроме них мои любимые авторы: Эллиот, Доннэ, Броунинг и Элизабет Бишоп, - в общем-то предсказуемый набор. Из драматургов это Том Стоппард, Кристофер Хэмптон, Давид Хар. Мой любимый роман - трилогия Джона Кристофера "Белые горы", "Город золота и свинца" и "Огненный источник". Это автор для старшего школьного возраста, но его сюжеты немного более закручены, чем, скажем, у Толкиена. Его проза не без изъянов, но сюжет, образы и дух произведений безупречны.

Что же касается компьютерных игр, то по моему мнению самые лучшие адвентюры - это "Spellbreaker" и "Trinity", которые сейчас справляют свое десятилетие. Нынешний рынок компьютерных игр приводит меня в уныние. Я думаю, что он деградирует так же, как американское телевидение. То, что сегодня называют "адвентюрами" - игры типа "Седьмого гостя" на двух CD-ROM, имеющие размер в 20 тысяч раз больше, чем оригинальная игра "Advent" и при этом в 10 раз глупее и скучнее. Готов признать, что "Alone In The Dark" - немного лучше. Было время, и у меня были проблемы с "Тетрисом". Я неплохо отношусь к аркадным стрелялкам, но люблю их абстрактно. Я, по-видимому старомоден, потому что меня беспокоят такие обзоры игр, в которых пишут: "... я видел военнопленных, истерзанных пытками и плывущие по реке трупы своих товарищей... Великолепная игра!" (пример подлинный).

В: Мы много слышали о том, что система INFORM легко переносится на различные, почти любые, компьютерные платформы. Не могли бы Вы пояснить эту идею?

О: Сам компилятор работает далеко не на всем, а на наиболее распространенных системах - в первую очередь на РС и на "Маках". Но игры, которые он создает, могут работать почти на всем, начиная от персональных органайзеров и до больших ЭВМ.

Интерпретатор же - это программа, которая "разыграет" игру, записанную в формате фирмы Infocom, при этом неважно, что это - "родная" инфокомовская игра (их сейчас продает компания Activision по очень низким ценам) или же это современная игра, сделанная с помощью системы INFORM. Таких свободнораспространяемых интерпретаторов полным-полно для любой машины (и требуется совсем немного усилий, чтобы "перетянуть" интерпретатор с одной машины на другую).

Так что "Curses" работает совершенно одинаково на десятках самых разнообразных машин.

В: Какими Вам видятся основные направления развития интерактивной литературы?

О: Я не очень верю в "направления" в искусстве. Здесь все развивается не по прямой, а по спирали. По-моему, форма "интерактивной литературы" не претерпела фундаментальных изменений после начала 70-х точно так же, как форма художественного романа не претерпена существенных изменений после 1700-го года. И не верьте киберпанкам - большинство авторов художественных произведений не перейдут на гипертекстные технологии просто потому, что они появились.

В: А чем Вы занимаетесь в свободное время?

О: Как раз тем, о чем мы сейчас и говорим, я и занимаюсь в свободное время. А в рабочее время я занимаюсь дифференциальной геометрией, теорией малых размерностей и топологией, да еще и преподаю в университете.

Последнюю неделю я провел в собеседованиях с абитуриентами, а сейчас, когда пишу этот ответ на Ваш вопросы, на часах уже час ночи и я слушаю "Искусство фуги" Баха. Немножко пишу стихи, делаю это очень медленно и публикуюсь по чуть-чуть.

В: В справочном руководстве к системе INFORM Вы написали, что "автор текстовой адвентюры должен быть в известной степени шизофреничен, в то время как автор обычного литературного произведения - нет". С какими наибольшими трудностями сталкивается программист, пытающийся объединить разветвленную структуру игры и линейную содержательность сценария.

О: Самая большая проблема - уберечь играющего от того, чтобы он застрял где-то в начале игры и от того, чтобы игра ему быстро наскучила. Надо научиться думать одновременно и как игроку и как разработчику. Это достигается одновременным открытием многих путей для движения героя, а значит неизбежно требуется такой сценарий, который состоит как бы из нескольких параллельных сюжетов. И этот сценарий должен как бы открываться самим играющим, а не объявляться автором игры. Надо как бы больше показывать и меньше рассказывать. Не надо забывать и о том, чтобы разбрасывать временами отвлекающие приманки и вводить суб-сценарии. В итоге получается совершенно необычное произведение.

В: С точки зрения перспективы играющего завершение хорошей текстовой адвентюры имеет налет грусти в том же смысле, как и завершение хорошего романа означает расставание с полюбившимися героями. Какой совет Вы можете дать авторам, желающим создать запоминающееся игровое окружение?

О: Атмосфера игры имеет чрезвычайное значение и требует очень высокого искусства. После того как жанр игры определен, надо твердо его придерживаться. Если действие Вашей игры происходит во время Карибского кризиса, надо тщательно проработать библиотечные материалы - узнайте, что люди тогда носили, какие другие события происходили в это время, какой была домашняя обстановка в помещениях, на каких машинах тогда ездили. Обязательно надо включить в игру головоломки, которые сейчас кажутся чужеродными, например, набор телефонного номера по чьему-то имени. Тогда существовали телефонные аппараты, на которых за каждой цифрой была закреплена какая-то буква - сейчас таких уже нет (по крайней мере в Англии). Я люблю также использовать некоторую форму повторяющихся действий, в которых отдельные элементы могут выглядеть одинаковыми, но результат - различный, причем неожиданный.

В: Что Вам кажется наиболее важным в проектировании анализатора текста? До какой степени может программист позволить себе отвергать наиболее очевидные и напрашивающиеся действия игрока?

Мне кажется, что в хорошей игре примерно до трети кода должно быть уделено реакциям на неправильные решения пользователя. Если больше, то еще лучше. Я люблю предугадывать идеи, которые могут возникнуть у моих плейтестеров во время разгадывания загадок. Иногда я разрабатываю их как параллельное решение, если оно соответствует здравому смыслу и не нарушает баланса игры. Почему нет? Насколько я помню, в "Curses" есть шесть альтернативных способов открыть бутылку с лекарством.

Создание некоего универсального анализатора текста - грандиозное, но трудноисполнимое предприятие. Самым трудным при этом является учет контекста и угадывание намерений игрока. Мой главный вывод - не искать коротких и простых путей. Луче написать анализатор, который понимает слишком много (то есть "понимает" нелепо сконструированные запросы, которые следовало бы не обрабатывать, а отвергать), чем слишком мало, поскольку имеет ограниченный запас слов и слишком узкие грамматические алгоритмы.