1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

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

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

** я не особо большой поклонник Star Trek, так что прошу простить меня за возможные косяки в переводе всевозможных терминов

Super Star Trek

Разработчики: Майк Мэйфилд и Боб Лидом

Выпущена: оригинальная версия в 1971 году; STTR1 опубликована HP в 1973 году; SPACWR опубликована в EDU в 1973 году; версия Лидома в 1974 году; Super Star Trek опубликована в Creative Computing в 1975 году

Язык программирования: BASIC

Платформа: SDS Sigma 7

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

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

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

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

Финальный эпизод Star Trek вышел в эфир 3 июня 1969 года. В это время преданный фанат вселенной Майк Мэйфилд заканчивал второй курс средней школы. Эпизод назывался Turnabout Intruder, и он вышел, мягко говоря, не очень хорошим. Фанаты уже не раз спасали Star Trek от закрытия. Они писали множество писем в его поддержку, но в этот раз даже поклонникам не удалось помочь. Третий сезон вышел намного менее вдохновляющим и, казалось, закончился на грустной ноте. Даже повторный показ телешоу The Mod Squad собрал вдвое больше зрителей в тот день. Только спустя 10 лет на экранах появились новые эпизоды Star Trek. Все эти годы время фанатам приходилось самим поддерживать вселенную.

Лого Star Trek
Лого Star Trek

Мэйфилд — один из технически-подкованных фанатов Star Trek, осознавал, что мини-компьютеры могут поддержать дух телешоу. Игры по вселенной Star Trek, которые появлялись в конце 60-х — начале 70-х, постоянно копировались, переиздавались и улучшались, как и все программы тех времен. Сейчас очень сложно разобраться в генеалогии этих старых игр, потому что их дистрибуция была редким явлением, к тому же многие из этих игр назывались просто: «Star Trek». И пусть в играх было сложно имитировать глубокий посыл таких серий как «The City on the Edge of Forever», они позволяли отобразить битвы на звездолетах, как в эпизоде «Balance of Terror». В этом эпизоде Кирк играет в кошки-мышки с кораблем Ромуланцев. Star Trek также предоставил базу для игровой истории в то время, когда было очень мало возможностей создать игру с нуля. Для Мэйфилда это стало вызовом: компьютеры все еще были заперты в лабораториях университетов и никогда не попали бы руки 16-ти летнего школьника.

Кадр из эпизода Balance of Terror
Кадр из эпизода Balance of Terror

Вскоре после того как телешоу завершилось, Мэйфилд посетил демонстрацию SpaceWar! (одна из самых влиятельных игр про космические бои) в кампусе Калифорнийского университета в Ирвайне. Для игры в SpaceWar! использовался современный по тем временам ЭЛТ-монитор, который позволял отобразить крошечные векторные корабли. Они маневрировали на пустом экране, обстреливали друг друга торпедами и пытались справиться с гравитационным полем звезды в середине поля. Игра затягивала, в нее было весело играть. Она выглядела как пришелец из будущего: компьютеры в то время все еще были синонимом телетайпов, поэтому графическая игра в реальном времени была революционной. Игра потрясла Мэйфилда, и у него появилась мечта обзавестись своим собственным компьютером. Он знал, что в других школах, в отличие от его альма-матер, была возможность подключиться к мини-компьютеру с помощью телетайпа. Ему оставалось только мечтать.

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

Майк Мэйфилд

В конце концов Мэйфилд организовал удаленный доступ к Sigma 7 с помощью учетной записи уже зарегистрированного студента (это, строго говоря, было запрещено). Он начал потихоньку изучать BASIC с помощью соответствующей литературы. Код он вводил на телетайпе, строку за строкой. Его учетная запись не имела доступа к хранилищу информации, поэтому ему приходилось сохранять код на перфоленте. В следующий раз он аккуратно переносил все данные обратно, чтобы изменить код. Дело продвигалось медленно, однако в 1971 году (его последний год обучения) ему удалось создать игру по вселенной Star Trek, в которой сложность не мешала наслаждаться игровым процессом.

