«Приключение», которое начал Уилл Краузер и закончил Дон Вудс

Перед вами третья статья-компиляция из цикла «Археолог цифрового века» Джимми Мехера (Digital Antiquarian). Желающих следить за регулярными обновлениями перевода приглашаю на страницу книги на сайте Author.Today.

Какая история игр обойдется без рассказа об Adventure? Этот цикл не исключение. Несмотря на раритетность предмета повествования, должен предупредить, что будут спойлеры.

Игра Adventure давно и по праву признана самым главным архетипом не только текстовых приключений и ИЛ, но и большинства значимых видеоигр современности. (Взять хоть World of Warcraft, которая ведет родословную от Ultima Online и первого MUD — «многопользовательского подземелья» — Ричарда Бартла, которые, в свою очередь, восходят к Adventure.) Более чем за сорок лет, прошедших с ее выхода, Adventure неоднократно становилась предметом исследований: в 1985 году Мэри Энн Баклз защитила первую в истории диссертацию, посвященную игровому нарративу, под названием Interactive Fiction: The Computer Storygame Adventure («Интерактивная литература: Adventure как сюжетная компьютерная игра»), а в 2007 году в открытом научном журнале Digital Humanities Quarterly была опубликована великолепная статья Денниса Джорджа Джерза Somewhere Nearby is Colossal Cave («Где-то неподалеку находится Колоссальная пещера»).

В общих чертах история создания Adventure звучит следующим образом: в 1975 году Уилл Краузер, программист и спелеолог, развелся с женой. Скучая по двум дочерям, оставшимся с матерью, он решил в свободное от работы время написать игру — видимо, в качестве подарка. Эта игра, которую он назвал просто Adventure, объединила в себе все три его главных увлечения: программирование, изучение пещер и новую настольную игру под названием Dungeons and Dragons (D&D).

Многие наши соотечественники в детстве могли узнать о «Приключениях в пещере» из этой пародийно-познавательной книги
Многие наши соотечественники в детстве могли узнать о «Приключениях в пещере» из этой пародийно-познавательной книги

Как такое возможно? Очень просто: игроку предлагается исследовать пещерный ландшафт, примерно соответствующий пещере Бедквилт (часть Колоссальной пещеры) в составе пещерной системы Мамонтова—Флинт-ридж* в штате Кентукки. Краузер долгие годы изучал ее, составляя подробную карту. В пещере игрок встречается с существами и сокровищами, заимствованными прямиком со страниц руководств по D&D, а для победы должен решать запутанные головоломки, обращая внимание на мелочи, как настоящий программист. Короче говоря, Краузер создал первое в истории текстовое приключение, единолично заложив основы жанра, почти без изменений сохранившиеся до наших дней.

*Здесь важно отметить, что слово «Мамонтова» в названии пещерной системы выступает синонимом к слову «Колоссальная», т.е. «огромная» (одно из значений англ. mammoth).

Теперь давайте ненадолго отвлечемся от самой игры и попробуем ответить на вопрос: а кто такой, собственно, Уилл Краузер? Его портрет хорошо выведен в книге Кэти Хефнер и Мэтью Лайона Where Wizards Stay Up Late («Там, где волшебники засиживаются допоздна»), где повествуется об истории создания сети ARPANET (предшественницы современного интернета). Краузер обладал множеством причуд характера, которые сегодня привычно ассоциируются у нас с хакерами. Можно сказать, он был архетипом хакера.

Команда разработки IMP. Уилл Краузер - второй справа
Команда разработки IMP. Уилл Краузер - второй справа

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

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

Но все эти причуды с лихвой компенсировались другим качеством Краузера — непревзойденным талантом к программированию. На англоязычной странице Википедии, посвященной Уиллу Краузеру, значится: «Программист, спелеолог и альпинист-любитель. Наиболее известен как один из создателей игры Colossal Cave Adventure» — и все. Казалось бы, все правда, но как-то нечестно сводить достижения этого человека только к изучению пещер и одной-единственной игре. Краузер заслужил место в компьютерной истории, даже если бы никогда не написал Adventure.

Уилл Краузер был незаменимым членом небольшой команды разработчиков, которая с конца 60-х закладывала основы современного интернета. Он лично написал ПО для работы IMP’ов (Interface Message Processor — «интерфейсный процессор обработки сообщений») — компьютеров, осуществлявших коммутацию пакетов в базовой подсети ARPANET; иными словами он создал прошивку для первых в мире роутеров. Коллеги не без оснований считали, что он «входит в 1% лучших программистов мира». Особенно ему удавалось писать емкий и эффективный код — весьма ценный навык, учитывая чрезвычайно жесткие ограничения в объемах памяти и процессорной мощности. Главный недостаток Краузера (и то с натяжкой): его куда больше привлекала разработка прототипов. Ему скорее было интересно продемонстрировать принципиальную возможность решения той или иной задачи, нежели шлифовать код и доводить программу до завершенного вида.

