banner banner banner
Археолог цифрового века – Том 1. 1966-1979
Археолог цифрового века – Том 1. 1966-1979
Оценить:
Рейтинг: 0

Полная версия:

Археолог цифрового века – Том 1. 1966-1979

скачать книгу бесплатно

Археолог цифрового века – Том 1. 1966-1979
Джимми Мехер

Перед вами перевод блога Джимми Мехера The Digital Antiquarian, посвященный истории развития индустрии компьютерных развлечений. Вас ждут увлекательные рассказы о знаковых играх разных исторических периодах, биографии выдающихся личностей и экскурсы в историю крупных (и не очень) игровых компаний.

Джимми Мехер

Археолог цифрового века – Том 1. 1966-1979

Предисловие

Десять с лишним лет назад – порой кажется, будто вчера, а порой, будто в прошлой жизни, – я заинтересовался историей появления компьютерной игры, которая со школьной скамьи знакома почти всем американцам моего поколения. Речь об игре The Oregon Trail, текстовой «симуляции» полного невзгод и лишений путешествия американских переселенцев на мифический благословенный Запад в поисках лучшей доли. Выяснив, что игра появилась аж в 1971 году, почти на самой заре компьютерной эры, я задался целью разыскать самую раннюю из существующих версий. К сожалению, увидеть The Oregon Trail в том виде, в каком ее увидели старшеклассники одной из школ Миннеаполиса, где проходил практику Дон Роуич, мне не удалось. Однако благодаря группе энтузиастов, сохраняющих наследие эры мини-компьютеров Hewlett-Packard, мне удалось раздобыть версию 1975 года. Тот момент, когда я смог запустить на эмуляторе HP-2100 перепечатанный вручную исходный код, до сих пор остается одним из самых памятных в моей истории общения с компьютером.

Все свои похождения и открытия я освещал в блоге, который вел главным образом для того, чтобы поддерживать себя в писательском тонусе. Я как раз закончил книгу The Future Was Here («Будущее прошедшее»), посвященную истории Commodore Amiga, для издательства MIT Press и думал, что делать дальше. Это было непростое время: я переехал к жене в Скандинавию и пытался освоиться с новым языком и в новой для себя культуре, параллельно мучаясь вопросом, следует ли мне поступать в докторантуру и продолжать карьеру в университетской среде. Так что для меня эти первые статьи служат еще и отражением неясности и неопределенности той поры.