Перфолента и перфокарты
Перфолента и перфокарты

Игра Мэйфилда назвалась просто STAR TREK. Она помещала вас во главу звездолета Enterprise и давала задание уничтожить корабли Клингонов, которые захватили галактику. Игровое пространство представляло собой сетку 8*8, каждый элемент которой содержал в себе 64 квадранта. Каждый квадрант, в свою очередь, включал в себя 64 сектора. В итоге игровая карта включала в себя около тысячи подсекторов. В каждом квадранте были звезды, которые служили укрытием для Клингонов, и другие объекты, облегчающие навигацию. В некоторых квадрантах притаились звездные базы, которые могли восполнить запас протонных торпед или восстановить энергию, необходимую для работы двигателей и щитов. Задача заключалась в уничтожении Клингонов за тридцать звездных дат. Символ «*» обозначал звезду, а символ «<*>» — ваш звездолет.

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

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

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

Геймплей (рус.):

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

Напечатанная телетайпом игровая карта являлась ранним примером того, что позже назовут ASCII графикой. Она состояла из отдельных символов, которые имитировали простую визуальную составляющую. Спустя годы roguelike игры превратят это в узнаваемую фишку. Важно то, что геймдизайн игры Мэйфилда предоставлял больше стратегических возможностей, чем некоторые современные игры. Восемь различных команд отвечали за управление двигателем, щитами, фазерами, фононным торпедами, сканерами, а также за восстановление корабля и внутриигровую библиотеку. Большинство команд принимали дополнительные параметры: количество энергии для перенаправления на щиты; номера компьютерных программ; скорость и направление варп-двигателя (для этого использовался компас, с которым вас знакомили инструкции к игре). Игра принимала числа с плавающей точкой, что позволяло оптимизировать перемещение в квадрантах или между ними. Например, можно было пролететь половину галактики и оказаться в идеальной позиции для атаки. Большой выбор команд был свежим глотком воздуха по сравнению с их количеством в более ранних играх, таких как ROCKET (1972) или Hunt the Wumpus (1973), а большое пространство, которое нужно было исследовать, чтобы обнаружить вражеские корабли, создавало ощущение опасности и долгого путешествия. Корабельные системы могли быть повреждены из-за вражеского огня или перегрева варп-двигателя. В зависимости от типа повреждений нужно было принять решение: продолжить охоту или отправиться на поиски звездной базы для ремонта корабля.

Звездолет USS Enterprise
Звездолет USS Enterprise

Большинство действий в игре требуют выполнения последовательных шагов. Это создает иллюзию того, что вы командуете Звездолетом, а не каким-то там посадочным модулем. Например, чтобы найти разбросанных по пространству Клингонов, нужно использовать встроенную библиотеку и два типа сканеров. «Длинные» сканеры показывают окружающие вас квадранты с помощью трехзначного кода, который вам предстоит расшифровать. Число 114 означает, что в квадранте находится один Клингон, одна звездная база и четыре звезды. После того как вы переместились во вражеский квадрант и перенаправили часть энергии двигателя на щиты, нужно выбрать тип вооружения: фазеры или торпеды. От этого зависит боевая стратегия. Торпеды уничтожают врага с одного выстрела, однако для их использования понадобится видимая цель. Вы должны будете маневрировать между звездами и контратаковать в нужный момент. Вам нужно будет рассчитать траекторию выстрела или научиться пользоваться библиотекой корабля. Во втором случае компьютер сам рассчитает траекторию. Вам останется вручную ввести требуемые параметры. Trek Мэйфилда требовала концентрации игрока. В игре было огромное внимание к деталям и серьезное отношение к игровому процессу. Такое редко встречалось в ранних компьютерных играх.