И если сопоставить все эти факты друг с другом, становится ясно, как так вышло, что Краузер буквально на коленке создал сам жанр ИЛ, причем в том виде, в каком мы его знаем до сих пор... а потом с такой же легкостью забросил — просто потому (вероятно), что возникла более интересная задача, требовавшая решения.

Оригинальная Adventure, написанная Краузером, включает в себя довольно полный «наружный» уровень и первый подземный уровень, которые мы помним по завершенной версии игры. Эта своего рода «демо-версия» заканчивается на локации «Большой перекресток», где установлен знак: «РАБОТЫ ПО СТРОИТЕЛЬСТВУ ПЕЩЕРЫ НЕ ЗАВЕРШЕНЫ. МОЖЕТЕ ПРОДОЛЖАТЬ ИССЛЕДОВАНИЕ НА СВОЙ СТРАХ И РИСК». И это не розыгрыш. Начиная с этого места код становится неряшливым и невычитанным настолько, что при переходе в очередную комнату игрока может, например, внезапно выкинуть на поверхность. Да и кроме обычных трудностей с ориентированием, игровых задач как таковых там, в общем-то, нет. Но все равно даже в таком виде Краузер заложил основы для тысяч текстовых приключений, которые будут написаны впоследствии, в том числе даже кое-какие простенькие головоломки — ну и лабиринты, конечно же, куда без них.

На самом деле, Adventure и есть один большой лабиринт. Самая сложная задача во всей игре — понять, как соединены между собой узлы (то есть «комнаты») игрового мира, и как там ориентироваться. Более того, все головоломки, которых и без того немного, так или иначе завязаны на перемещении: игроку нужно догадаться, как прогнать змею, чтобы выйти из «Зала горного короля», затем нужно найти другой выход из пещеры, чтобы покинуть ее вместе с сокровищами и т.д. Современному игроку, в особенности если он воспитан на поздних произведениях ИЛ, это наверняка покажется странным, неинтересным и, вполне возможно, даже раздражающим. Все-таки мы привыкли, что в игре, помимо головоломок и блужданий, должно быть еще и увлекательное повествование. Но стремился ли сам Краузер к сильному нарративу, разрабатывая Adventure? Сильно сомневаюсь.

Уилл Краузер вел и ведет весьма закрытый образ жизни, поэтому пообщаться с ним и узнать, о чем он думал во время разработки и что хотел или не хотел сделать, невозможно. Но здесь нас может в какой-то степени выручить текст, который игра выдает в ответ на команду «HELP» (ПОМОЩЬ):

Я ПОНИМАЮ, ЧТО ТАКОЕ МЕСТА, ДЕЙСТВИЯ И ПРЕДМЕТЫ. БОЛЬШИНСТВО СЛОВ В МОЕМ СЛОВАРЕ ОПИСЫВАЕТ МЕСТА И ПЕРЕМЕЩЕНИЕ МЕЖДУ НИМИ. ЧТОБЫ ПЕРЕМЕЩАТЬСЯ, ВВЕДИ «ЛЕС», «ЗДАНИЕ», «ВНИЗ ПО РЕКЕ», «ВОЙТИ», «ВОС- ТОК», «ЗАПАД», «СЕВЕР», «ЮГ», «ВВЕРХ» ИЛИ «ВНИЗ». МНЕ ИЗВЕСТНЫ КОЕ-КАКИЕ ПРЕДМЕТЫ, СПРЯТАННЫЕ В ПЕЩЕРЕ, НАПРИМЕР «ЧЕРНЫЙ ПРУТ». Я ПОНИМАЮ НЕКОТОРЫЕ КОМАНДЫ, ПОСРЕДСТВОМ КОТОРЫХ МОЖНО С ЭТИМИ ПРЕДМЕТАМИ ВЗАИМОДЕЙСТВОВАТЬ.

Обратите внимание, что на первый план Краузер ставит именно географию и перемещение, и только потом, как бы походя, упоминает о возможности взаимодействовать с «кое-какими предметами». Увлеченный хакер, Краузер почти наверняка имел знакомство с Hunt the Wumpus. Мне кажется, было бы логичным предположить, что Adventure изначально задумывалась как очередная попытка развить идеи Йоба о «топологической компьютерной игре» и, собственно, так и разрабатывалась, пока автору не наскучило. Весьма вероятно также — почти бесспорно, — что навигация по сторонам света была добавлена позже всего. По всей видимости, Краузер первоначально планировал, что игрок будет перемещаться между комнатами, исключительно пользуясь ключевыми словами — то есть ориентирование в пространстве действительно ставилось во главу угла.* Неудивительно, ведь для Краузера как спелеолога подземная география имела первостепенную важность не столько с позиции фактической точности, сколько как фактор выживания. Разработкой Adventure Краузер, скорее всего, занимался на том же домашнем телетайпном терминале, на котором он компилировал геологические данные и составлял карты настоящей Мамонтовой пещеры для коллег-спелеологов.

