*На самом деле все происходило не совсем так, однако правду я выяснил только во время работы над следующей главой. [здесь и далее прим. автора]
В 1977 году MECC заменил устаревающий UNIVAC на мейнфрейм серии CDC Cyber19 73, и The Oregon Trail был портирован на него. Код именно этой версии в итоге и был напечатан на страницах Creative Computing в 1978 году. На ее основе я сделал бэкпорт для HP TSB, чтобы примерно представить, как мог выглядеть первоначальный вариант игры.
Кстати, о Creative Computing… История этого журнала тоже весьма и весьма занимательная.
Creative Computing был основан в 1974 году Дэвидом Алом и стал первым журналом о компьютерах, рассчитанным на широкую публику, на год опередив даже знаменитейший Byte. Как следует из названия, журнал был больше ориентирован на художественную и культурную ценность компьютеров, нежели на их применение в бизнесе и технике. Помимо разнообразных технических рекомендаций и исходных кодов программ, на страницах Creative Computing печатались статьи, посвященные тому, что может принести с собой компьютерная революция. Появление подобных «философских» рассуждений, скорее всего, объяснялось тем, что большая часть читателей доступа к реальным машинам не имела, однако сама тема вызывала у них огромный интерес пополам с опасениями (например, о том, как компьютеры повлияют на гражданские свободы). Идеалистический и антиавторитарный настрой вполне отражал дух контркультуры конца 60-х, который к тому времени уже шел на спад. Другим слепком подобной идеологии можно считать Community Memory – первую общественную BBS, запущенную в Калифорнийском университете в Беркли. Атмосфера, царившая там, прекрасно описана в книге Стивена Леви «Хакеры: герои компьютерной революции».
До того как заняться выпуском журнала, Ал занимал должность менеджера по продвижению образовательных решений в DEC, в связи с чем на страницах Creative Computing немало места уделялось образовательному потенциалу компьютерных технологий.20 Обширные разделы, посвященные образовательным программам, появлялись чуть ли не в каждом номере. Словом, нет ничего удивительного, что исходный код The Oregon Trail был напечатан именно в этом журнале. Скорее удивительно, что это не произошло раньше.
К этому времени MECC, который всегда на шаг опережал свое время, уже перешел на новейшие, как их тогда называли, «микрокомпьютеры». С 1978 года в школах Миннесоты начали появляться Apple II. Естественно, The Oregon Trail портировали и на этот компьютер тоже.
Ну что ж, с историей покончено; наконец настала пора взглянуть, что из себя представляет сама игра – ради чего, собственно, и были затеяны все эти танцы с бубном. Но об этом в следующей главе.
4. В поисках «Орегонской тропы», часть 4
Работа над этой главой заняла больше времени, чем ожидалось, но вовсе не из-за нехватки энтузиазма. Дело в том, что к моим археологическим изысканиям подключились Майкл Джемени и Боб Браун, специалисты по HP 2100 из группы в Yahoo, и вместе нам удалось совершить поистине удивительную находку.
Изучая образ кассеты из школы округа Йорк, штат Пенсильвания, Майкл нашел программу с многообещающим названием Oregon. И действительно, запустив ее, мы поняли, что перед нами версия The Oregon Trail от 27 марта 1975 года, то есть на три года старше версии, напечатанной в Creative Computing. Если вам интересно покопаться в исходном коде, то я загрузил его на свой сайт.21 Сравнив, таким образом, две имеющиеся версии, мы узнали немало интересного.
Прежде всего, это позволило мне исправить историческую неточность, допущенную в предыдущей главе. В 1974 году, когда Роуича только взяли работать в МЕСС, он явно не занимался портом The Oregon Trail на UNIVAC – по крайней мере, не сразу. Сначала он, скорее всего, просто заново набрал код на имевшемся у консорциума НР 2100: вполне логично, если учесть, что эти мини-компьютеры стояли почти в каждой школе, причем не только в Миннесоте, но и по всей стране, а к началу 1975 года МЕСС активно распространял игру по образовательным округам соседних штатов.
Нетрудно также заметить, что сам Роуич, программисты из МЕСС – или кто-то еще – в последующие годы продолжали доводить игру до ума, и в таком обновленном виде она попала на Apple II. В версии 1978 года есть ряд нововведений, отсутствующих в версии 1975 года. Возьмем ситуацию, когда игроку – во время охоты, нападения бандитов и т.п. – нужно быстро ввести в терминал какое-то слово. В версии 1978 года появляются уровни сложности: в начале игры программа просит игрока указать, насколько он хороший стрелок – от «меткого аса» до «трясущихся рук». В зависимости выбранного варианта игра определяет, сколько времени будет даваться на ввод. Кроме того, нужное слово каждый раз выбирается случайно: BANG, BLAM, POW или WHAM, – тогда как в версии 1975 года это всегда старое доброе BANG.
Если вам интересно поискать другие отличия, версию 1978 года я тоже выложил у себя на сайте,22 хотя она, конечно, не настолько аутентичная, как версия 1975 года. Мне пришлось довольно долго вычитывать код, чтобы убрать все ошибки распознавания, но зато я бэкпортировал ее с BASIC, которой использовался на мейнфреймах линейки CDC Cyber, на HP-BASIC. Теперь вы тоже можете почувствовать, как The Oregon Trail могла выглядеть на «родном» мини-компьютере серии НР тогда, в 1978 году.
Итак, возьму на себя смелость условно обозначить эти две версии номерами 2 и 3 соответственно. Логично предположить, что следующей моей целью должен был стать поиск версии номер 1… Увы, эта задача при всей ее привлекательности кажется неосуществимой. Поскольку первоначальная The Oregon Trail, по всей видимости, существовала только на том компьютере, на котором Роуич с Хайнеманном и Дилленбергером ее написали, и поскольку в 1972 году, уходя из школы, Роуич ее удалил, единственным источником остается та самая пожелтевшая распечатка, которую Роуич принес с собой в МЕСС. На снимке, сделанном в ТЦ «Молл оф Америка» (г. Блумингтон, штат Миннесота) во время мероприятия, посвященного годовщине выхода The Oregon Trail, Роуич держит в руках нечто очень похожее.23
Мне удалось связаться с Роуичем, но, увы, распечатки у него не осталось. Если не случится чуда, видимо, ничего старше версии 1975 года нам уже не найти. Тем не менее даже одна эта находка дорогого стоит.
К тому же, изучая исходный код, можно узнать немало занятного. Здесь я передаю слово Майклу Джемени, поскольку он гораздо лучше меня разбирается в тонкостях HP-BASIC:
«Если сопоставить нумерацию строк кода с историческими свидетельствами, то вырисовывается довольно четкая картина. Я бы сказал, что программа изначально была написана опытным программистом, прилежным и ответственным. А затем кодом занимался другой программист, менее опытный или менее прилежный. Заметно, что ему не хватало времени, усидчивости или умения, чтобы поддерживать чистоту кода в приемлемом виде».
Тот «другой программист» – это, конечно же, Роуич, который переписывал программу для МЕСС, внося свои изменения. В коде сохранились свидетельства, что он – по крайней мере, сначала – работал один и профессиональными познаниями в программировании, в отличие от Хайнеманна и Дилленбергера, не обладал.
Почти все строки кода пронумерованы числами, кратными пяти, но в некоторых местах последовательность нарушается, и это довольно странно, учитывая, что в HP-BASIC, по словам Майкла, реализована довольно продвинутая функция перенумерации строк. Вероятно, Роуич о ней просто не знал, а следовательно, по «выбивающимся» строкам можно отследить те изменения или добавления, которые в версию для MECC внес именно он. Если вдруг кому-то интересно, Майкл выделил эти строки, а я их прокомментировал:
Строки 8-11: указание на MECC, автора изменений и текущую версию
Строки 262-263: предупреждение, чтобы игрок не использовал знак ‘$’
Строка 999 (и далее): комментарии с названиями разделов кода
Строка 1332: напоминание, чтобы игрок использовал целые числа
Строка 1537: предупреждение о разумных тратах
Строка 1752: комментарий о том, что команда «‘7» запускает велосипедный звонок (единственный звуковой эффект, доступный на телетайпном терминале)
Строка 1902: разделение вопроса на две строки
Строка 2392: исправлен баг, связанный с ненападением разбойников
Строка 2672: проливной дождь также приводит к потере патронов
Строка 2792: пожар также приводит к потере патронов
Строка 2891: нападение индейцев (вероятно) заменено на нападение волков
Строка 3147: повреждение фургона также приводит к потере патронов
Строка 3317: снежная буря также приводит к потере патронов
Строки 3650–3658: добавлены родственники и тетушка Нелли
Строка 4012: еще один комментарий о велосипедном звонке
Строка 4279: изменено поздравление в конце игры
Сопоставив эти комментарии с известной нам историей, теоретически можно было бы «реконструировать» первоначальную версию The Oregon Trail, однако после долгих размышлений я решил отказаться от этой затеи. Поскольку нет никакой возможности определить, вносил ли Роуич изменения в основной код (и если да, то какие), все наши попытки будут основаны лишь на догадках.
Что ж, на этом увлекательные поиски завершились. В следующей главе мы наконец поговорим о самой игре.
5. В поисках «Орегонской тропы», часть 5
Весь геймплей The Oregon Trail завязан на управлении ресурсами. В начале игры вы получаете $700, и эти деньги нужно потратить с умом, потому что возможности заработать не будет. Нужно купить волов в упряжку, еду, патроны, одежду и «прочие припасы» (куда входят, в частности, лекарства). Сама игра состоит примерно из 18 «ходов», каждый из которых примерно соответствует двухнедельному отрезку пути по Орегонской тропе. В начале каждого отрезка вы выбираете: поохотиться или продолжить движение. Кроме того, через каждые два хода на дороге попадается форт, где, если понадобится, можно докупить припасы. Необходимо также решить, как будет питаться ваше семейство: скудно, умеренно или плотно, – то есть необходимо взвешивать запасы провианта против возможных последствий недоедания, например, болезней. Также в течение каждого хода могут происходить различные случайные события, как правило, неприятные. Все эти лишения и невзгоды, пожалуй, запоминаются игрокам лучше всего:
«ПОВОЗКА СЛОМАЛАСЬ. ВЫ ТРАТИТЕ ВРЕМЯ И ПРИПАСЫ НА РЕМОНТ.»
«ВОЛ ПОВРЕДИЛ НОГУ. СКОРОСТЬ ПУТЕШЕСТВИЯ УПАЛА.»
«НЕСЧАСТНЫЙ СЛУЧАЙ: ВАША ДОЧЬ СЛОМАЛА РУКУ. ПРИШЛОСЬ ОСТАНОВИТЬСЯ И ПОТРАТИТЬ ПРИПАСЫ, ЧТОБЫ НАЛОЖИТЬ ШИНУ.»
«НА ВАС НАПАЛИ ДИКИЕ ЗВЕРИ!»
Если верить некоторым свидетельствам, в первоначальной версии вместо зверей нападали индейцы – событие гораздо более захватывающее, но менее политкорректное. Признаки вмешательства в код по соседству со строкой 2885 подтверждают эту гипотезу. (Интересный факт: знаменитая фраза «ВЫ УМЕРЛИ ОТ ДИЗЕНТЕРИИ!», породившая множество интернет-мемов24, появилась только в более поздних версиях.) Череду неудач иногда разбавляют события вроде «ДОБРЫЕ ИНДЕЙЦЫ ПОДСКАЗАЛИ ВАМ, ГДЕ НАЙТИ ЕЩЕ ЕДЫ», но в целом жизнь игрового переселенца весьма трудна, что, насколько мне известно, вполне соответствует действительности.
Роуич приложил массу усилий, чтобы максимально достоверно воспроизвести все особенности путешествия по Орегонской тропе, – немалый подвиг в условиях технических ограничений того времени. Вероятность выпадения тех или иных случайных событий в общем соответствует исторической действительности. Учитываются и изменения ландшафта: при переходе через Скалистые горы путешествие становится медленнее и опаснее. Реализована даже смена погоды, когда семейству игрока требуется больше одежды. На самом деле, за кадром происходит немало расчетов и процессов, которых от столь простой игры и не ожидаешь.
Еще одна особенность The Oregon Trail (которая, впрочем, роднит ее со многими играми той эпохи, написанными на BASIC): от игрока ожидается – и я бы даже сказал, требуется, – что он будет подсматривать в исходный код, чтобы разобраться в игре. В частности, я даже не подозревал, что остановка в форте резко снижает расстояние, пройденное за ход, пока не увидел соответствующую строчку кода! Точно так же легко не заметить, как изменения ландшафта влияют на игру, если предварительно хотя бы бегло не ознакомиться с кодом.
С точки зрения нарратива The Oregon Trail тоже выглядит на удивление достойно. Текста в ней, конечно, мало, но даже несмотря на это создается впечатление, будто действительно отправляешься в полное трудностей и опасностей путешествие. Преодолевая последние мили до Орегона на хромых волах, почти без еды и припасов (а зима близко!), я в самом деле переживал за свою маленькую компьютерную семью. Ощущение «присутствия» дополнительно подкрепляется периодическими экшн-вставками, где за короткое время нужно успеть ввести слово BANG (или другое), чтобы подстрелить добычу на охоте или отбиться от разбойников.
Игра также очень сурова и не прощает ошибок: не сумеешь запасти достаточно еды, лекарств и патронов на очередной ход – все, смерть. Однако в отличие от ранних адвенчур, где внезапные смерти были зачастую абсурдны и жестоки до нелепости, в The Oregon Trail подобный исход выглядит совершенно логичным. Путешествие по Орегонской тропе действительно было подвигом, и множество переселенцев в самом деле погибали по тем же самым причинам, что представлены в игре. Даже в современных сюжетно-ориентированных играх такое единство между геймплеем и нарративом встречается довольно редко.
Для себя я выработал следующую стратегию прохождения: закупиться на старте только самым необходимым минимумом, сэкономив деньги на потом. Еду можно не брать совсем, а вместо этого через ход охотиться (благо я умею печатать вслепую). Если не набирать много вещей, то не так страшно потерять их в результате того или иного несчастья (а они происходят чуть ли не на каждом шагу). С другой стороны, в этом случае приходится чаще останавливаться в фортах. Моя вечная проблема: не успеть до зимы и застрять где-нибудь на горных перевалах. Чаще всего это заканчивается проигрышем. А вообще, у каждого игрока, как правило, есть своя излюбленная стратегия.
История The Oregon Trail после 1978 года задокументирована гораздо лучше, поэтому сильно углубляться в нее я не стану. К 1980 году МЕСС приобрел 500 компьютеров Apple II и распределил их по всем школам Миннесоты. Новенькие компьютеры, помимо, конечно же, образовательных приложений, могли похвастаться и свежепортированной версией The Oregon Trail. В 1985 году в игру добавили цветные иллюстрации, а в 1995 году вышла делюкс-версия на компакт-диске. Кроме того, The Oregon Trail породила ряд пародий и подражаний, в том числе Organ Trail25 (2011–2013) в условиях зомби-апокалипсиса. Однако если стереть весь мультимедийный лоск, то окажется, что все они на удивление недалеко ушли от той концепции, которую придумал Роуич в далеком 1971 году.
Ни в коем случае не утверждаю, что в The Oregon Trail самый лихо закрученный нарратив в игровой индустрии, но он на самом деле гораздо лучше, чем от него можно было бы ожидать. Я очень рад, что смог познакомиться с этой игрой поближе, причем в наиболее первозданной форме из доступных. И я, не колеблясь, включаю ее вместе с ELIZA, Hunt the Wumpus и Adventure в список игр, с которыми должен познакомиться каждый, кто желает погрузиться в историю интерактивного повествования.