Код игры использовал хитрые «костыли», чтобы обойти ограничения BASIC. Локация, которая занимала 4 096 клеток, требовала значительное количество памяти, которое превышало лимиты компьютеров того времени. Вместо того, чтобы хранить случайно-сгенерированные данные каждого квадранта в двухмерном массиве, информация умещалась в трехзначный код, который предоставляли «длинные» сканеры. Когда игрок перемещался в определенный сектор, количество звезд и Клингонов генерировалось случайным образом. Этот трюк работает, потому что редко приходилось возвращаться в уже посещенный квадрант. Обычно это происходило, когда вам нужно было удрать от противника. Логично, что при возвращении во вражеский квадрант, звездолеты Клингонов могли улететь на другую позицию. К сожалению, многие игроки отмечали, что местоположение звезд тоже менялось.

Звездная станция
Звездная станция

В то же время код был наполнен разными фичами, которые выдавали то, что разработчик учился программировать на ходу. Такие вещи использовались один-два раза, а потом исчезали. Программа инициализирует ровно одну функцию (совершенно новый концепт для BASIC того времени) и использует ее всего два раза. В остальном используются обычные операторы GOSUB и RETURN. Массив размером 8*8 хранит трехзначные числа, определяющие текущий квадрант, однако содержимое квадранта отслеживается более необычным, хакерским способом. В трех строковых переменных Q$, R$ и S$ хранится информация о карте текущего квадранта (строковая переменная имела ограничение в 72 символа, поэтому потребовалось использовать три переменные для хранения информации о 64 зонах). Определение позиции или обновление карты происходило путем проверки соотношения трех отдельных символов в строковых переменных и координат (X, Y) игрока.

Ниже представлен код, с помощью которого происходит обновление сектора Z1, Z2. В строковой переменной A$ находятся символы, отвечающие за карту области. Программа проверяет три переменные (Q$, R$ и S$), чтобы найти нужную трехзначную последовательность символов.

5520 S8=Z1*24+Z2*3-26 5530 IF S8>72 THEN 5560 5540 Q$[S8,S8+2]=A$ 5550 GOTO 5600 5560 IF S8>144 THEN 5590 5570 R$[S8-72,S8-70]=A$ 5580 GOTO 5600 5590 S$[S8-144,S8-142]=A$ 5600 RETURN

Этот код показывает, с какими проблемами приходилось сталкиваться при написании сложных программ на BASIC в 70-х годах: однобуквенные наименования переменных, отсутствие разделения между глобальными и локальными переменными и невозможность дать блокам кода осмысленные имена. BASIC был большим шагом в будущее по сравнению с более старыми языками программирования, но разработка программ все еще преподносила трудности. Однако многие хакеры того времени получали удовольствие, когда разбирались в том, как работают интересные программы.

Trek Мэйфилда в начале 70-х годов прошла через большое количество рук. Его часто улучшали: переписывали на новых версиях BASIC или добавляли новые фичи. Самое известное переиздание игры было написано Бобом Лидомом — профессиональным программистом, который работал в компании Westinghouse над персональными компьютерами Data General Nova. Лидом работал над обновленной версией игры в течение 1974 года. Игровой процесс не изменился, однако Лидом добавил несколько новых штрихов, которые увеличили динамику и улучшили игру. В его версии цифровые команды были заменены трехсимвольными кодами (например, LRS отвечала за «длинный» сканер, а NAV за управление двигателем). Эти команды напоминали загадочные криптографические кнопки, которыми пользовались астронавты на Аполлоне. Лидом добавил в игру более подробные инструкции и заменил внутриигровые сообщения. Например, если вы стреляли торпедой в звезду в версии Мэйфилда, то появлялось сообщение: «Дурачок, ты не можешь уничтожить звезду». В версии Лидома это сообщение звучало более серьезно и иммерсивно: «Звезда в секторе 3,7 поглотила энергию торпеды». При уничтожении звездной базы в оригинальной игре, она просто удалялась с карты. В версии Лидома это действие приводит к военно-полевому суду. Примечательно, что многие информационные сообщения, а также предупреждения об ошибках были переписаны от лица знаменитой команды из телешоу. Например, при попытке вылететь за пределы карты появляется следующее сообщение:

Английский:

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

Русский:

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

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

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

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

Геймплей (рус.):

1974: Super Star Trek. Перевод серии статей «50 Years of Text Games» за авторством Aaron A. Reed

Версия Лидома была опубликована Дэвидом Х. Элом в журнале Creative Computing под названием Super Star Trek. Это позволило отличить ее от более ранних версий. Впоследствии она была напечатана в книге BASIC Computer Games, которая разошлась миллионным тиражом. Это закрепило за игрой звание самой известной компьютерной программы десятилетия. Бесчисленные спин-оффы и улучшенные версии продолжали появляться (без указания оригинальных авторов): игра под названием WAR, которая эволюционировала в многопользовательскую DECWAR и популярную MegaWars (от CompuServe); AppleTrek, которая вышла на Apple II; версия для компьютеров Tandy, выпущенная RadioShack. Наиболее технологичная версия, которая добавляла 3D бои, вышла на Atari в 1979 году под названием Star Raiders. Будучи одной из самых узнаваемых игр на этой платформе, она послужила прародителем таких игр, как Elite и Wing Commander, которые стали ярким примером для последующих космических симуляторов. Даже официальные игры по вселенной Star Trek, которые были выпущены Paramount, не оказали такого влияния на становление жанра.

Геймплей Wing Commander 1
Геймплей Wing Commander 1

Super Star Trek не была самой продвинутой или глубокой игрой десятилетия. К примеру, версия игры, которая была создана Уильямом К. Чаром в 1973 году, добавляла длинные диалоги с командой и новые команды, которые позволяли совершить, например, выброс ядра варп-двигателя или опробовать неоднозначные маневры из оригинального шоу, например, Корбомитный маневр Кирка. Существовало множество других игр разной степени глубины, созданных по вселенной Star Trek, однако почти все они были утеряны. Программы Мэйфилда и Лидома, напротив, стали примером для подражания. Послужило этому то, что игры поймали два попутных ветра. С одной стороны, они были достаточно глубокими и интересными. С другой, программы были короткими — код можно было напечатать в журнале или книге. В ту эпоху этот способ дистрибуции все еще преобладал над другими. Код игры занимал около 500 строк. Это была самая длинная программа в книге BASIC Computer Games. Пришлось уменьшать шрифт, что сделало программу практически нечитаемой. Однако она поместилась. Если бы код был длиннее и не уместился в книгу, игра никогда не смогла бы достичь широкой аудитории.

Команда корабля USS Enterprise
Команда корабля USS Enterprise

Это был ни первый, ни последний раз, когда технические ограничения влияли на сложность реализации игры и ее глубину. Однако Super Star Trek стала одной из последних игр, которые зависели от ограниченного числа страниц в книге и размера шрифта. Вскоре игры отправились туда, где не требовался принтер для их печати.

Вы можете поиграть в порт игры для Commodore 64, который вышел в 1980 году. В этой игре присутствуют звуки и графика, однако это одна из самых близких к оригинальной версии программ. Кроме того, можно попробовать запустить оригинальный код игры на BASIC с помощью Vintage BASIC. Выражаю благодарность Interner Archive за детальный разбор истории эволюции игры, написанный Мори Марковиц. В прошлом году я делал детальный разбор исходного кода игры. Вы можете оценить статью, если вам нравятся такие вещи.

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

В следующий раз мы поговорим про игру со скромным названием dnd.

3434
4 комментария

В какой то из очень похожих стар треков я играл в 84 году на Агате.
Это было абсолютно потрясающее ощущение даже с учётом того, что я понятия не имел, что такое Стар Трек.

2

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