*Деннис Джерз, впрочем, упоминает, что разговаривал с кем-то, кто якобы помнит наличие сторон света еще в самых ранних версиях. Но это скорее эффект ложной памяти. Из исходного кода явно следует, что такой способ перемещения был добавлен буквально в последний момент, когда Краузер осознал, что ориентироваться с помощью ключевых слов по масштабному подземному комплексу, состоящему из множества похожих комнат, практически нереально.

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

Если отбросить всякие отвлеченные размышления, есть в оригинальной Adventure некая грубая привлекательность, которая не поддается логическому объяснению. Краузер не обладал ни склонностью к писательству, ни литературным даром, но его краткие и конкретные описания ясно демонстрируют, что он знает, о чем пишет. Именно это, если закрыть глаза на разные недочеты, придает игре достоверность, которой не хватает последующим, пусть и более проработанным с точки зрения дизайна, версиям.

Здесь интересно отметить реакцию других спелеологов, которые имели возможность поиграть в Adventure. Многие из них обратили внимание, насколько скрупулезно воспроизведено устройство пещеры Бедквилт, вплоть до придуманных Краузером сотоварищи названий, таких как «Зал горного короля» или «Птичья клетка» (хотя наиболее опытные, конечно, заметили также, что ряд переходов был убран: их наличие сделало бы навигацию и прохождение чересчур легким). А Мел Парк, участница одной из экспедиций в Колоссальную пещеру, в 1994 году писала про свою напарницу, которая изучила Adventure вдоль и поперек:

В течение всей вылазки она не умолкая рассказывала нам все, что знала благодаря игре. В пещере под названием «Швейцарский сыр» она вдруг исчезла в незнакомом мне направлении. Вернувшись, она сказала: «Я просто хотела посмотреть, как выглядит „Полный тупик“. В точности так, как я и ожидала». На обратном пути я разрешила ей вывести нас наружу, что она с блеском проделала, так как помнила все ходы в игре наизусть. Вы не подумайте, пещера представляет собой сложный лабиринт, и для новичка так хорошо ориентироваться в нем — большое достижение.

Что ж, а дальше мы рассмотрим, какое здание возвел на этом прочном фундаменте Дон Вудс.

Дон Вудс узнал об Adventure в начале 1977 года, когда учился в магистратуре Стэнфордского университета по специальности «Информатика». Наводку ему дал однокашник, который нашел игру — не поверите — в компьютерной системе Стэнфордского медицинского центра. Каким образом Adventure попала из BBN Technologies в Бостоне, где на момент ее создания работал Уилл Краузер, в северную Калифорнию, наверное, так навсегда и останется загадкой, поэтому не будем плодить домыслы, а поговорим только о том, что нам более или менее известно. А нам известно, что Вудс, заинтересовавшись игрой, и перенес ее копию на мини-компьютер PDP-10 в Стэнфордской лаборатории искусственного интеллекта (СЛИИ), где сам занимался хакерством. Досконально изучив все то немногое, что предлагала оригинальная версия, он решил развить наработки Краузера и доделать игру до конца. К сожалению, в его распоряжении был только исполняемый файл, без исходников на Fortran. История о том, как был добыт исходный код Adventure, прочно вошла в анналы хакерских баек, и я с удовольствием ее здесь перескажу.

Дон Вудс
Дон Вудс

В тексте программы Краузер оставил одно-единственное указание на свое авторство. В инструкции к игре с неподражаемой лаконичностью написано: «ОШИБКИ, ЗАМЕЧАНИЯ, ПРЕДЛОЖЕНИЯ — КРАУЗЕРУ». По всей видимости, Краузер и не рассчитывал, что его игра, тем более в столь незавершенном виде, когда-либо выйдет за пределы кружка хакеров из BBN Technologies (а уж они-то определенно знали, кто такой «КРАУЗЕР» и как с ним связаться). Задача осложнялась еще и тем, что к тому моменту, как Вудс наткнулся на Adventure, Краузер уже устроился работать в калифорнийский офис компании Xerox (так что есть вероятность, что игра попала на Западное побережье вместе с ним). Но Вудс нашел выход: он отправил электронное письмо по адресу crowther@xxx, где «xxx» обозначает все существующие домены в Сети. Так, став, возможно, первым в истории спамером, Вудс разыскал Краузера и получил от него разрешение на доработку Adventure и, что самое главное, ее драгоценный исходный код. Да уж, в те времена Интернет был куда более тесен...

На момент знакомства с Adventure Вудсу еще не было двадцати трех, но он уже заслужил себе место в хакерской истории, выступив соавтором шуточного языка программирования под названием INTERCAL — одного из самых безумных образчиков хакерского юмора. Cтивен Леви особо подчеркивает контраст в хакерской культуре Восточного и Западного побережья США:

