Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed. 1972: ​ROCKET (2)

Предыдущая статья:

Небольшое вступление

До публикации предыдущей статьи я обратился к автору и спросил о возможности перевести «50 Years of Text Games» для DTF. Он ответил положительно, но, к сожалению, уже после первой публикации.

Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed. 1972: ​ROCKET (2)

В написании этой статьи и переводе оригинального текста мне помогал мой брат Алексей — новый пользователь нашего любимого DTF. За это ему большое спасибо!

* под изображениями, которые отсутствовали в оригинальной статье, имеются комментарии

** в этой статье я решил не переводить вставки из игры, так как они практически полностью состоят из чисел, а распределить эти числа во врезках крайне затруднительно

1972: ROCKET

ROCKET

a.k.a «Lunar Landing»

Создатель: Джим Сторер

Выпущена: оригинальная версия на FOCAL осенью 1969 года; в составе DECUS Program Guide в январе 1970 года; в EDU Newsletter в 1972 году; в составе 101 BASIC Computer Games в 1973 году

Язык программирования: FOCAL (1969), BASIC (1972)

Платформа: PDP-8

Вступительный текст (англ.):

CONTROL CALLING LUNAR MODULE. MANUAL CONTROL IS NECESSARY

YOU MAY RESET FUEL RATE K EACH 10 SECS TO 0 OR ANY VALUE

BETWEEN 8 & 200 LBS/SEC. YOU'VE 16000 LBS FUEL. ESTIMATED

FREE FALL IMPACT TIME-120 SECS. CAPSULE WEIGHT-32500 LBS

FIRST RADAR CHECK COMING UP

Вступительный текст (рус.):

Центр управления вызывает лунный модуль. Требуется ручное управление. Вы можете сбрасывать подачу топлива каждые 10 секунд до нуля или любого другого значения от 8 до 200 фунтов в секунду. У вас есть 16000 фунтов топлива. Оценочное время свободного падения – 120 секунд. Вес модуля – 32500 фунтов. Проводится первая проверка.

20 июля 1969 года лунный модуль Eagle (или LEM), который был частью корабля Аполлон 11, приземлился на Луну. С небольшим запасом топлива Нил Армстронг уклонялся от непредвиденных кратеров и валунов, чтобы найти идеальное место для посадки, после того, как LEM рассчитал приблизительные координаты. Когда он наконец-то приземлил хрупкий аппарат, топливо практически закончилось. Его хватило бы на несколько секунд снижения. В Массачусетсе 17-летний Джим Сторер прилип к телевизору и наблюдал за миссией от начала до конца. Той же осенью он представил учителю, отвечающему в школе Лексингтон Хай за компьютер PDP-8, идею игры, которая воссоздаст опыт посадки LEM на Луну.

Джим Сторер. В настоящее время – профессор Brandeis University
Джим Сторер. В настоящее время – профессор Brandeis University

У игры Сторера не было названия, но файл с кодом, опираясь на ограничения в 6 символов, назывался ROCKET. Программа содержала всего 39 строк кода на FOCAL. Этот язык был создан для облегчения жизни студентам, однако стремительно проигрывал BASIC, который отличался более чистым синтаксисом. В процессе игры пользователь получал строки с информацией о затраченном времени, скорости, высоте и оставшемся топливе в виртуальных баках лунного модуля. В крайний правый столбец вводилась информация о том, сколько топлива будет сожжено в последующие 10 секунд.

Геймплей (англ.):

Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed. 1972: ​ROCKET (2)

А вот так это выглядело на бумаге:

Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed. 1972: ​ROCKET (2)

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

Отреставрированный командный центр в Хьюстоне
Отреставрированный командный центр в Хьюстоне

Задача игры (довольно-таки трудная) — это упрощенный, но достойный аналог миссии Армстронга. Вы должны замедлить свой корабль настолько, чтобы плавно приземлиться на Луну, прежде чем закончится топливо. Если вы слишком осторожны, то лунная гравитация будет медленно увеличивать вашу скорость падения, и двигатели не смогут противостоять ей. Напротив, если вы будете слишком агрессивны, топливо быстро закончится, и модуль разобьется о реголит. В любом случае результат будет одинаковым.

Геймплей (англ.):

Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed. 1972: ​ROCKET (2)