Закончив писать историю The Oregon Trail, я подумал, что было бы неплохо подобным образом рассмотреть и другие игры. Так появился «Археолог цифрового века».[1 - https://www.filfre.net/] Постепенно из обычного блога обо всем и сразу, каких в интернете миллионы, он перерос, как написано на главной странице, в «проект, посвященный истории становления и развития компьютерных развлечений и цифровой культуры». Сам того не осознавая, я обнаружил то, чем на самом деле хочу заниматься. Спустя несколько лет я решил узнать, может ли мое увлечение приносить доход, и создал аккаунт на «Патреоне».[2 - https://www.patreon.com/DigitalAntiquarian] Благодаря этому в скором времени «Археолог цифрового века» из хобби превратился в полноценную работу. Кроме того, это позволило мне запустить параллельный проект «Археолог аналоговой эпохи»,[3 - https://www.patreon.com/AnalogAntiquarian] посвященный более традиционной истории культуры.

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

Джимми Мехер

Июль 2021 г.

1. В поисках «Орегонской тропы», часть 1

Недавно я приобрел книгу 1001 Video Games You Must Play Before You Die[4 - https://www.amazon.co.uk/1001-Video-Games-Must-Before-ebook/dp/B006MX1N50/] («1001 видеоигра, в которые каждый обязан сыграть за свою жизнь»). Книга, признаться, так себе, однако сейчас мне бы хотелось поговорить о первой игре, упомянутой там: The Oregon Trail. Именно она, собственно, и заставила меня нырнуть в ту кроличью нору, откуда я только теперь вернулся, совершенно ошарашенный, поскольку был вынужден полностью пересмотреть свой взгляд на историю развития интерактивного повествования.

Почти все без исключения американцы моего поколения знают про The Oregon Trail: с начала 80-х и чуть ли не до середины 90-х практически во всех школах где-нибудь в углу пылилось несколько Apple II, на которых среди прочего непременно была установлена эта небольшая образовательная игрушка. Игроку предлагалось взять на себя роль переселенца, который отправляется в долгое и трудное путешествие по так называемой Орегонской тропе[5 - https://ru.wikipedia.org/wiki/Орегонский_путь] из штата Миссури на территорию Орегон. Интерфейс у тех версий был текстовый, однако игровой процесс сопровождали красочные иллюстрации, благодаря которым игра стала популярной среди школьников и до сих пор вспоминается с ностальгической теплотой.

Многие, однако, не подозревают, что на момент выхода версии для Apple II[6 - Версия 1985 г.: http://www.mobygames.com/game/oregon-trail]The Oregon Trail уже была очень и очень старой. Именно поэтому она и стоит первой в хронологическом списке «1001 видеоигры…». (Правильность датировки меня, сказать по правде, удивила, поскольку ошибок в книге, на самом деле, уйма… Впрочем, сейчас речь не об этом.)

Исходная версия была написана на языке BASIC для мини-компьютеров серии HP 2100[7 - http://ru.wikipedia.org/wiki/HP_2100] тремя учителями – выпускниками Карлтон-колледжа, небольшого гуманитарного вуза в г. Нортфилд, штат Миннесота: Доном Роуичем, Биллом Хайнеманном (не родственник Ребекки/Билла Хайнеманна, работавшего, в частности над играми серии The Bard’s Tale) и Полом Дилленбергером.

Когда я писал книгу по истории интерактивной литературы[8 - http://maher.filfre.net/if-book/], то в числе двух основных предтеч знаменитой Adventure (1976-77) я выделил ELIZA (1966) Джозефа Вейценбаума, где впервые была реализован принцип текстового взаимодействия между компьютером и человеком (пусть и в формате салонного развлечения, а не полноценной игры), и Hunt the Wumpus (1973) Грегори Йоба – простенькую игру, в которой игрок, перемещаясь по текстовому лабиринту, сначала скрывается от вынесенного в название Вампуса, а затем убивает его. И вот теперь оказалось, что в этот список следует добавить третью игру: The Oregon Trail.

Итак, что же можно сказать об уровне развития интерактивного повествования в 1971 году? Первые эксперименты по включению игрока в повествование появились довольно давно (см., например, «Уголовное дело» Денниса Уитли[9 - https://www.z-machine-matter.com/2011/01/1936-dennis-wheatley.html]), но до сих пор это были единичные эксперименты. Эдвард Паккард пытался опубликовать первые книги своей будущей линейки «Выбери себе приключение»[10 - https://ru.wikipedia.org/wiki/Choose_Your_Own_Adventure], но издатели как один отказывали ему, и воплощение идеи пришлось отложить на более поздний срок. В штате Висконсин группка настольщиков решила внести разнообразие в правила любимых варгеймов, однако первое издание Dungeons & Dragons появится только через несколько лет. Безусловно, в варгеймах и прочих симуляционных играх тоже есть компонент погружения: игроки вольны сколь угодно подробно представлять себе события, происходящие на игровом столе, но это отстраненное представление, не отражающее чувств конкретных персонажей игрового мира. Наконец в лабораториях искусственного интеллекта велись кое-какие работы по программно-генерируемому повествованию, но результатом были самодостаточные, не интерактивные истории, которые компьютер генерировал из готового набора исходных данных и предлагал пользователю.

И вот на сцене появляется The Oregon Trail, которая начинается словами: «Вашей семье из пяти человек предстоит преодолеть 2040 миль по Орегонской тропе за 5-6 месяцев и выжить при этом. Перед путешествием вам удалось накопить $900, и $200 из них вы только что потратили на фургон». Нас сразу же погружают в игровой мир, дают примерить на себя конкретную роль, а затем предоставляют полную свободу действий. Хоть одна компьютерная программа до этого предлагала пользователю не прочитать созданную для него историю, а, наоборот, поучаствовать в ее создании? Даже если такие и были, я про них не знаю.

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

2. В поисках «Орегонской тропы», часть 2

В прошлой главе я упомянул, что первоначальная версия The Oregon Trail была написана для мини-компьютеров серии HP 2100. Остановимся на этом аспекте поподробнее.

HP 2100, первая серия компьютеров Hewlett-Packard, поддерживала целый ряд операционных систем. Самой распространенной была HP Time-Shared BASIC (BASIC с разделением времени[11 - https://ru.wikipedia.org/wiki/Разделение_времени]), под которой и была написана The Oregon Trail. Эта ОС не имела аналогов и в каком-то смысле даже опережала свое время. Если почти во всех ОС того периода пользователь должен был работать через интерфейс командной строки, то HP TSB, как следует из названия, после авторизации помещала пользователя в интерактивную среду BASIC, в которой можно было не только сразу писать программы на BASIC, но и взаимодействовать с компьютером (запускать программы, сохранять файлы и т.п.), используя тот же синтаксис.

Этот подход впоследствии использовался почти во всех персональных компьютерах 8-разрядного поколения: например, чтобы запустить какую-нибудь игру на Commodore 64, нужно было набрать «LOAD ‘*’,8,1». На первых порах даже на IBM PC существовала среда BASIC, в которую пользователь попадал, если компьютер при запуске не мог найти и загрузить диск с установленной DOS (ясное дело, про этот факт почти никто не знал). Долгие годы меня интересовало, как произошел переход от интерфейсов командной строки, типичных для большинства вычислительных систем в научно-исследовательских учреждениях, к интерактивной среде BASIC. Теперь я, кажется, понимаю.

По сравнению с другими ОС того времени HP TSB представляла собой более дружелюбную среду для работы и программирования. Кроме того, компьютеры серии HP 2100 отличались сравнительной дешевизной и простотой в эксплуатации, благодаря чему их особенно полюбили в университетах и даже некоторых школах. Конструкторы из HP немало постарались, чтобы сделать эти машины максимально удобными в использовании. Особого внимания заслуживает руководство пользователя[12 - http://bitsavers.trailing-edge.com/pdf/hp/2000TSB/22687-90009_LearningTSB.pdf], рассчитанное на людей, никогда до этого не работавших с BASIC. Авторы отлично сумели сделать его понятным и доступным, не скатываясь при этом в назидательность. Ввиду вышесказанного неудивительно, что HP 2100 в итоге попали и в Карлтон-колледж.

На HP-BASIC было написано довольно много игр и обучающих программ, которые затем сохранялись на магнитных кассетах. В интернете мне попался образ одной из них, представлявший собой, по сути, несортированный массив данных. Чтобы покопаться в нем и, возможно, отыскать оригинальную версию The Oregon Trail, я решил настроить у себя на компьютере эмуляцию среды HP TSB. Поначалу, по крайней мере, эта мысль действительно выглядела вполне здравой…

На деле же оказалось, что, несмотря на наличие эмулятора для HP 2100 (и за это огромное спасибо энтузиастам из проекта «Симулированной истории вычислительной техники»[13 - http://simh.trailing-edge.com/]), сама конфигурация у него довольно сложная. Для работы HP TSB необходимо два компьютера: на одном запущено ядро операционной системы, а другой служит своего рода шлюзом для пользователей, входящих в систему с удаленных терминалов. То есть для полноценной работы необходимо запустить два разных эмулятора, загрузить на каждом соответствующее ПО, а также связать их друг с другом через сокеты, после чего нужно запустить третье приложение, имитирующее удаленное подключение по протоколу Telnet посредством «возвратной петли» (loopback). Самостоятельно я бы такое ни за что не провернул; к счастью, мне помогли участники группы Yahoo, посвященной HP 2100. У них я скачал рабочую сборку эмулятора, которая почти не требовала дополнительных настроек. Не стану утомлять вас подробностями того, как из почти рабочей версии я получил полностью рабочую. Главное, что в итоге я смог запустить среду HP TSB на своем компьютере.

После этого я начал методично копаться в данных с кассеты. Среди шести мегабайт было действительно немало программ на BASIC, большая часть размером всего в несколько килобайт. Увы, The Oregon Trail там не оказалось.

Несмотря на это, о потраченном времени я нисколько не пожалел. Мне в руки попали сотни программ на BASIC: игры, образовательные приложения по каждому предмету, практические инструменты для физических и математических расчетов и т.п. В их числе даже была, наверное, самая ранняя версия первой игры по вселенной «Звездного пути»[14 - https://ru.wikipedia.org/wiki/Star_Trek_(текстовая_игра)]. Все это свидетельствует о том, что в период с конца 60-х до конца 70-х годов пользователи HP TSB активно писали программы и потом обменивались ими, но примечательно, на самом деле, другое: программистами выступали не профессионалы-небожители, как в случае с мейнфреймами компании IBM, и не талантливые хакеры, как в случае с мини-компьютерами серии DEC PDP, а обычные учителя и их ученики. Критерии оценки, согласитесь, совсем другие. Как бы то ни было, несомненно одно: все, кто работал на HP-BASIC, глубоко увлекались играми.

Эта золотая жила заслуживает большего внимания, и в дальнейшем я, возможно, еще к ней вернусь (в частности, я хочу попробовать отыскать там исходную версию текстовой стратегии Hammurabi (1968) Дага Даймонта). Однако сейчас у нас в центре внимания The Oregon Trail, и следующая глава будет посвящена непосредственно истории ее создания.

3. В поисках «Орегонской тропы», часть 3

Итак, поиски The Oregon Trail в том виде, как она была написана выпускниками Карлтон-колледжа, успехом не увенчались, поэтому я решил разыскать самую раннюю версию из возможных. Ею оказалась версия, напечатанная в номере Creative Computing за июль-август 1978 г.[15 - https://deserthat.files.wordpress.com/2010/11/oregon1.doc] Однако прежде чем углубиться в нее, я хочу рассказать, что произошло за семь лет между появлением первоначальной версии и публикацией кода в Creative Computing.

В 1971 году Дон Роуич, Билл Хайнеманн и Пол Дилленбергер – трое старшекурсников из Карлтон-колледжа, снимавших вместе жилье, – проходили педагогическую практику.[16 - Дон Роуич рассказывает об истории создания The Oregon Trail на конференции GDC: https://www.youtube.com/watch?v=vdGNFhKhoKY] Хайнеманн с Дилленбергером преподавали математику, а Роуич – историю. Именно он придумал, как рассказать школьникам об Орегонской тропе в виде настольной игры, а соседи предложили воплотить ее на компьютере, написав код на HP-BASIC. Таким образом, первыми, кто сыграл в The Oregon Trail, помимо разработчиков, стали ученики Роуича: 3 декабря 1971 года он прикатил на урок телетайпный терминал. По словам Роуича, игра ученикам «чрезвычайно понравилась». До конца полугодия он и его коллеги по школьному округу Миннеаполиса часто использовали The Oregon Trail на своих уроках. В 1972 году практика у Роуича закончилась, и он удалил игру из системы, забрав с собой распечатку исходного кода, которую затем забросил куда-то в дальний ящик стола.

Тем временем штат Миннесота превратился в флагман компьютерных инноваций. В 1973 году по решению законодательного собрания штата был организован Миннесотский консорциум компьютерного образования (МЕСС[17 - https://ru.wikipedia.org/wiki/MECC]), занимавшийся внедрением компьютеров в школы и вузы. В штаб-квартире консорциума в г. Миннеаполис установили мейнфрейм UNIVAC 1100[18 - https://en.wikipedia.org/wiki/UNIVAC_1100/2200_series], к которому были подключены 1500 терминалов в школах по всему штату. В 1974 году МЕСС нанял Дона Роуича в качестве «специалиста по связям с местными учебными заведениями».

Воодушевленный возможностью снова вернуться к интересовавшей его теме – применению компьютеров в образовании, – Роуич вспомнил про ту самую распечатку с кодом The Oregon Trail. Во время «длинных выходных по случаю Дня благодарения» он бережно перенес код с пожелтевших от времени листов на UNIVAC, попутно внося исправления, связанные с различиями в архитектуре мини-компьютера и мейнфрейма, а также используемых версиях BASIC.* Кроме того, Роуич расширил и улучшил саму игру, сделав ее более целостной, исторически достоверной и увлекательной. За следующие несколько лет в The Oregon Trail сыграли тысячи школьников по всему штату.

*На самом деле все происходило не совсем так, однако правду я выяснил только во время работы над следующей главой. [здесь и далее прим. автора]

В 1977 году MECC заменил устаревающий UNIVAC на мейнфрейм серии CDC Cyber[19 - https://en.wikipedia.org/wiki/CDC_Cyber] 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 - Архивная подборка статей из ранних выпусков: https://www.atariarchives.org/bcc1/] Обширные разделы, посвященные образовательным программам, появлялись чуть ли не в каждом номере. Словом, нет ничего удивительного, что исходный код The Oregon Trail был напечатан именно в этом журнале. Скорее удивительно, что это не произошло раньше.

К этому времени MECC, который всегда на шаг опережал свое время, уже перешел на новейшие, как их тогда называли, «микрокомпьютеры». С 1978 года в школах Миннесоты начали появляться Apple II. Естественно, The Oregon Trail портировали и на этот компьютер тоже.

Ну что ж, с историей покончено; наконец настала пора взглянуть, что из себя представляет сама игра – ради чего, собственно, и были затеяны все эти танцы с бубном. Но об этом в следующей главе.

4. В поисках «Орегонской тропы», часть 4

Работа над этой главой заняла больше времени, чем ожидалось, но вовсе не из-за нехватки энтузиазма. Дело в том, что к моим археологическим изысканиям подключились Майкл Джемени и Боб Браун, специалисты по HP 2100 из группы в Yahoo, и вместе нам удалось совершить поистине удивительную находку.

Изучая образ кассеты из школы округа Йорк, штат Пенсильвания, Майкл нашел программу с многообещающим названием Oregon. И действительно, запустив ее, мы поняли, что перед нами версия The Oregon Trail от 27 марта 1975 года, то есть на три года старше версии, напечатанной в Creative Computing. Если вам интересно покопаться в исходном коде, то я загрузил его на свой сайт.[21 - https://www.filfre.net/misc/oregon1975.bas] Сравнив, таким образом, две имеющиеся версии, мы узнали немало интересного.

Прежде всего, это позволило мне исправить историческую неточность, допущенную в предыдущей главе. В 1974 году, когда Роуича только взяли работать в МЕСС, он явно не занимался портом The Oregon Trail на UNIVAC – по крайней мере, не сразу. Сначала он, скорее всего, просто заново набрал код на имевшемся у консорциума НР 2100: вполне логично, если учесть, что эти мини-компьютеры стояли почти в каждой школе, причем не только в Миннесоте, но и по всей стране, а к началу 1975 года МЕСС активно распространял игру по образовательным округам соседних штатов.

Нетрудно также заметить, что сам Роуич, программисты из МЕСС – или кто-то еще – в последующие годы продолжали доводить игру до ума, и в таком обновленном виде она попала на Apple II. В версии 1978 года есть ряд нововведений, отсутствующих в версии 1975 года. Возьмем ситуацию, когда игроку – во время охоты, нападения бандитов и т.п. – нужно быстро ввести в терминал какое-то слово. В версии 1978 года появляются уровни сложности: в начале игры программа просит игрока указать, насколько он хороший стрелок – от «меткого аса» до «трясущихся рук». В зависимости выбранного варианта игра определяет, сколько времени будет даваться на ввод. Кроме того, нужное слово каждый раз выбирается случайно: BANG, BLAM, POW или WHAM, – тогда как в версии 1975 года это всегда старое доброе BANG.

Если вам интересно поискать другие отличия, версию 1978 года я тоже выложил у себя на сайте,[22 - https://www.filfre.net/misc/oregon1978.bas] хотя она, конечно, не настолько аутентичная, как версия 1975 года. Мне пришлось довольно долго вычитывать код, чтобы убрать все ошибки распознавания, но зато я бэкпортировал ее с BASIC, которой использовался на мейнфреймах линейки CDC Cyber, на HP-BASIC. Теперь вы тоже можете почувствовать, как The Oregon Trail могла выглядеть на «родном» мини-компьютере серии НР тогда, в 1978 году.

Итак, возьму на себя смелость условно обозначить эти две версии номерами 2 и 3 соответственно. Логично предположить, что следующей моей целью должен был стать поиск версии номер 1… Увы, эта задача при всей ее привлекательности кажется неосуществимой. Поскольку первоначальная The Oregon Trail, по всей видимости, существовала только на том компьютере, на котором Роуич с Хайнеманном и Дилленбергером ее написали, и поскольку в 1972 году, уходя из школы, Роуич ее удалил, единственным источником остается та самая пожелтевшая распечатка, которую Роуич принес с собой в МЕСС. На снимке, сделанном в ТЦ «Молл оф Америка» (г. Блумингтон, штат Миннесота) во время мероприятия, посвященного годовщине выхода The Oregon Trail, Роуич держит в руках нечто очень похожее.[23 - https://www.filfre.net/wp-content/uploads/2011/04/oregon-trail-how-three-minnesotans-forged-its-path.5872975.40.jpg]

Мне удалось связаться с Роуичем, но, увы, распечатки у него не осталось. Если не случится чуда, видимо, ничего старше версии 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 - http://www.died-of-dysentery.com/stories/memes.html], появилась только в более поздних версиях.) Череду неудач иногда разбавляют события вроде «ДОБРЫЕ ИНДЕЙЦЫ ПОДСКАЗАЛИ ВАМ, ГДЕ НАЙТИ ЕЩЕ ЕДЫ», но в целом жизнь игрового переселенца весьма трудна, что, насколько мне известно, вполне соответствует действительности.

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

Еще одна особенность 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 Trail[25 - https://store.steampowered.com/app/233740/Organ_Trail_Directors_Cut/] (2011–2013) в условиях зомби-апокалипсиса. Однако если стереть весь мультимедийный лоск, то окажется, что все они на удивление недалеко ушли от той концепции, которую придумал Роуич в далеком 1971 году.

Ни в коем случае не утверждаю, что в The Oregon Trail самый лихо закрученный нарратив в игровой индустрии, но он на самом деле гораздо лучше, чем от него можно было бы ожидать. Я очень рад, что смог познакомиться с этой игрой поближе, причем в наиболее первозданной форме из доступных. И я, не колеблясь, включаю ее вместе с ELIZA, Hunt the Wumpus и Adventure в список игр, с которыми должен познакомиться каждый, кто желает погрузиться в историю интерактивного повествования.

6. Несколько слов в защиту BASIC

Пожалуй, ни один язык программирования не удостаивался столь единодушного презрения, как BASIC[26 - https://ru.wikipedia.org/wiki/Бейсик]. Из всех саркастических выпадов в его адрес можно было бы собрать довольно пухлый томик для туалетного чтения. Наиболее яркая ремарка, на мой взгляд, принадлежит Эдсгеру Вибе Дейкстре[27 - https://ru.wikiquote.org/wiki/Эдсгер_Вибе_Дейкстра]: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». (Его слова прозвучат еще пафоснее, если прочитать их с голландским – а еще лучше с немецким – акцентом.) Это, безусловно, преувеличение, хотя поводов к таким замечаниям BASIC дает предостаточно. Когда мы в детстве обменивались программами для Commodore 64, фраза «она написана на Бейсике» автоматически означала «отстой». И на сегодняшний день мало что изменилось. Какая среда разработки способна сравниться с Visual BASIC по количеству ужасных программ, созданных в ней? Я, признаться, если узнаю, что программа создана в Visual BASIC, стараюсь ее даже не запускать.

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

Другой лагерь составляли хакеры. Эта культура возникла в Массачусетском технологическом институте (МТИ) и похожих технических вузах, а также небольших компаниях. В нее входили, как правило, молодые люди, которые предпочитали машинное общество человеческому и для которых программирование и копание в компьютерах (изначальный смысл слова «хакерство») было смыслом жизни. Они презирали коллективизм и консерватизм, навязываемый «айбиэмщиками», а потому испытывали особую любовь к небольшим машинам производства Digital Equipment Corporation (DEC), чья этика была не столь косной. Несмотря на явное противоречие во взглядах, оба лагеря объединяло следующее: ни «жрецы», ни хакеры не стремились сделать компьютеры доступными обычным людям. Те, кто не привык думать в битах, байтах и регистрах, для них просто не существовали.

Ситуация изменилась в 1964 году, когда Джон Кемени и Томас Курц, преподаватели Дартмутского колледжа, разработали Beginner’s All-purpose Symbolic Instruction Code (универсальный код символических инструкций для начинающих), сокращенно BASIC. Они не ориентировались ни на хакеров, ни на ученых-компьютерщиков; их целью было создать инструмент, который дал бы обыкновенным пользователям возможность творить с помощью компьютера. Сегодня идея языка программирования «для широких масс» выглядит бессмысленной. Зачем он, когда мы можем включить компьютер, на котором уже установлена Windows, iOS или еще какая-нибудь операционная система, и пользоваться многочисленными программными пакетами, которые уже кто-то написал за нас? А вот в 60-е – и даже позже – приложений как таковых, по сути, не существовало. Чтобы использовать компьютер для чего-нибудь за рамками самых ходовых (и примитивных) функций – и тем более создавать что-либо с его помощью, – необходимо было уметь программировать. Делая программирование доступным широкой публике, Кемени с Курцем руководствовались не столько техническими, сколько социологическими, политическими и даже идеологическими соображениями.

Итак, в 1964 году в Дартмутском колледже зародился третий лагерь компьютерщиков – я вскользь упоминал о нем в прошлых главах, – и долгие годы его деятельность была связана именно с языком BASIC. Пока «жрецы» занимались своими делами в хорошо освещенных и кондиционируемых дата-центрах, а хакеры уединенно корпели в тесных комнатушках у себя в МТИ, во внешнем мире творилась революция, которая в конце 60-х – начале 70-х годов привела к появлению настоящей программистской контркультуры. Компьютеры перестали быть прерогативой банков и научных институтов – они вышли на улицы. Таким образом, вклад адептов BASIC вполне сопоставим с достижениями хакеров, которые в это же время разрабатывали язык Си, Unix, а также закладывали основы сети Интернет.

Иногда эти два лагеря даже пересекались, и случалось это куда чаще, чем может показаться на первый взгляд (и чаще, чем представители этих лагерей готовы признать). Результатом одного из таких пересечений стала игра Hunt the Wumpus, которой будут посвящены следующие две главы. Исходная концепция зародилась в среде HP-TSB, однако своей новизной она подкупила программистов хакерского склада – и стала предтечей первых произведений так называемой «интерактивной литературы» (ИЛ).

Поэтому давайте не будем забывать, что именно благодаря BASIC компьютеры постепенно стали достоянием общественности и что именно BASIC в немалой степени поспособствовал развитию компьютерного творчества, плоды которого мы наблюдаем и по сей день. С этой точки зрения надменные высказывания элитариев вроде Дейкстры, признаться, выглядят очень некрасиво.

В общем, безусловно, BASIC есть за что уважать… Только не заставляйте меня им пользоваться.

7. «Охота на Вампуса», часть 1

В самый разгар эпохи хиппи программист-аналитик Боб Альбрехт вместе со школьным учителем Лероем Финкелем основал в Сан-Франциско издательство Dymax, чтобы печатать книги по языку BASIC. Интересы Альбрехта, однако, вовсе не ограничивались изданием компьютерной литературы. В те годы широкая публика все еще воспринимала компьютеры как нечто из области научной фантастики: огромные зловещие машины, которые постоянно искрят и сбоят, доставляя массу хлопот капитану Кирку и команде звездолета «Энтерпрайз». Чтобы изменить это представление и сделать компьютер инструментом для развлечения и творчества, был необходим массовый доступ.

Ради реализации этой мечты Альбрехт, обладавший, по всей видимости, большой харизмой и силой убеждения, сумел выпросить у DEC мини-компьютер PDP-8, а у Hewlett-Packard – терминалы с удаленным подключением и выделенное время. Очень скоро офис Dymax в городке Менло-Парк, штат Калифорния (туда издательство переехало после приобретения ЭВМ) превратился в публичный вычислительный центр, куда любой человек мог прийти и поиграться с компьютером.

В конце 1971 года в недрах коммерческого издательства Dymax возникла никак не связанная с ним «Народная компьютерная компания» (People’s Computer Company, или PCC). Это была не совсем «компания» в привычном смысле слова; по крайней мере, задачи извлекать прибыль перед ней не стояло. На самом деле, название было отсылкой к рок-группе Big Brother and the Holding Company[28 - https://music.yandex.ru/artist/21827], которая появилась в Сан-Франциско в 1965 году и в которой пела небезызвестная Дженис Джоплин. Одного этого упоминания, в принципе, достаточно, чтобы понять этику РСС. Даже в 1972 году Сан-Франциско продолжал жить идеалами хиппи, несмотря на разочарование, возникшее после Альтамонтского фестиваля 1969 года[29 - https://ru.wikipedia.org/wiki/Альтамонт_(фестиваль)], и Альбрехт прекрасно вписался в эту контркультуру.

Целью РСС было сделать компьютеры доступными для широких масс. Для этого служил не только публичный вычислительный центр, но и информационный бюллетень, который начали издавать в октябре 1972 года. Заголовок гласил: «Сейчас компьютеры не служат народу, а используются против него. Используются, чтобы порабощать людей, а не освобождать их. Настало время все изменить. Для этого нужна… Народная компьютерная компания».