Различия начинались с местоположения: Стэнфордская лаборатория искусственного интеллекта (СЛИИ) размещалась в полукруглом здании из стекла, бетона и редких пород дерева — бывшем конференц-центре, построенном на холмах над университетским городком. Там к услугам хакеров были шестьдесят четыре терминала, разбросанные по разным кабинетам. Никакой тесноты, характерной для Тек-Сквера. Ни лифтов, ни оглушающего гудения кондиционеров. И атмосфера была куда более расслабленной, чем в МТИ: без желчности, пусть иногда и конструктивной, без громких перепалок в аудиториях Клуба железнодоророжных моделистов, без войн между хакерами и магистрантами, доходивших до уровня религиозных. В то время как в Тек-Сквере была популярна воинственная научная фантастика с космическими кораблями и бластерами, в Стэнфорде отдавали предпочтение уютному фэнтези: эльфам, хоббитам и колдунам со страниц трилогии Дж. Р. Р. Толкина «Властелин колец». Помещения в лаборатории искусственного интеллекта носили названия различных мест Средиземья, а принтер мог печатать на трех эльфийских шрифтах.

На мой взгляд, Леви несколько преувеличивает культурную «пропасть» между консервативными, по-военному стриженными поклонниками Хайнлайна из МТИ и длинноволосыми толкиенистами из Стэнфорда, ведь несмотря на различия в литературных предпочтениях, они все же работали на одинаковых компьютерах (прежде всего, линейки PDP от DEC), с одинаковой операционной системой (TOPS-10), на одинаковых языках программирования (что угодно, кроме BASIC!) — и вообще придерживались весьма сходных взглядов касательно принципов работы с компьютером. В этом плане у них было гораздо больше общего друг с другом, чем с популистами-хиппи из РСС. Определенная разница в подходах к программированию, безусловно, прослеживалась, но и то скорее поколенческая, нежели географическая. Прежде чем поговорить о ней, небольшое лирическое отступление на техническую тему.

Adventure была написана под операционной системой TOPS-10 для мини-компьютеров DEC PDP-10. Как уже упоминалось, ЭВМ производства DEC пользовались у хакеров безоговорочной любовью, которая длилась по меньшей мере лет двадцать — с 1960 по 1980 годы. Во-первых, компания-производитель постоянно стремилась к инновациям, причем не только в производимой технике. Во-вторых, сами машины были достаточно мощными, чтобы решать серьезные задачи, но вместе с тем достаточно компактными, чтобы их можно было без особого труда перемещать. Но главное даже не это, а другое: DEC не просто понимала потребности хакеров, а разделяла их. Для нее передовые исследовательские учреждения вроде МТИ и Стэнфорда служили полигонами для разработки и обкатки нового программного и аппаратного обеспечения. Наиболее перспективных хакеров DEC даже время от времени брала к себе в штат. Трудно представить более разительный контраст со снисходительным и закоснелым гигантом под названием IBM. Операционная система TOPS-10, разработанная DEC, пользовалась точно такой же огромной любовью, и ее развитие с конца 60-х до середины 70-х годов велось при активном участии хакерского сообщества. TOPS-10 сохраняла свои позиции главной хакерской ОС вплоть до 1977 года, когда начался плавный переход на Unix и TOPS-20, духовную наследницу от все тех же разработчиков из DEC.

Исходный код Adventure был написан на языке Fortran (FORmula TRANslating system, т.е. «система перевода формул»), которому на тот момент уже исполнилось два десятилетия. Это был первый высокоуровневый язык программирования, получивший широкое распространение; его разработали в конце 50-х годов в недрах компании IBM для своих же мейнфреймов. Краузер и Вудс программировали на стандарте Fortran IV, который появился в 1965 году. Как бы хакеры ни плевались от BASIC, Fortran, сказать по правде, был не сильно лучше: в нем тоже приходилось вручную нумеровать строки, а также обильно пользоваться вставными структурами с оператором GOTO, без которых ничего не работало. Более не подходящий для текстовых приключений язык отыскать трудно — еще и потому, что Fortran не поддерживал строковые переменные. Именно поэтому Краузер вынес весь игровой текст в отдельный файл: с ним так было удобнее работать. По иронии судьбы, в том же году, когда Вудс завершил работу над Adventure, появился Fortran 77 — крупное расширение, которое, помимо прочего, давало возможность манипулировать полноценными строковыми переменными. Увы, переносить проект на этот стандарт было уже поздно.

Оригинальная версия Adventure
Оригинальная версия Adventure