Как в The Oregon Trail и других программах того времени, ядро движка ROCKET построено вокруг математических расчетов. Но оно имитирует и человеческий фактор. Драма в игре практически полностью создается с помощью холодного и сурового расчета ускорения, импульсов и сил. Игровой цикл полностью состоит из чисел, но Сторер заложил в него такое время исполнения, которое позволило разогнать воображение и поддержать иллюзию того, что ваш телетайп подключен к удаленному командному центру. Игра начинается со слов «Командный центр вызывает лунный модуль», а если вы из нее выйдете, появится строка: «Командный центр отключается», прежде чем компьютер прервет исполнение программы. Другие вещи, такие как глубина кратера при поражении, рассчитываются как доля от вашей скорости. Это служит утешительным призом, а неудавшаяся попытка превращается в шутливый результат, которым можно похвастаться.

Лунный кратер
Лунный кратер

В программу заложена отличная математика. Сторер вывел уравнения ускорения и силы (в этом ему помогали учитель и отец-инженер) и представил их в виде нескольких компактных линий кода на FOCAL. Это был переходный язык, который никогда не появлялся вне систем PDP. Из-за нескольких неоднозначных фич языка (однобуквенные названия переменных и функций), а также сложных и запутанных уравнений, в исходном коде ROCKET в настоящее время разобраться практически невозможно.

07.10 I (S-.005)5.1;S S=2*A/(V+FSQT(V*V+2*A*(G-Z*K/M))) 07.30 D 9;D 6;G 7.1 08.10 S W=(1-M*G/(Z*K))/2;S S=M*V/(Z*K*(W+FSQT(W*W+V/Z)))+0.5;D 9 08.30 I (I)7.1,7.1;D 6;I (-J)3.1,3.1;I (V)3.1,3.1,8.1

В 1970 году Сторер направил свою программу в DEC – компанию, которая создала PDP-8. Они добавили ее в каталог программ, доступных клиентам компании. Каталог назывался DECUS Program Guide (DECUS – это DEC Users’ Society). Программа вышла в идеальное время и поймала сразу два попутных ветра: компьютерную манию и космическую лихорадку. В последующие 8 месяцев программа Сторера была клонирована, скопирована, улучшена, изобретена заново бесчисленное множество раз. Это привело к тому, что в 1972 году каталог DECUS рекламировал «улучшенную версию симулятора посадки на Луну, которую можно запустить на любой тайм-шеринг системе в стране». Некоторые из этих программ были разработаны независимыми программистами, некоторые полностью переписывали историю Сторера. Но большее число программ были точными копиями оригинальной ROCKET, чему поспособствовала публикация ее исходного кода в 1972 году в широко распространенных периодических изданиях.

Лунный модуль корабля «Аполлон 11»
Лунный модуль корабля «Аполлон 11»

В 1969 году кандидат наук в педагогической психологии Дэвид Х. Эл стал руководителем маркетинга образовательного отдела DEC. Первая версия DECUS Program Guide включала в себя множество потенциально интересных учителям и учащимся программ. Однако они были похоронены под сотнями других примитивных утилит и демонстрационного софта с захватывающими названиями, например: «PDUMP — DOS Based Register/Core Dump» или «Core Load to MAINDEC Tape». Одной из инициатив Эла был запуск бесплатной новостной рассылки для учащихся, которую он назвал EDU. Дэвид наполнил бюллетени планами уроков, полезными учебными советами и историями успеха учителей, которые использовали компьютеры для обучения. Каждый выпуск включал в себя списки программ на BASIC. Этот язык DEC стандартизировали для своих образовательных платформ, чтобы пользователи могли без проблем ввести код и запустить программу. Это означало, что Дэвиду придётся написать или собрать большое количество интересных программ на BASIC в короткий срок. Эл изучил каталог DECUS и другие материалы, которые содержали исходный код неплохих программ, и опубликовал их в EDU. Кроме того, он нашёл переиздание игры 1964 года, которая называлась The Sumerian Game. Ее переписал на FOCAL сотрудник из DEC. Дэвид перенес эту игру обратно на BASIC и дал ей название HMRABI (или Hamurabi). Ей суждено было стать одной из первых легендарных компьютерных игр.

Мэйбл Аддис - разработчик оригинальной The Sumerian Game
Мэйбл Аддис - разработчик оригинальной The Sumerian Game

Эл обратил внимание на программу Сторера и переписал ее на BASIC. Его версия сохраняет дух оригинала, но при этом она более понятно объясняет правила игры и упрощает геймплей. Из-за этого игра потеряла долю своего очарования. Например, в ней отсутствует ощущение непосредственной коммуникации с командным центром (Эл немного изменил игру с мыслью, что «бортовой компьютер LEM не выдержал нагрузки, потому что не был создан Digital (DEC)»). Дэвид значительно упростил игру для уменьшения порога вхождения, что позволило использовать ее в качестве обучающей программы. В игре Сторера, к примеру, было шесть возможных вариантов удачного приземления. В переиздании Эла — только три.

