Интервью с Грэхэмом Нельсоном (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" есть шесть альтернативных способов открыть бутылку
с лекарством.
Создание некоего универсального анализатора текста - грандиозное, но
трудноисполнимое предприятие. Самым трудным при этом является учет контекста и
угадывание намерений игрока. Мой главный вывод - не искать коротких и простых
путей. Луче написать анализатор, который понимает слишком много (то есть
"понимает" нелепо сконструированные запросы, которые следовало бы не
обрабатывать, а отвергать), чем слишком мало, поскольку имеет ограниченный запас
слов и слишком узкие грамматические алгоритмы.