Но почему именно Fortran? Дело в том, что выбор языков, поддерживаемых TOPS-10, был в те времена невелик. В число альтернатив Fortran входил язык ассемблера (но писать на нем игру вроде Adventure — еще большее мучение), а также ненавистный всем BASIC и, наверное, еще более ненавистный COBOL (COmmon Business Oriented Language, «обобщенный язык для применения в сфере бизнеса") — страшно негибкий язык, разработанный исключительно для неинтерактивной работы со структурами данных, т.е. рутинных расчетов и бизнес-вычислений, которые казались хакерам невыносимо скучными. Известный нам Эдсгер Дейкстра, желая, видимо, продемонстрировать, что сарказм не всегда идет рука об руку с изобретательностью, отзывался о COBOL примерно в том же духе, что и о BASIC: «Программирование на Коболе калечит мозг, поэтому обучение ему должно трактоваться как преступление». Собственно, методом исключения выбор и пал на Fortran.

Однако несмотря на то, что Краузер с Вудсом писали на одном и том же языке, подходы к оформлению кода у них коренным образом различались. Оригинальный исходный код, написанный Краузером, представляет собой весьма суровый образчик спагетти-кода и практически лишен комментариев, то есть сам по себе все равно что «лабиринт из маленьких запутанных переходов». Да, он, несомненно, лаконичен и прекрасно оптимизирован, но едва ли кто-то, кроме самого Краузера, был в состоянии его поддерживать или хотя бы прочесть. Окончательная версия Вудса, напротив, —образец чистоты и ясности: множество развернутых комментариев, а структура прозрачная и логичная — насколько, конечно, позволяет ограниченный инструментарий Fortran IV. Впрочем, даже невзирая на эти ограничения, читать код Вудса — одно удовольствие. Именно этим, я думаю, и объясняется, каким образом Adventure впоследствии столь быстро портировали на множество других языков и платформ: код Вудса позволял делать это чуть ли не с закрытыми глазами.

Сравнивать черновую заготовку с законченной версией, конечно, нечестно. Едва ли программа Вудса была такой читаемой с самого начала; ее шлифовкой явно занимались вплоть до самого релиза. Однако определенные выводы сделать все-таки можно. Во-первых, код явно демонстрирует различие в темпераменте: Краузер, хоть и признанный гений программирования, был скорее одиночкой, и потому явно не стремился комментировать свои решения и делать код понятным для последователей. Во-вторых, как уже упоминалось выше, Краузер с Вудсом принадлежали к разным поколениям хакеров. Краузер начал работать в 60-е годы, когда никаких законов «правильного» программирования не было и в помине; главное — добиться результата любым способом, который позволяло хилое «железо» тех лет. Вудс же сложился как хакер уже в 70-е годы, когда структурированность, прозрачность, читаемость и удобство сопровождения кода уже выходили на первый план и когда программисты сформулировали основные правила, которых мы — с некоторыми добавлениями и уточнениями — придерживаемся до сих пор.

Чем же отличалась законченная версия Adventure с точки зрения геймплея?Изначальный текст Adventure почти не претерпел изменений; Вудс лишь расширил его, немного переписав лаконичные инструкции, вызываемые по команде «ПОМОЩЬ», и добавив новые локации в игровой мир. Разница в стиле программирования на литературной составляющей не сказывается: Вудс умело подражает лаконичной, но при этом убедительной прозе Краузера. Понять, где заканчивается оригинальная версия и начинаются доделки Вудса, практически невозможно, точно так же как невозможно догадаться, что всю вторую половину игры сочинил совершенно другой человек.

Если действительно задаться целью выискивать различия, то можно отметить, что Вудс позволял себе включать в игру больше фантастических элементов и анахронизмов, а также не стеснялся время от времени ввернуть что-нибудь зрелищное. Хороший пример анахронизма — автомат, в котором продаются запасные батарейки для лампы. У Краузера лампа работала неограниченно долгое время — и логично, думал я, ведь профессиональный спелеолог и в симуляции прописал бы карбидную лампу, но никак не электрическую. Увы, эта гипотеза оказалась несостоятельной, так как даже в оригинальной версии на команду «ПОТЕРЕТЬ ЛАМПУ» следовал ответ: «ВЫ ТРЕТЕ ЭЛЕКТРИЧЕСКУЮ ЛАМПУ. НИЧЕГО НЕ ПРОИСХОДИТ». Впрочем, есть и другие детали, которые выдают разницу в жизненном опыте у обоих авторов.

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

ВЫ СТОИТЕ НА КРАЮ ОБРЫВА. ПЕРЕД ВАМИ ОТКРЫВАЕТСЯ СНОГСШИБАТЕЛЬНЫЙ ВИД. ДАЛЕКО ВНИЗУ — ДЕЙСТВУЮЩИЙ ВУЛКАН, ИЗ КОТОРОГО МОЩНЫМИ ТОЛЧКАМИ ИЗВЕРГАЕТСЯ РАСКАЛЕННАЯ ЛАВА И СТЕКАЕТ ПО СКЛОНАМ В БЕЗДНУ. СВЕТЯЩИЕСЯ КАМНИ НАПОЛНЯЮТ ДАЛЬНИЕ УГОЛКИ ПЕЩЕРЫ КРОВАВО- КРАСНЫМ СИЯНИЕМ, КОТОРОЕ ПРИДАЕТ ЕЙ ЗЛОВЕЩИЙ ВИД. В ВОЗДУХЕ ПЛЯШУТ ИСКРЫ, ВИСИТ ТЯЖЕЛЫЙ ЗАПАХ СЕРЫ. СТЕНЫ ГОРЯЧИЕ НА ОЩУПЬ, И РОКОТ ВУЛКАНА ЗАГЛУШАЕТ ВСЕ ПРОЧИЕ ЗВУКИ. ВЫСОКО НАД ГОЛОВОЙ, СРЕДИ СТАЛАКТИТОВ, СКРЫВАЮТСЯ МИРИАДЫ НАРОСТОВ ИЗ ЧИСТЕЙШЕГО БЕЛОГО АЛЕБАСТРА, ОТБРАСЫВАЮЩИХ НА СТЕНЫ БЛЕДНЫЕ ПРИЗРАЧНЫЕ ОТБЛЕСКИ. ЧУТЬ В СТОРОНЕ — ГЛУБОКАЯ РАССЕЛИНА, ИЗ КОТОРОЙ ТОРЧАТ ОБЛОМКИ СТОЛЬ БЕЗУМНЫХ ОЧЕРТАНИЙ, ЧТО, КАЖЕТСЯ, ИХ ИЗВАЯЛ САМ САТАНА. ОГРОМНАЯ ОГНЕННАЯ РЕКА, С ГРОХОТОМ ВЫРЫВАЮЩАЯСЯ ИЗ НЕДР ВУЛКАНА, ПРОКЛАДЫВАЕТ СЕБЕ ПУТЬ СКВОЗЬ РАССЕЛИНУ И ОБРУШИВАЕТСЯ В БЕЗДОННУЮ ПРОПАСТЬ ГДЕ-ТО СЛЕВА. ПО ПРАВУЮ РУКУ ИЗ ПУСТЫННОГО ОСТРОВКА ПОСРЕДИ ЗЛОВЕЩЕ БУРЛЯЩЕГО СЕРНОГО ОЗЕРА ВЫРЫВАЕТСЯ ГЕЙЗЕР, ОБЖИГАЯ ВСЕ ВОКРУГ ПАРОМ. ДАЛЬНЯЯ ПРАВАЯ СТЕНА БУДТО БЫ ПЫЛАЕТ САМА ПО СЕБЕ, ДОБАВЛЯЯ ИНФЕРНАЛЬНОСТИ К И БЕЗ ТОГО АДСКОМУ ЛАНДШАФТУ. НА ЮГЕ НАХОДИТСЯ ПУГАЮЩЕ ТЕМНЫЙ ПРОХОД.

Отчего-то мне трудно поверить, будто Краузер мог сочинить и написать нечто подобное. Это явно не скромный домик в лесу, откуда начинается игра:

ВЫ ВНУТРИ ДОМА, ИЗ КОТОРОГО ВЫТЕКАЕТ РУЧЕЙ.

Описание выше часто сравнивают с описанием Роковой горы Ородруин в «Возвращении короля». Вудс, конечно, признавал, что зачитывался Толкиным до того как приступить к работе над Adventure, однако любые прямые заимствования отрицал. А еще удивляет, что у «Сногсшибательного вида» нет никакой практической функции. Видимо, по задумке Вудса, сам текст описания должен был служить своего рода наградой для настойчивых игроков, сумевших забраться на такую глубину.

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

К первой группе относятся всякие, скажем так, «бытовые» задачи. В основном это трудности, связанные с логистикой. Как ориентироваться в игровом мире из 140 комнат, переходы между которыми не всегда очевидны? Как вернуть все 15 сокровищ в домик у ручья? Сюда же относятся проблемы с батарейками, которые регулярно садятся, ограничения по весу и количеству предметов, которые может переносить персонаж игрока, и, конечно же, карты, карты и еще раз карты. Чтобы пройти хоть сколько-нибудь далеко, игрок должен подготовиться к спуску под землю не менее тщательно, чем готовился сам Краузер с партнерами-спелеологами. Как я уже упоминал, с точки зрения самого Краузера, в этом и заключался первоначальный замысел игры. Сегодня это может показаться натяжкой, но попробуйте представить, как воспринимали Adventure люди в 1976-77 гг., совершенно не знакомые с типичной географией текстовых приключений. Представьте, как игроки пытались ориентироваться в лабиринте, не владея проверенным трюком бросать предметы в каждой комнате. На современном этапе развития ИЛ все эти «бытовые» задачи уже считаются клише и поэтому почти не встречаются, но на момент выхода Adventure они были в новинку и, готов поспорить, сыграли не последнюю роль в немалой популярности игры.

Во вторую группу попадают хорошие загадки — простые и логичные, для решения которых достаточно верно применить здравый смысл. Например: найти другой выход из пещеры, чтобы вынести из нее золотой самородок, потому что по лестнице его не втащить (нехилый, видать, самородок!), раскрыть гигантскую раковину с помощью трезубца и так далее. По сравнению с головоломками, которые через несколько лет будут предлагать игрокам разработчики текстовых приключений вроде Infocom, эти загадки щелкаются буквально как семечки.

И наконец остаются плохие загадки. Их немного, но они страшно выводят из себя. Например, игроку нужно избавиться от дракона. На команду «УБИТЬ ДРАКОНА» игра саркастически отвечает: «И ЧЕМ ЖЕ? ГОЛЫМИ РУКАМИ, ЧТО ЛИ?» И тут игрок должен сообразить, что вопрос, на самом деле, следует воспринимать буквально и ввести «ДА»:

ПОЗДРАВЛЯЮ, ТЫ ТОЛЬКО ЧТО ГОЛЫМИ РУКАМИ РАСПРАВИЛСЯ С ДРАКОНОМ! (ЧУДЕСА, ДА И ТОЛЬКО!)

Несколько лет спустя с такой же логикой на грани фола будут забавляться авторы The Hitchhiker’s Guide to the Galaxy (да, по мотивам «Автостопом по галактике» Дугласа Адамса), но там сама игра настраивает на подобный лад. Здесь же столь тонкий юмор, боюсь, оценили далеко не все.

Но апофеоз ужасного геймдизайна — финальная загадка. Чтобы ее решить, нужно «ВЗОРВАТЬ» зал управления пещерой (которая, оказывается, вовсе не природное образование, а тематический парк развлечений). Для этого у игрока есть черный прут, который можно найти примерно в самом начале игры.* И заметьте, срабатывает только команда «ВЗОРВАТЬ», без дополнений. Варианты «ВЗОРВАТЬ ПРУТ(ОМ)» или, там, «ВЗМАХНУТЬ ПРУТОМ» программа не распознает. Если только я не упустил чего-то важного, то это действие кажется совершенно не мотивированным. Пожалуй, я бы даже назвал эту загадку самым вопиющим проявлением клише «угадай глагол» и, наверное, худшей загадкой в истории компьютерных игр вообще. Ее можно считать хрестоматийным примером того, как не надо писать текстовые приключения.

*На самом деле, как мне потом указали коллеги, это несколько другой прут — не со «ржавой звездой на конце», а со «ржавой отметиной на конце» (позднее, в одной из портированных версий, прут из «черного» переделан в «красный», чтобы больше походить на динамит), — но я, хоть убейте, не понимаю, как можно было дойти до решения этой загадки логическим путем.

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

Ответ, вероятно, кроется в технических ограничениях самой программы. Вудс был вынужден иметь дело с крайне примитивной моделью мира и столь же примитивным парсером, который понимал только команды из двух слов: глагола и прямого дополнения. Из-за этого, к сожалению, некоторые действительно стоящие загадки становятся сложнее, чем необходимо. Например, чтобы прогнать тролля, игроку нужно привести с собой медведя. Сама по себе загадка неплоха, но чтобы ее решить, нужно додуматься до команды «ВЗЯТЬ МЕДВЕДЯ» (согласитесь вы едва ли бы описали свои действия таким образом). А все потому, что алгоритмы, лежащие в основе Adventure, поддерживали лишь два вида загадок: либо элементарные, либо вопиюще нечестные. В конце концов, чтобы запрограммировать загадку типа «угадай глагол», много труда не требуется.

И конечно, нельзя забывать, насколько изменилась игровая и дизайнерская культура. В те времена тот факт, что игра (в данном случае — Adventure) должна быть трудной и что прохождение должно считаться большим достижением, принимался всеми безоговорочно. Именно поэтому такое внимание уделяется подсчету очков. Как и на аркадных игровых автоматах того времени, игроки любили сравнивать финальный счет, который игра выдает после выхода или поражения, испытывая глубокое удовлетворение, если оказывалось, что они прошли игру дальше коллег. Менее азартные игроки тем временем сбивались в группки и проходили игру вместе, ведь компьютеров PDP-10 было мало, что способствовало возникновению вокруг них социальной среды.

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

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

Вычислительных машин PDP-10, на одной из которых Дон Вудс завершил работу над Adventure, было мало, и на них выстраивались очереди. Руководство Стэнфорда приобретало компьютеры вовсе не для того, чтобы народ денно и нощно совершал вылазки в виртуальные пещеры. И, вероятно, чтобы оградить себя от нападок начальства, Вудс придумал так называемое «время работы Пещеры». Так, если кто-то запускал игру в часы пик — по умолчанию в рабочее время с 8 до 18 (кроме выходных и праздничных дней) — он мог совершить лишь «короткую прогулку» не больше, чем на полчаса (опять же, по умолчанию). Сохранять прохождение было нельзя. Некоторые другие дизайнерские решения также были рассчитаны на то, чтобы игру проходили короткими сессиями, на протяжении недель или даже месяцев, а не за один многочасовой присест. Так, когда спрос на машинное время падал, игроку разрешалось сохранять прохождение, но после сохранения игра автоматически завершалась, и запустить ее вновь, чтобы продолжить, можно было только через полтора часа. (Помимо прочего, этот подход служил для того, чтобы сделать прохождение еще труднее — в духе традиций того времени.)

Изменить эти ограничения мог администратор, для чего ему нужно было войти в «МАГИЧЕСКИЙ РЕЖИМ», введя соответствующую команду (работает только в самом начале игры; дальше программа будет выдавать ответ «Я НЕ ЗНАЮ СЛОВА ‘МАГИЧЕСКИЙ’»). Затем программа запрашивала у пользователя кодовое («волшебное») слово; если верно угадать его, то можно получить доступ к основным настройкам вроде «времени работы Пещеры», расписания праздничных дней, длительности игровой сессии, перерыва между сохранениями и т.д.

>MAGIC MODE ARE YOU A WIZARD? >YES PROVE IT! SAY THE MAGIC WORD! >DWARF THAT IS NOT WHAT I THOUGHT IT WAS. DO YOU KNOW WHAT I THOUGHT IT WAS? >NO NODDG >BMAFH OH DEAR, YOU REALLY *ARE* A WIZARD! SORRY TO HAVE BOTHERED YOU . . . DO YOU WISH TO SEE THE HOURS? >YES Mon — Fri: Open all day Sat — Sun: Open all day Holidays: Open all day DO YOU WISH TO CHANGE THE HOURS? >NO DO YOU WISH TO (RE)SCHEDULE THE NEXT HOLIDAY? >NO Length of short game (null to leave at 30): NEW MAGIC WORD (NULL TO LEAVE UNCHANGED): > NEW MAGIC NUMBER (NULL TO LEAVE UNCHANGED): > Latency for restart (null to leave at 90): > DO YOU WISH TO CHANGE THE MESSAGE OF THE DAY? >NO OKAY. YOU CAN SAVE THIS VERSION NOW. BE SURE TO SAVE YOUR CORE-IMAGE... CPU time 0.01 Elapsed time 33.98 >EXIT

Чтобы вычислить «волшебное» слово, администратор должен был воспользоваться сложным алгоритмом, который учитывает не только на случайный набор букв, выданный игрой, но и точное текущее системное время. Эта часть исходного кода — по очевидным причинам — подверглась наиболее серьезной обфускации, хотя при должном усердии взломать можно было и ее. Вероятно, алгоритм-дешифратор тайным образом передавался между системными администраторами, но достоверных доказательств мне раздобыть не удалось.

«Время работы Пещеры» придает Adventure довольно неожиданный аспект. Со стороны игрока она перестает восприниматься как интерактивное повествование и даже как игра; она становится местом — своего рода виртуальным парком развлечений. Если кто-то захочет посетить пещеру в «час пик» машинного времени, то программа сообщит ему: «СОЖАЛЕЮ, НО КОЛОССАЛЬНАЯ ПЕЩЕРА ЗАКРЫТА», после чего выведет актуальное расписание работы. В конце игры , когда игрок вдруг попадает в зал управления подземным парком, эта метафора обыгрывается еще раз. И это однозначно подтверждает, что главное в Adventure не нарратив, не загадки, а именно создание ощущения пространства (ну и что Дон Вудс, видимо, тащился по паркам развлечений).

Безусловно, системные администраторы были благодарны Вудсу за эти ограничения, ведь сказать, что Adventure стала очень популярной, значит ничего не сказать. Ее прохождением и решением загадок были заняты умы хакеров по всем США, а впоследствии и по всему миру. Ходят байки, что из-за Adventure на несколько недель встала работа многих компьютерных компаний и кафедр информатики в вузах. Даже если начальство строго-настрого запрещало играть в Adventure в рабочее время, сотрудники корпели над игрой по ночам, так что на рабочем месте толку от них все равно не было — они отсыпались.

Однако на этом дело не закончилось. Наигравшись, хакеры из самых разных учреждений стали ваять собственные вариации на тему Adventure — сначала подражания, а потом и самостоятельные проекты. Именно так и произошло зарождение нового жанра компьютерных игр. В течение нескольких лет наиболее продвинутые его представители возникали, прежде всего, в крупных учреждениях вроде МТИ (Zork), Стокгольмского вычислительного центра (Stuga) и Кембриджского университета (Acheton).

А напоследок укажем, кому из авторов принадлежат те или иные решения, попавшие в игру.

Краузер:

  • базовая модель текстового приключения,

  • ориентирование по сторонам света,
  • гномы,
  • «Лабиринт из маленьких запутанных переходов, похожих друг на друга»,
  • локации до «Большого перекрестка» и кое-какие загадки.

Вудс:

  • ограничения по весу переносимых предметов,
  • «Лабиринт из маленьких запутанных переходов, непохожих друг на друга»,
  • «время работы Пещеры»,
  • локации и загадки после «Большого перекрестка»,
  • победные очки,
  • сохранение игры,
  • пират,
  • ограниченное время работы батарейки в лампе.

Что ж, Дон Вудс, тебе за многое придется держать ответ! Но мы все равно тебя любим... Тебе, слава богу, не пришло в голову вводить механику голода.

Вы можете поддержать автора оригинала через PayPal:

2020
3 комментария

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

Аутизм, хорошая физическая форма, талант к программированию. Надо узнать, любил ли он сыр. По описанию - Краузер был сверхчеловеком-неандертальцем. Клив Блейкмор, как всегда, прав.

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

С удовольствием прочитал. Антиквариан абсолютно не понимает и не любит РПГ, хотя и делает хорошую работу (достаточно почитать его статьи про Голдбоксы), но при этом фанат адвенчюр.

1
Ответить

Комментарий недоступен

1
Ответить

Это точно, книжка очень вдохновляющая) Ничего лучше об основах программирования для детей не встречал.

Ответить