Версия Эла была напечатана в EDU в начале 1972 года. В то время количество читателей непрерывно росло. Осенью 1971 года, когда вышло первое издание EDU, число подписчиков составляло всего 300 человек. В конце 1972 года их количество увеличилось до 20 тысяч. По мере того как мини-компьютеры становились все больше и больше востребованными в образовательных учреждениях (на это выделялась значительная доля частных и государственных средств), повышался спрос на соответствующий контент. Версия ROCKET, которую разработал Эл, вдохновила тысячи людей на создание клонов, подражателей и ремейков.

Дэвид Х. Эл
Дэвид Х. Эл

В конце 1972 завершились последние миссии Аполлона. В это же время Эл предложил DEC опубликовать книгу с лучшими программами из EDU и DECUS Program Guide. 101 BASIC Computer Games, которая вышла в 1973 году, стала одной из самых важных книг начала компьютерной эры. Позднее ее перевыпустили под простым названием BASIC Computer Games. Тираж этой книги (одной из первых с компьютерной тематикой) составил более миллиона копий. Она включала в себя две версии ROCKET. Первая была написана Эриком Питерсом и отличалась простой ASCII графикой, которая отображала высоту полета лунного модуля. Вторая, более сложная версия, была написана Уильямом Лэббери II. В ней игроку нужно было контролировать не только тягу, но и время горения с углом направления модуля. В своих заметках Эл называл ROCKET «бесспорно самой популярной одиночной компьютерной игрой» своего времени. К концу 70-ых годов, когда компьютерная революция только зарождалась, сотни тысяч детей и взрослых пробовали на своих персональных компьютерах воссоздать в ROCKET знаменитую посадку Армстронга. В 1979 году Atari выпустила графическую версию игры, коротая называлась Lunar Lander. Эта игра стала прародителем целого поджанра, вдохновленного ROCKET, и вскоре укрепила положение предшественницы в истории компьютерных игр.

101 Basic Computer Games (Дэвид Х. Эл)
101 Basic Computer Games (Дэвид Х. Эл)

Обсуждение ROCKET в контексте «текстовых игр» может показаться странным, так как она полностью построена вокруг чисел. Однако она могла погрузить игрока в драматизм смоделированного мира даже лучше, чем текстовая The Oregon Trail. В отличие от игр, которые делают из вас «невидимого бога», заставляя принимать одиночные решения в определенные промежутки времени (недели или месяцы), ROCKET позволяет идентифицировать себя с единственным персонажем — астронавтом в лунном модуле, который наблюдает за быстро изменяющимися числами. Игра побуждает людей представить себя «там» и каждую секунду контролировать судьбу виртуального персонажа. Это была одна из первых игр, которая выявила формулу иммерсивности. Будущие поколения игр будут постоянно пытаться улучшить или изобрести эту формулу заново. К тому же, это была первая текстовая игра, которая помещала игрока в шкуру (или скафандр) единственного протагониста в критический момент.

Геймплей (англ.):

Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed. 1972: ​ROCKET (2)

Официальный сайт Джима Сторера содержит множество интересных ссылок, связанных с ROCKET, в том числе, скан оригинального кода 1969 года. Вы можете поиграть в точное переиздание игры онлайн. Выражаю благодарность FictionPhile и Technologizer за дополнительную информацию.

В заключение выражаю благодарность Aaron A. Reed за предоставленное разрешение переводить его статьи для российских игроков.

А в следующий раз мы поговорим про игру с занимательным названием Hunt the Wumpus, которая вышла в 1973 году.

5050
11 комментариев

А сколько статей всего планируется перевести? Предыдущую по Орегон трейл было интересно читать, потому что проходил ее версию под мс дос.

1
Ответить

Если отклик будет, то надеюсь все 50 штук осилю. А так чёткого плана пока нет:)

Ответить

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

1
Ответить

Спасибо большое! Такие отзывы дают мотивацию переводить дальше, хоть их мало=)
Я, к сожалению, еще не поиграл в игры Ааарона, но видимо надо попробовать.

Ответить

Мы на программируемых калькуляторах играли, в Полет на Луну, программы в Т-М печатали. Тяжелое детство, деревянные компьютеры...

1
Ответить