[Перевод] 1982: The Hobbit
Название: The Hobbit
Авторы: Вероника Меглер и Филипп Митчелл
Дата выпуска: конец 1982 (Великобритания, Melbourne House); 1985 (США, Addison-Wesley)
Язык: Z80 Assembler
Платформа: ZX Spectrum
Вступительный текст:
Вы находитесь в благоустроенном коридоре, похожем на тоннель.
На востоке расположена круглая зелёная дверь.
Вы видите:
Деревянный сундук.
Гэндальфа. У Гэндальфа странная карта.
Торина.
Гэндальф отдаёт вам странную карту.
Торин ждёт.
Предупреждение о спойлере: в этой статье детально описывается способ побега из подземелья гоблинов.
Шли первые недели 1981, когда студентка Вероника Меглер вернулась на последний курс факультета компьютерных наук Мельбурнского университета. В поисках подработки она заметила короткую записку на доске объявлений компьютерного центра: кто-то подыскивал студентов-программистов с оплатой в десять долларов в час. Когда Меглер позвонила по телефону, указанному в объявлении, оказалось, что разместивший его мужчина основал австралийскую компанию Melbourne House по разработке видеоигр, внезапно, для растущего британского рынка. Он с жаром объяснил, что хотел бы найти того, кто сможет «написать лучшую на свете приключенческую игру» — ни больше ни меньше.
Меглер уже несколько лет занималась железом и программированием с тех пор, как на первом курсе оставила планы стать актуарием: «Я обнаружила, что мне не даётся статистика, но в компьютерах я разбираюсь хорошо». Её предыдущая работа заключалось в администрировании университетского мейнфрейма, и немногое свободное от работы и учёбы время она тратила на хобби-проекты вроде написания программ для управления игрушечной железной дорогой (на ассемблере, вводя команды на 4×4 клавиатуре) или создания собственного компьютера по схемам из журналов. «Я шла в магазин радиотоваров со списком микросхем, резисторов, конденсаторов и диодов», — вспоминает она. — «А в магазине мне говорили: «Передайте своему бойфренду, что у нас этого нет», — даже не считалось возможным, что я могу покупать их для себя». Сексистские настроения в университете цвели махровым цветом; для «самозащиты» Меглер объединилась с Керрин — одной из немногих девушек на курсе, чтобы работать над групповыми проектами. Иногда к ним присоединялись молодой человек по имени Филипп Митчелл и его приятель, «которые были одними из немногих парней, желавших поработать с нами», хотя обычно Меглер и не нуждалась в помощи. На собеседовании в Melbourne House она так впечатлила владельца, что тот сразу же её нанял. Меглер быстро завербовала и трёх своих товарищей.
Однако у всех четверых было недостаточно опыта в разработке видеоигр. Основатель компании был знаком с играми производства Adventure International вроде Pirate Adventure и надеялся превзойти их, располагая более мощными компьютерами нового поколения. Единственной текстовой игрой, известной Меглер, была оригинальная Adventure, в которую она играла «запоем какое-то время, зарисовывая лабиринт маленьких извилистых коридоров», пока не прошла до конца: «Я сразу же потеряла интерес, не думаю, что я хоть раз играла в неё после этого». Размышляя об Adventure с планами разработки в ближайшем будущем собственной игры, Меглер поняла, что причиной скуки была статичная, неизменная структура: «Все игровые сессии были одинаковыми. Каждый неигровой персонаж (NPC) был привязан к единственной локации, и всегда производил те же самые действия». Она решила, что её игра будет другой.
Вы идёте на юго-восток.
Вы находитесь в Ривенделле.
Можно пойти: на восток, на запад.
Вы видите:
Элронда.
Входит Торин.
Элронд говорит: «Привет».
> СКАЗАТЬ ЭЛРОНДУ «ПРИВЕТ»
Вы разговариваете с Элрондом.
Торин говорит: «Поспешим».
Входит Гэндальф.
Элронд отдаёт вам продовольствие.
> ОТДАТЬ ПРОДОВОЛЬСТВИЕ ТОРИНУ
Вы отдаёте продовольствие Торину.
Торин говорит: «Спасибо».
Гэндальф забирает странную карту.
> ВЗЯТЬ КАРТУ
КАРТА У ГЭНДАЛЬФА.
> СКАЗАТЬ ГЭНДАЛЬФУ «ПОЛОЖИ КАРТУ»
Гэндальф говорит: «Нет».
Гэндальф говорит: «Что это?».
Торин ждёт.
> СКАЗАТЬ ГЭНДАЛЬФУ «ОТДАЙ КАРТУ ЭЛРОНДУ»
Вы разговариваете с Гэндальфом.
Гэндальф отдаёт карту Элронду.
Элронд говорит: «Что мне с ней делать?».
Торин ждёт.
> СКАЗАТЬ ЭЛРОНДУ «ПРОЧТИ КАРТУ»
Вы разговариваете с Элрондом.
Элронд рассматривает странную карту.
Элронд говорит: «Иди на восток от Мглистых гор до узкого прохода».
Торин садится и начинает петь о золоте.
Из-за того, что никто в команде не был готов написать оригинальный сценарий, было решено использовать существующее произведение. Melbourne House занималась книгоиздательством до того, как начала разработку видеоигр и у владельца компании был опыт лицензирования американской и британской литературы в Австралии. Компания разработала соглашение с Tolkien Estate об игровой адаптации книги, и, возможно, это была первая в истории сделка такого рода.
Новая игра уникально выделялась среди текстовых приключений, созданных прежде. Меглер разрабатывала свои NPC не как статичные объекты, мало отличающиеся от вещей или сокровищ, но как «существ», которые могли перемещаться по карте и выполнять действия самостоятельно: они даже действовали в реальном времени, если игрок достаточно долго не вводил никаких команд. (Не подозревая этого она шла тем же путём, что и Ричард Бартл, автор MUD с его «мобами», обладающими «инстинктами»). Персонажи, созданные Меглер, «просто сами «играли» в игру, в соответствии с их характерами», как она позже писала:
— Я задумывала характер NPC как набор действий, которые тот мог выполнять, их последовательность и частоту повторений. Отдельные действия были простыми, их, как правило, мог выполнять и сам игрок (идти в выбранном направлении, атаковать другого персонажа и так далее);, но порядок мог быть переопределён для конкретного персонажа. …Кажущаяся сложность поведения происходила от длительности и гибкости последовательности действий; в результате появлялся характер персонажа. Например, кратковременное внимание и клептомания у Гэндальфа обеспечивались последовательностью:»[Пойти] [Взять] [Сказать «Что это?»] [Пойти] [Положить]».
«Я прочитала книгу [о хоббите]», — пишет Меглер, — «и попыталась определить общий порядок поступков, который я могла бы выразить через последовательность действий чтобы запечатлеть характер персонажа». Тролль может просто бродить наугад и пытаться убить всех, кого увидит, в то время, как Торин имеет привычку жаловаться, следуя за Бильбо, и петь о золоте. В комбинации с активным использованием случайного фактора при определении результатов действий и создании карт, возникал искусственный мир, порой разочаровывающий, порой захватывающий: не могло оказаться двух одинаковых игр. В одной Гэндальф мог отстать от остальных и оказаться убитым варгом; в другой тайные ориентиры Элронда могли поменяться, или он мог вообще отказаться рассказывать о них; карта подземелья гоблинов, аккуратно нарисованная в одной игре, могла измениться в другой;, а меч, которым вы собирались защищаться, мог разбиться из-за того, что вы взломали с его помощью запертую дверь.
Последний пример стал возможен благодаря решению Меглер сделать даже статичные игровые объекты более динамическими. У каждого предмета были свойства вроде веса, размера и прочности и вместо того, чтобы задавать решение головоломок в виде конкретных команд (например УБИТЬ ДРАКОНА), игра часто лишь проверяла условие (мёртв ли дракон), которое можно было выполнить различными способами. Неважно, удалось ли вам уговорить Барда застрелить дракона стрелой, или вы набрали вес на эльфийской диете и лично забили его до смерти, или он сам нарвался на другого противника и был побеждён: если дракон оказался мёртв, задача считалась выполненной.
Взаимодействие с другими персонажами, способными выполнять действия, недоступные Бильбо, также было ключевой частью игрового процесса. Например, когда Бильбо оказывался заперт в пещерах гоблинов под Мглистыми горами и обнаруживал, что его товарищ тоже схвачен:
Вас схватил отвратительный гоблин.
Вы находитесь в подземелье гоблинов.
На севере расположена дверь.
На западе расположено окно.
Вы видите:
кучу песка.
Гэндальфа. У ГЭНДАЛЬФА БОЛЬШОЙ КЛЮЧ.
Бильбо недостаёт роста, чтобы дотянуться до окна, но волшебник достаточно высокий.
> СКАЗАТЬ ГЭНДАЛЬФУ «ОТКРОЙ ОКНО»
Вы разговариваете с Гэндальфом.
Гэндальф открывает окно.
> СКАЗАТЬ ГЭНДАЛЬФУ «ПОДНИМИ МЕНЯ»
Вы разговариваете с Гэндальфом.
Гэндальф поднимает вас.
> СКАЗАТЬ ГЭНДАЛЬФУ «ИДИ ЧЕРЕЗ ОКНО»
Вы разговариваете с Гэндальфом.
Гэндальф идёт через окно.
Вы находитесь в тёмном извилистом коридоре.
Но было и другое решение. Если вы нарисовали карту пещер, вы могли приказать вашему товарищу сбежать, а затем вернуться и освободить вас: СКАЗАТЬ ГЭНДАЛЬФУ «ОТКРОЙ ОКНО, ИДИ НА ЗАПАД, ИДИ НА ЮГО-ВОСТОК, ОТКРОЙ ДВЕРЬ». Такая стратегия могла привести к трём результатам, как отмечено в одном руководстве: дверь откроется и ваш товарищ будет ждать снаружи; или он окажется в подземелье вместе с вами, потому что его схватят по дороге; или вы больше никогда его не увидите, потому что он был убит, пытаясь выполнить ваше задание, а вы останетесь в одиночестве на произвол судьбы.
В отличие от многих других текстовых игр того времени, написанных на языках высокого уровня вроде BASIC, Меглер писала The Hobbit на языке ассемблера. Это значило, что игра будет работать быстрее, но возникал серьёзный недостаток: отладка была чрезвычайно сложной. Инструкции ассемблера лишь перемещают отдельные числа между регистрами, делая высокоуровневое поведение, вроде созданного Меглер примитивного AI, сложным для понимания:
L6E11 CP #08
JR NZ,L6E22
BIT 7,B
JR NZ,L6DF5
LD A,#08
CALL L7589
INC B
DEC HL
JR L6DF5
В 1981 году для ассемблера Z80 не существовало современных возможностей отладки. «Техника добавления команды print, которой пользовались программисты на BASIC для того, чтобы понять, что происходит, была недоступна», — вспоминает Меглер. — «Некоторые персонажи взаимодействовали друг с другом где-то в дальней части игры, а на экране были лишь действия, доступные в текущей локации». Игра могла упасть из-за действий NPC, находящегося за полкарты от игрока, что можно было обнаружить, если это вообще получалось, только изучая дамп памяти. Было непросто удовлетворить даже простые потребности: на целевой платформе не было надёжного генератора случайных чисел, не было даже системного таймера, из-за чего Филипп Митчелл проводил бесконечные часы, экспериментируя с псевдослучайностью, способной обеспечить игре непредсказуемость, которой хотела добиться Меглер. Даже когда все работало как было задумано, поведение игры приводило к ситуациям, похожим на баги, вроде появления неистового злодея, который убивал всех NPC в игре до того, как игрок мог с ними встретиться.
Но Меглер нравилась такая непредсказуемость. «Я не пыталась это предотвратить», — говорит она о неожиданных смертях NPC, — «потому что считала, что это клёво». В отличие от Adventure, вы никогда не знали, что можно ожидать, когда запускали её игру. Это была та самая возможность испытать счастливую случайность, которой добивалась Меглер:
— Я стремилась создать подобие настоящей жизни, в которой итог является результатом множества независимых событий и решений, сделанных многими людьми, и иногда что-то просто не получается. …Я активно хотела добиться непредсказуемости.
Пока Меглер работала над движком и сценарием игры, её коллега по лаборатории Филипп Митчелл занимался созданием парсера — синтаксического анализатора нового поколения, который Melbourne House будет продвигать под именем «Inglish». Задачей было совершенствование парсеров, которые использовались в большинстве игр того времени и были способны разбирать только предложения из двух слов: Zork только что была выпущена на американском рынке и пока не произвела впечатления за его пределами. Митчелл написал впечатляющий парсер, способный разбирать команды вроде ДОСТАТЬ ФОНАРЬ И ВЕРЁВКУ ИЗ БОЧКИ. Он даже понимал некоторые наречия, таким образом, было возможно ЖЕСТОКО АТАКОВАТЬ ТРОЛЛЯ МЕЧОМ. Однако, возможно потому, что Inglish и система симуляции разрабатывались независимо, The Hobbit почти не использовала широкие возможности парсера: даже сейчас не до конца ясно, действительно ли учитывались наречия. Но маркетинговая шумиха вокруг нового парсера убеждала, что игра открывает новые горизонты и что это серьезная попытка поднять планку того, на что способны текстовые приключения для микрокомпьютеров.
Также была установлена новая планка игровой графики, что оказалось возможным благодаря выпуску бытового компьютера ZX Spectrum в Британии как раз ко времени выхода The Hobbit (команда вела разработку на клоне TRS-80). Спектрум был первым компьютером, поддерживавшим цветную графику в линейке машин начального уровня: модель, на которой можно было запустить новую игру от Melbourne House, стоила всего 175 £, что было намного дешевле многих систем, предлагаемых конкурентами. В Соединённом Королевстве он быстро стал бестселлером, несмотря на свою резиновую клавиатуру, хлипкий пластмассовый корпус и ограниченные возможности. Команде нужно было уместить в 48 килобайт памяти не только игровой движок, данные и текст, но также и цветные иллюстрации к половине из её 50 локаций. Из-за того, что игру нужно было целиком загружать в память с магнитной ленты, доступ к дополнительным данным во время работы программы был невозможен, в отличие от систем с дисковыми накопителями: всё должно было уместиться в 48000 байт ОЗУ. Художник Кент Риз был нанят для создания простых эскизов, которые затем будут линия за линией нарисованы и раскрашены методом заливки на экране компьютера, что было намного эффективнее хранения растровой графики. Отрисовка изображений таким способом могла оказаться крайне медленной, но в целом была удовлетворительной, благодаря оптимизированному коду, написанному Меглер на ассемблере.
Работая неполный рабочий день в течение учебного 1981 года (в огромных и практически пустых офисах Melbourne House, оптимистично рассчитанных на расширение компании) Меглер и Митчелл, также занимаясь учёбой и другими обязанностями потихоньку завершали разработку The Hobbit. Когда Меглер закончила университет в конце года, Митчеллу пришлось продолжать работу над проектом до его выпуска в конце 1982. Это оказалось знаковым событием в ранней истории вычислительной техники в Британии, оказавшим неизгладимое впечатление на игроков и критиков, которые находили игру притягательной, но временами невыносимо разочаровывающей. Непредсказуемое поведение «существ», созданных Меглер, часто казалось глючным, неинтересным или глупым. «К сожалению, волшебнику Гэндальфу сильно недостаёт мудрости персонажа из книги», — написал один рецензент (в более мягкой форме, в отличие от других, выразивших аналогичное мнение); другой дал совет на случай, если вам надоест странная привычка волшебника красть и уносить предметы: «вы можете заманить его в пещеру, закрыть и оставить там». Код игры, написанный на ассемблере и её непредсказуемое поведение сделали отладку сущим кошмаром: в инструкции даже заявлялось, что «в связи с огромным размером и сложностью игры невозможно гарантировать полное отсутствие ошибок». Некоторые баги стали известными эксплойтами: Бильбо мог поднять Элронда и носить его с собой. Во многих руководствах советовали так поступить, чтобы иметь постоянный источник эльфийского продовольствия. Многие игроки были раздосадованы привычкой Барда Лучника отвечать «Нет» на приказ убить дракона Смауга — как раз перед тем, как оказаться зажаренным до хрустящей корочки.
Но странное, неожиданное и непредсказуемое поведение игры подчас незабываемо, и имеет очарование более поздних игр, таких как Dwarf Fortress или Versu. Вы играете в книгу о хоббите, как написано в одном ретроспективном обзоре, «и в то же время нет. Вы свободны вырваться из смирительной рубашки книги и сыграть в новое приключение, новую историю, наполненную знакомыми локациями и персонажами». Даже сейчас можно найти сборники забавных историй об удивительных приключениях в мире Средиземья, созданном Меглер:
В одной игре у Гэндальфа была необычная привычка поднимать трупы и расхаживать с ними. …В другой — гоблины схватили лесного эльфа и когда я оказался в подземелье, тот сразу же бросил меня в темницу Короля лесных эльфов. …Однажды мне удалось убить Смауга трупом Голлума.
«Сказать, что игра превосходит свои возможности — значит ничего не сказать», — пишет исследователь истории видеоигр Джимми Мар: «то, чего пытается достичь игра, где-то на недосягаемой высоте… Но все же, The Hobbit не похож ни на одно другое приключение, которое было до него …Это потрясающе амбициозная и провидческая попытка». Несмотря на свои странности, а может, благодаря им, игра стала бестселлером, хоть и продавалась по цене, троекратно превышающей 5 £, обычной для приключенческих игр на спектруме. Она была портирована на почти все платформы, способные её запустить, также часто считают, что она помогла подтолкнуть британский рынок домашних компьютеров. Выпуск игры в США в 1985 оказался большим успехом, став частью волны других книжных адаптаций, вдохновлённых успехом в Великобритании, таких как The Hitchhiker«s Guide to the Galaxy от компании Infocom и произведений других авторов от Стивена Кинга до Роберта Пински. The Hobbit стала, по некоторым оценкам, самым продаваемым текстовым приключением всех времён.
В течение многих лет Меглер не подозревала об успехе игры. После окончания университета ей предложили постоянную работу в Melbourne House, но она была сыта по горло отладкой ассемблерных программ и отказалась: «Я не выношу делать одно и то же снова и снова». Она поступила на маленькую должность в компании IBM, где ей «дали понять, что разработка игры не считается серьёзным опытом работы» и начала долгую и успешную карьеру компьютерного специалиста, но больше никогда не работала над играми. Только в 2000-х она узнала о степени популярности The Hobbit и её влиянии на поколения игроков по всему миру: тех, кому сначала пришлось выучить английский язык, чтобы пройти игру и тех, кто начал свою собственную карьеру в информатике, благодаря чудесным возможностям игры, захватившим их воображение.
«У меня дивергентное мышление», — говорит Меглер. Вспоминая о своей игре в 2016 она писала, что была «снова поражена тем, какую силу могут иметь несколько простых идей, особенно в комбинации друг с другом. Это моя любимая форма инновации».
Вы можете сыграть в The Hobbit на эмуляторе ZX Spectrum, изучить её исходный код и формат данных, почитать инструкцию к версии для BBC Micro, или посетить сайт Вероники Меглер. Основные источники: статья Меглер от 2016 года «There and Back Again: A Case History of Writing The Hobbit» (цитаты взяты из неё без указания источника), справочник «A Guide to Playing The Hobbit» Дэвида Элькана и более современное руководство по прохождению игры, написанное Джаредом Девисом, а также его подробная статья в журнале Retro Gamer.