Полная история создания легенды компьютерных игр. Elite (1984). Часть 1

Полная история создания легенды компьютерных игр. Elite (1984). Часть 1

За основу я взял оригинальный текст книги «The Backroom Boys: The Secret Return of the British Boffin» (автор Francis Spufford), о которой узнал случайно. «Backroom Boys» – в Британии индустриальной эпохи так называли гениальных инженеров, которые трудились в «продуваемых насквозь зданиях на задворках фабрик», и изобрели технологии будущего.

Одна из глав посвящена созданию Elite по воспоминаниям авторов – Дэвида Брабена и Йена Белла.

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

С моей стороны получился несколько вольный перевод, заранее прошу прощения за неточности. Буду благодарен за комментарии и правки. Для поклонников «Элиты» я размещу ссылку на сайт Йена Белла, где есть авторские материалы, исходники, порты для разных ПК, новелла «Тёмное колесо» Холдстока, и даже рок-опера по мотивам «Элиты», созданная братом Йена.

Итак, мы начинаем…

На Рождество 1981 года восемнадцатилетнему парню из Эппинга (небольшой торговый город в районе Эппинг-Форест в графстве Эссекс) родители подарили компьютер.

Депутаты, пилоты и министры боролись за миллионы, в которых нуждалась Concorde (британо-французский сверхзвуковой пассажирский самолёт), а вот Acorn Atom Дэвида Брабена стоил всего 120 фунтов стерлингов. Он знал это, потому что попросил о нем. Его мама и папа решили узнать, что он хочет, и он выбрал машину, которая подходила по стоимости для рождественского подарка.

<i>Реклама Acorn Atom</i>
Реклама Acorn Atom

За эту сумму он получил «рассыпуху» - комплект для самостоятельной сборки. В нем была материнская плата с процессором Mostek 6502, кабели, корпус-клавиатура. За 170 фунтов можно было купить Atom в собранном виде. А если бы у его родителей имелись 335 фунтов стерлингов, он мог рассчитывать на преемника Atom, знаменитый бежевый микрокомпьютер BBC, который в конечном итоге стал продаваться миллионами экземпляров в Великобритании.

<i>BBC Micro</i>
BBC Micro

В Атоме использовался тот же процессор, что и в BBC Micro, но медленнее, и у него было принципиально такое же внутреннее устройство. А Брабен хорошо обращался с паяльником, как и многие любители компьютеров того времени, у которых был ограничен бюджет.

К подарку он потратил свои карманные деньги на оперативную память, чтобы увеличить скудные 2K, входящие в комплект. В итоге, когда он подключил готовую машину к телевизору, он мог заставить ее делать почти все то же, что и BBC Micro.

По нынешним меркам это «всё» – совсем немного. Мышка еще не была привычным элементом управления. Не было такого понятия, как «рабочий стол» и иконки, которые открывали программы по клику. GUI были только проектами. Лишь в 1984 году Apple встроила графический интерфейс в Lisa, а затем в Macintosh, и сделала мышь и иконки обычными для пользователей. Microsoft в то время была всего лишь маленькой компанией из Сиэтла.

В 1982 году не существовало дешевого жесткого диска, на котором пользователи могли бы хранить свои документы и ПО. Программы приходилось загружать в Атом с магнитофона. Причем всякий раз приходилось делать это заново, потому что при каждом выключении компьютера его память стиралась.

Единственное место, где что-либо постоянно хранилось в Atom, была его микросхема ПЗУ. Небольшой блок постоянной памяти содержал операционную систему Acorn, которая не позволяла машине быть просто мертвой железкой, сообщая различным компонентам, как общаться друг с другом. Он управлял потоком информации через процессор, отслеживал нажатия клавиш и передавал видеосигнал на телевизор, так что на экране отображались строки текста и примитивная графика.

Так же в ПЗУ находился интерпретатор BASIC. Он был разработан в 1960-х годах как инструмент для обучения программированию. Его различные версии были стандартом почти для всех домашних ПК.

ОС и Бейсик давали все необходимое для написания и запуска собственных небольших программ. С машиной поставлялось краткое руководство по языку. Оно включало примеры программ для начала работы. Не было ни текстового процессора, ни наворотов, ни игр. Когда вы включали Atom или BBC Micro на экране телевизора появлялось только это:

BASIC
>

<i>Экран Acorn Atom</i>
Экран Acorn Atom

И ничего больше. Все остальное нужно было делать самому. Отчасти, благодаря сериалу «Компьютерная программа» (в 1982 году шел на канале BBC2), который стал хитом, тысячи людей начали писать свои программы. Конечно, на рынке были и другие машины, помимо Acorn. BBC Micro был довольно дорогим. И если вы были готовы пожертвовать надежностью и качеством сборки, вы могли бы потратить примерно в три раза меньше денег, и купить Sinclair ZX Spectrum, также выпущенный в том же году. Сеть магазинов Radio Shack продавала TRS-80 (серия микрокомпьютеров компании Tandy). Флагман Apple до появления Macintosh – Apple II, был основным продуктом для любителей.

Все эти компьютеры разделяли одну и ту же концепцию - «сделай сам», когда компьютеры являются объектами, с которыми и для которых вы что-то делаете, а не наоборот.

Это был своего рода фальстарт в истории вычислительной техники. Зрители, которые жадно смотрели «Компьютерную программу» раз в неделю на BBC2, знали, что происходит что-то революционное. Грядут великие перемены, как обещано в таких книгах, как «Могучий Микро» Кристофера Эванса (1979). И хотя некоторые конкретные пророчества о будущем оказались несостоятельными — Эванс сказал, что к 1990 году печатная книга исчезнет, а юристов заменят экспертные системы, — большинство из них оказались точными. В миллионах домов появятся компьютеры, более мощные, чем самые большие мэйнфреймы 1970-х годов. Электронная почта станет самым большим шагом вперед в коммуникации со времен изобретения почтовых марок. В чем ожидания 1982 года не оправдались, так это в предположении, что этот яркий новый мир все еще будет миром доморощенного программного обеспечения.

BBC Micro процветала, поскольку домашний компьютер получил заметное влияние на умы покупателей. Большая часть программ была написана обычными пользователями, некоторые можно было купить на аудиокассетах, а некоторые можно было записать с телевизора, когда в сериале «The Computer Program» транслировали программу на Бейсике в виде мучительного звукового воя.

Период длился недолго, но он был богат возможностями для творчества энтузиастов. Возникла совершенно новая британская индустрия, которая добилась такого успеха на глобальном рынке, какого не было с 1870-х годов, когда Англия производила 40% механизмов в мире. Эта отрасль не требовала огромных капиталовложений: ей не нужны были сталелитейные заводы, аэродинамические трубы или гигантские аппараты для испытаний, что делало ее идеальной для подъема британской экономики в начале 1980-х годов. В материальных активах требовалось совсем немного. Начать можно и с Acorn Atom за 120 фунтов стерлингов.

Если вы обладали складом ума, как у Дэвида Брэбена, то безмолвие машины, когда вы ее включали, было многообещающим, а не разочаровывающим. Компьютер будет делать все, что вы захотите, все, что вы можете придумать. Любую информацию можно преобразовать так, как вы укажете. По команде он мог стать чем угодно: сортировщиком, калькулятором, генератором случайных чисел, создателем зеркального отображения.

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

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

Он мог бы конструировать самолеты на Атоме, если бы захотел. Сведенный к своей математической сущности, летающий самолет — это всего лишь набор соотношений между подъемной силой, тягой и сопротивлением, управляемый уравнениями, которые полностью находятся в рамках универсальной машины. У него могли быть самолеты, он мог бы иметь и космический корабль, если бы захотел. Помогло то, что ему было всего восемнадцать. Как он сказал мне, когда я брал у него интервью зимой 2001 года, у него не было никаких обязанностей, кроме школьных заданий для его A-level. Он мог погрузиться так глубоко, как хотел, и так долго, как хотел. Был и психологический аспект. В маленьком пространстве программы у него было то, что большой мир редко дает восемнадцатилетним: возможность самому все контролировать и сделать так, чтобы инструкции четко выполнялись. Он сам решал, сказать «да» или «нет». Это была небольшая, но реальная сила.

Назад-вперед. Ты-он, ты-он, ты-он, следуя определенному набору правил, которые определяют, какие действия законны, а какие нет. Вопрос: что это? Ответ: игра.

<i>Автомат с игрой Pong</i>
Автомат с игрой Pong

К 1982 году видеоигры существовали уже десять лет, если считать с рождения Pong, первой аркадной игры, или двадцать, если считать с ночи 1962 года, когда впервые была запущена Space War на PDP-1 в Массачусетском технологическом университете.

Но в 1982 году большинство видеоигр поставлялось либо в больших игровых автоматах, либо на картриджах для американской консоли Atari. Ни в том, ни в другом случае вы не могли бы написать для них свои собственные программы, если не работали на производителя. Это понимал парень с правильным складом ума в Сент-Олбансе (город в южной части английского графства Хартфордшир, примерно в 30 км севернее Лондона) и доступом к полноценному компьютеру.

Йену Беллу было девятнадцать. Как и Дэвид Брабен, он собирался осенью в Кембридж, чтобы получить степень, но сначала у него был годичный перерыв между школой и университетом. Он работал в офисе своего отца в Malaysian Rubber Producers’ Research Association (исследовательской ассоциации производителей каучука). В течение дня он следил за работой микрокомпьютера, который управлял испытаниями на образцах каучука. А в 17:30, когда лаборатория пустела, он уже мог не думать о программах для растяжения, скручивания и сжатия и делать то, что могло компенсировать разочарование, которое он испытал в компьютерном классе своей школы.

Там всегда стояла очередь за четырьмя TRS-80, и большую часть программирования приходилось делать на бумаге — бездуховные и туповатые действия по сравнению с реальным общением с машиной. В нерабочее время компьютер фактически принадлежал ему одному. По крайней мере, до 19:30 или около того, когда отец заканчивал работу, и они ехали домой ужинать. Поначалу он играл в Space Invaders.

Но он быстро ее бросил. Если бы так делали и другие, производители игровых автоматов никогда не получили бы столько 10-пенсовых монет, чтобы выжить. Для большинства людей Space Invaders была не странным опытом: это одна из первых видеоигр, продемонстрировавших, что игрока можно вовлечь в бесконечный и однообразный процесс.

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

Первой стала компьютерная версия настольной игры «Othello» (реверси). Начинающие программисты часто стартовали с переноса настольных игр на ПК, т.к. правила были строгими, и задача ограничена.

Два игрока по очереди ставят белые или черные фишки надоску размером восемь на восемь клеток. Если ваши фишки окружают противника,все они переворачиваются и меняются на ваш цвет. Игрок с наибольшим количествомфишек своего цвета на доске побеждает в игре.

<i>Реверси для BBC Micro</i>
Реверси для BBC Micro

Однако, чтобы заставить игру работать на компьютере, требовалось решить несколько задач: как отобразить черно-белые фишки и доску, как красиво показать переворачивание, как создать алгоритм, который превращал бы компьютер в сильного соперника.

Конечно, тогда уже существовала литература по программированию графики и алгоритмированию, но ее не было в здании MRPRA в Викенденбери, так что Йену Беллу пришлось все придумывать самому.

Не имело значения, что Йену Беллу было всего девятнадцать. Его «Отелло» работала, и имела такое же значение, как и любая другая новая программа на почти пустом рынке. На самом деле, когда он начал просматривать кассеты с существующим развлекательным программным обеспечением 1982 года, ему показалось, что его игра лучше, чем большая часть из них.

Дэвид Брэбен сделал такое же открытие. На доработку Atom он потратил свои карманные деньги, и не мог позволить себе купить Acorn's Games Pack. Спустя пару месяцев он обнаружил, что сделанные им игры намного лучше, чем официальные программы от Acorn:

«Я был так разочарован! Я не хочу быть грубым, но они действительно были дерьмом...»

Ход последующих мыслей был таким:

  • Эти игры – дерьмо, но продаются за деньги.
  • Мои игры – не дерьмо.
  • Поэтому мои игры могут продаваться за деньги.

Это был момент откровения, как философского, так и коммерческого.

Но для того, чтобы сделать с машиной что-то такое, за что другие люди будут платить, нужно было использовать все возможности компьютера. BASIC был прекрасным инструментом для изучения программирования или создания простого программного обеспечения. Но программы в нем занимали слишком много памяти, и он был ужасно медленным. Проблема в том, что Бейсик – это интерпретатор.

Предположим, у вас есть строка кода BASIC:

20 LET C=2*3.14159*R

Когда компьютер выполнял его, порядок распознавания был таким:

  • 20 - число, идентифицирующее строку в программе.
  • LET - допустимая команда в наборе инструкций BASIC.
  • Знак равенства - как способ создания нового значения C путем умножения значения R, которое уже было известно.

Затем, как только интерпретатор «понял» каждую из отдельных частей строки, он искал эквиваленты для каждой инструкции в подпрограммах языка низкого уровня, который «понимал» процессор компьютера.

Чип выполнил умножение и передал ответ Бейсику, который затем не торопясь перешел к следующей строке. Удобство Бейсика заключалось в том, что он позволял пользователю игнорировать все промежуточные действия. Вам не нужно было точно знать, как процессор приступает к умножению, вам не нужно было знать, где в памяти хранится значение R. Но платой за удобство становились скорость и используемый объем памяти.

Поэтому для создания крутых программ нужно было писать не на Бейсике, а на ассемблере. Или переводить программы с Бейсика на ассемблерный код. Он не был «родным» языком процессора — это был машинный код, чистые бинарные команды. Но ассемблерный код был ближе всего к командам процессора.

Если вы хотели запомнить число, вам нужно было точно указать, в какое из 16 384 возможных мест в 16-килобайтном блоке ОЗУ вы хотите его поместить. Если нужно умножение, вы должны были провести машину через каждый этап этого действия. Внезапно вы начинали отвечать за весь поток очень простых команд, которые позволяли компьютеру функционировать: переместить, сохранить, сравнить. Все масштабное, чего вы хотели достичь, возникало из потока крошечных движений, каждое из которых должно было быть точным.

Ассемблерный код выглядел так:

2220LDY#16:JSRTAS3:EOR#128:AND#128: ORA#3:STAINWK+30 2235LDAINWK+29:AND#127:CMP#16:BCSTA6 2240LDY#22:JSRTAS3:EORINWK+30:AND#128: EOR#&85:STAINWK+29

По сравнению с понятной программой на Бейсике, ассемблерный код сливался в гигантскую мешанину букв и цифр. Для каждой строки на Бейсике требовалось как минимум пять строк ассемблерного кода. Написание кода на ассемблере было долгим, медленным и кропотливым делом. Если программирование на BASIC было похоже на сборку конструктора из готовых деталей, то программирование на ассемблере больше походило на сборку модели подвесного моста из спичек.

Тем не менее, если вы все делали правильно, ваша программа (по выражению Дэвида Брэбена) «неслась, как ветер». Софт не просто работал чуть быстрее, а в десять раз быстрее. Внезапно ваш компьютер становился неизмеримо мощнее. Мощнее, чем подозревало большинство пользователей, и, возможно, даже мощнее, чем подозревали его производители.

Какой вариант языка ассемблера использовать, определялся не архитектурой вашей машины, а процессором. Если вы использовали набор инструкций для Mostek 6502, программу можно было бы заставить работать на любой машине, имеющей этот процессор. Большая часть всех микрокомпьютеров на рынке в то время использовали именно его, начиная с Acorn Atom и BBC Micro и заканчивая Apple II, на котором программировал Йен Белл в лаборатории исследования каучука. Поэтому код был портируемым, как и программы на Бейсике.

«Отелло» Йена Белла, написанная на языке ассемблера 6502, работала так быстро, что ему пришлось искусственно его замедлять. В противном случае каждый раз, когда вы ставили фигуру на доску, компьютер возвращал свой ход — «бип!» – прежде чем вы даже успели убрать палец с клавиши. Это выглядело жутко и портило иллюзию того, что вы были вовлечены в скрытую битву умов. Он ввел паузу, во время которой вообще ничего не происходило, но которую игрок-человек мог интерпретировать как компьютерное мышление. Затем он отправил чистую копию своего кода в Program Power (компанию-разработчика ПО, на тот момент занимающую высокие позиции на рынке игр).

Случилось так, что к разработчику попало сразу две версии Отелло. Program Power сравнила две программы, чтобы понять, какая из них лучше. Соперник победил Йена Белла за счет более продвинутых уровней сложности. Не удивительно, учитывая, что Йену пришлось придумывать все игровые стратегии наобум. Но его программа лучше работала на уровне новичка, с которого стартовало большинство игроков, и она работала быстро и плавно. Program Power объявили, что планируют выпустить оба варианта.

Воодушевленный этим — и успехом старого школьного друга, получившего 500 фунтов стерлингов от подразделения программного обеспечения Acorn за адаптацию аркадной игры под названием Thrust — он начал работу над новой игрой, у которой вообще не было предшественников. В Free Fall игрок будет управлять маленьким анимированным астронавтом, который перемещается внутри вращающейся космической станции и сражается с инопланетянами, которые появляются с эффектом, похожим на мерцание транспортера в «Звездном пути».

Это было посерьезнее «Отелло». Предстояло многому научиться: звуковые эффекты, правила стрельбы из оружия, алгоритмы обнаружения столкновений (чтобы компьютер знал, когда астронавт врезается в стену космической станции), правила управления нарастающим темпом (так что игра постепенно становилась все быстрее и сложнее). И по мере того, как он работал над этими вещами и критически оценивал игры других людей, он начал думать об условностях, которые управляли бизнесом детских игр.

Свободное падение должно было быть довольно обычным — одного прыжка вперед было достаточно — но почему, например, всегда должен был быть счет? Игры должны были приносить удовольствие, и оценка в верхнем левом углу экрана, безусловно, была одним из способов измерения того, насколько весело вы получали удовольствие. Но почему это должен быть единственный путь? Почему все впечатления, которые может дать вам компьютерная игра, должны направляться по одному и тому же каналу и структурироваться так, чтобы их можно было оценить в цифрах?

Если рассматривать это с функциональной точки зрения, размышлял он, то компьютерная игра, в которой основное внимание уделяется получению большого количества очков, на самом деле является чем-то вроде устройства Хита Робинсона (машина для взлома шифров во время Второй мировой войны). Чтобы увеличить это число, игра предоставила вам безумно сложный интерфейс, сплошные веревки, шкивы и множество рычагов. Должны быть и другие способы, способы, которые подчеркивали бы целостность игрового опыта как такового. В реальной жизни нет меняющегося числа в углу, которое каждый раз бы росло, когда вы успешно перешли дорогу… Короче говоря, у него начали формироваться твердые взгляды на «геймплей»: термин, который труднее всего описать. Это не зависит от того, как выглядит игра, хотя некоторые игры с богатой графикой радуют глаз. Это термин для обозначения интуитивного удовлетворения.

Тем временем в Эппинге, Дэвид Брабен решил, что из всех вещей, которые можно реализовать на микрокомпьютере, ему больше всего интересны космические корабли. Первой была игра про ядерную войну, основанная на классической аркадной игре Missile Command. Победил тот, кто вызвал наибольшее количество мегасмертей.

«Я был молод. Во всяком случае, это мое оправдание»

Но теперь он начал интересоваться воображаемым пространством за экраном. Тогда в большинстве игр экран рассматривался как плоскость, где происходят двухмерные события. В Space Invaders инопланетяне маршировали от верха экрана к низу; космический корабль в Defender летал слева направо. Но теоретически не было причин, по которым вы не могли бы рассматривать экран как окно в трехмерную область. Во-первых, нужно было представить блок трехмерного пространства прямо за стеклом: маленький театр с экраном в качестве прозрачной передней стены. Любая точка там может быть расположена с тремя координатами назад — координаты x, y и z, которые Дэвид Брабен использовал в математике в школе при рисовании трехмерных графиков. Если вы хотели поместить в пространство целый объект, а не точку, нужно было просто определить координаты для каждого из углов объекта. Для пирамиды потребуется четыре набора координат, для куба — восемь.

Затем геометрия усложнилась, потому что, в конце концов, там не было никакого реального пространства, только электронно-лучевая трубка семейного телевизора. Он пытался добиться иллюзии трехмерного объекта на двухмерной поверхности, а это означало, что вычисленные им координаты x, y и z должны были быть искажены в соответствии с правилами перспективы. Они были сформулированы художниками эпохи Возрождения, которые пытались зафиксировать иллюзию глубины на побеленных монастырских стенах с помощью краски на основе яичного желтка. И они работали так же хорошо для пикселей.

Было непросто написать алгоритмы для управления искажением, особенно если вы хотите, чтобы ваши объекты двигались с полной свободой во всех измерениях. Трехмерная танковая игра от Atari под названием Battlezone стала хитом игровых автоматов в 1981 году. Она позволяла вам ездить по темной арене, охотясь на вражеские танки, которые, как и ваши собственные, представляли собой каркасные «коробки» – точки, соединенные линиями. Из них получался простейший скелет танка.

На самом деле, Battlezone была глубоко захватывающей. Ее успех заключался в том, что игроки стремились поверить в иллюзию существования целого правдоподобного мира из светящихся зеленых линий «танков» и «земли» под ними. Армия США использовала Battlezone для подготовки экипажей настоящих танков. Но Battlezone на самом деле предлагала только двухмерную свободу, хотя и не такую плоскую, как обычные видеоигры. Вам позволялось управлять поворотами танком влево и вправо, но вверх и вниз не использовались. На горизонте виднелись очертания гор, но они никогда не приближались, вы не могли подняться на них.

Необходимо было открыть третье измерение, если вы хотели, чтобы ваши каркасные творения имели настоящую свободу маневра. Вот почему Дэвид Брабен думал о космических кораблях. Но не о таких, как ракеты NASA или «Черная стрела», которые двигаются по единственно возможной траектории. Это будут космические корабли мечты, наподобие тех, на которых летал Люк Скайуокер в «Звездных войнах», которыми можно было направиться к любой планете или Звезде Смерти. Идеальные машины для путешествий. Ковры-самолеты для всех трех измерений.

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

3D-графика сегодня — обычное дело. Такие игры, как Unreal или Quake, создают свои объекты на экране, непрерывно отслеживая меняющиеся очертания сотен тысяч маленьких геометрических фигур. Скоро количество будет исчисляться миллионами. В 1982 году пространство за экраном было новой территорией. Пионерская работа, от которой в конечном счете зависели сложные эффекты Quake и Unreal, впервые выполнялась такими людьми, как Дэвид. Возможно, он сэкономил бы время, если бы смог изучить код Battlezone. Но он был недоступен в Эппинге, равно как и литература по стратегии для Йена Белла в лаборатории исследования каучука.

Он решил, что сейчас ему лучше сконцентрироваться на одной части цепочки процессов и заняться проблемой построения и отображения кораблей в 3D, с разных ракурсов, оставив движение на потом. А пока он придумывал, как построить космический корабль, в который можно было поверить, из простых кубов и прямоугольных параллелепипедов — возможно, с прикрепленными тут и там пирамидами с квадратным дном, чтобы придать гламурный, обтекаемый профиль.

Алгоритмы для этого были сложными. По крайней мере, они были сложными поначалу. Они представляли собой задачу, которую можно решить, когда точно определено, что должно произойти. Можно разбить задачу на части и решить каждую из них, прежде чем объединить их все вместе. Настоящая проблема заключалась в том, чтобы заставить компьютер реализовать это решение. Конечно, он уже писал на ассемблере 6502. Если бы он попытался работать на Бейсике, то заполнил бы память Атома еще до того, как что-то произошло. Но даже на ассемблере программа замедлялась до мучительного, прерывистого ползания, когда Атом пытался отобразить свою графику на экране. Когда программа генерировала инструкции для экрана, она передавала их подпрограмме трассировки в операционной системе Acorn, и там они натыкались на узкое место. Acorn был недостаточно быстрым. Ничего другого не оставалось, кроме как улучшить алгоритм.

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

Полная история создания легенды компьютерных игр. Elite (1984). Часть 1

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

Ради интереса Дэвид добавил элемент игры. Корабли появлялись в разных точках воображаемого трехмерного пространства: наведите на них несколько подвижных перекрестий, и вы могли нажать на них, чтобы они снова исчезли. Он назвал демо «Fighter». Пришло время показать кому-нибудь. Немного подумав, он выбрал EMI. В то время компания была известна как Thorn-EMI, конгломерат, производивший лампочки и телевизоры наряду со своим музыкальным бизнесом, и было известно, что она заинтересована в выходе на новый рынок домашнего программного обеспечения. И действительно, Thorn-EMI согласилась взглянуть. Ему не нужно было идти в компанию. К нему домой пришел представитель, потому что в 1982 году бизнес привык к идее поиска новых продуктов.

Представитель взглянул на демонстрацию… его глаза расширились. Никто другой не делал ничего подобного этому. Но когда представитель попросил подробно рассказать о технологии, то забеспокоился, что демо привязана к конкретному оборудованию Acorn, и «зависит от платформы». Кроме того, игровая сторона Fighter была на зачаточном уровне.

В EMI решили, что сделки не будет, но… не хочет ли он на них поработать? Заманчиво, и хотя это был мгновенный путь во взрослый мир, Брабен сказал, что ему лучше сначала поступить в колледж. Представитель сказал: хорошо, оставайтесь на связи, молодой человек.

Таким образом, никакой оплаты за его недерьмовые усилия. Ни копейки с небес, которые можно было бы взять с собой в университет и потратить на китайскую еду и лучший комп. Черт.

В октябре 1982 года в Кембридже начался Михайловский семестр (длится до Рождества). Дэвид Брабен и Ян Белл встретились. Две семейные машины въехали в колледж Иисуса и выгрузили подростков, настольные лампы, кофейные кружки, банки Nescafé, картонные коробки, полные научно-фантастических романов в мягкой обложке, и множество пар чистых носков. У двух семей состоялся разговор, который всегда заканчивается словами нового ученика: «Да, я обещаю, что позвоню, если что-то пойдет не так. Честное слово, со мной все будет в порядке.»

Брабен закрыл за собой дверь своей новой комнаты, и осторожно поставил свой Атом на стол. Отец Белла обещал новый BBC Micro, но Acorn медлил с его доставкой.

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

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

Студенты-искусствоведы ценили словесное мастерство и искали сложность, которая делала их занятия увлекательными, в лесу непредсказуемых связей, которые непрестанно возникали в юриспруденции, истории, литературе или антропологии. В свободное время они ставили спектакли, пили дешевое болгарское вино и протестовали против госпожи Тэтчер. О, и занимались сексом, не беспокоясь о том, что их родители услышат их через стену спальни. Для них способ, которым ученые получали свою помощь в сложности, копаясь в фактических костях вселенной, был недосягаем. У них не было математических способностей, чтобы увидеть это. Кроме того, это казалось безнадежно серьезным и скучным. Независимо от того, занимались ли студенты естественных наук на самом деле естественными науками — кембриджской комбинацией физики, химии и биологии, сокращенно «natsci», — они все считались в толпе гуманитариев «natskys». Дэвид Брэбен изучал естественные науки, Ян Белл был на курсе математики. Ни один из них не ходил даже близко к факультету компьютерных наук, который, как они высокомерно, но верно решили, не давал им ничего полезного.

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

В 1982 году популяризация науки еще не зародилась в Британии как культурное явление. Никакой теории хаоса как универсального ориентира, эволюционной биологии, поскольку Ричард Докинз и Стивен Джей Гулд тогда только начинали оставлять свой след в общественном сознании. Никакая космология а-ля Стивен Хокинг не использовалась в качестве современной замены религиозным истинам.

Вы бы не нашли французского литературоведа, писавшего о киберпространстве в 1982 году, точно так же, как и о канализации. Компьютеры не были модными. Результатом всего этого было то, что то, чего Брабен и Белл достигли вместе, пока они были в Кембридже, было фактически невидимым: невидимым для всех, кто занимается гуманитарными науками, как само собой разумеющееся, и невидимым для всех, кто занимается естественными науками, за исключением нескольких друзей, которых они допустили к своему секрету.

Среди развлечений ученых были игры в стиле настолки Dungeons&Dragons. Линии на миллиметровой карте показывают изгибы и повороты подземного лабиринта, похожего на Копи Мории во «Властелине колец». Персонаж, который создавался с помощью нескольких бросков десятигранной или двенадцатигранной кости, мог быть волшебником или эльфом, священником или воином.

Врагами были орки или тролли. Но тот же набор правил, который давал возможность проникновения внутрь миров Толкиена, можно использовать для других историй –интерактивных, например, научной фантастики. Вместо того, чтобы рисовать подземелье намиллиметровой бумаге, картограф того вечера — «мастер подземелий» — мог начертить пару звездных систем с планетами, лунами и скрытыми базами.

Полная история создания легенды компьютерных игр. Elite (1984). Часть 1

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

Дэвид Брабен был поклонником «Space Opera», а Йен Белл предпочитал «Traveller». Единственной ролевой игрой, в которую они играли вместе, была стандартная настолка в стиле «wizards ’n warriors orc-’em-up», действие которой происходило под землей. Но они заговорили об играх по мотивам научной фантастики, и возник неизбежный вопрос: почему бы не использовать компьютер, чтобы поместить игрока в космос с погружением, которого никогда не достичь с помощью карандаша и бумаги?

Космос был очевидной следующей целью для видеоигр. Спрос был очевиден: были тысячи таких же звездных пилотов, как они сами, но без навыков программирования. Соответствие графическим технологиям также было очевидным. «Если вы собирались делать 3D-игру, — говорит Белл, — это должен быть космос. Это проще всего, потому что в космосе ничего нет. Все, что вам нужно сделать правильно, это мерцание звезд на фоне пустоты, и окружающая среда уже убедительна. Таким образом, космос был одновременно и наиболее осуществимым с точки зрения 3D, и наиболее желанным. Ян Белл только что закончил Freefall, и был свободен для нового проекта.

Дэвид Брабен предложил сотрудничество: реализовать свой опыт ролевых игр с помощью компьютера. Характерно, что он был уверен в успехе. И не менее характерно, что Белл был уверен гораздо меньше. «Я не был уверен, что это сработает, — сказал он мне. «Я не думал, что это не сработает, я просто не был уверен, что это сработает».

Его беспокоило, что такая явно привлекательная идея еще не была реализована. Часть его все еще полагала, что где-то должны быть взрослые программисты, которые давно бы это сделали, если бы это вообще было возможно.

«Никто другой этого не делал. Я имею в виду, что никто другой не делал ничего подобного. Тот факт, что никто вообще этого не сделал, немного смущал. Но то, что никто даже не попробовал, было еще хуже. Не было даже очень плохой, но работающей идеи. Что, похоже, указывало на то, что будут серьезные проблемы».

Конечно, он видел странную игру, в которой космос использовался в качестве сцены. «На Atari была игра под названием Space Raiders, которая по сути была стрелялкой. У вас был прицел на экране, который вы перемещали влево и вправо, вверх и вниз, и эти вещи появлялись перед вами и увеличивались. Если ты не стрелял в них, они исчезали и никогда больше не беспокоили тебя. ‑— Это ни на что не влияло — кроме, — язвительно добавил он, — счета. Но игр, которые давали вам свободное перемещение в пространстве, которые погружали вас в правдоподобную космическую среду, не было ни одной. Тревожный звоночек.

Брабен попытался убедить Йена, и дал ему свою демонстрацию трехмерных кораблей, чтобы тот мог посмотреть ее во время рождественских каникул. Потребовались некоторые усилия, чтобы перенести данные с кассеты Брабена на дисковод Йена, и затем выяснилось, что в процессе копирования каким-то образом непреднамеренно 255-я строка кода в файле попала не на свое место. Это была эпоха, когда аппаратное обеспечение иногда теряло, пропускало или искажало доверенное ему программное обеспечение.

Но когда демо наконец заработала, Белл обнаружил, что очарован задачей заставить корабли двигаться. Он научил их сначала вращаться, а затем скользить по экрану, сохраняя правильную перспективу. Когда он вернулся в Кембридж весной 1983 года, то привез с собой код «аквариума», в котором изящно плавали маленькие «косяки» ракет. Партнеры были в деле.

Автор: wilelf

Больше интересных статей в нашем блоге на Хабре.

Хочешь стать автором (или уже состоявшийся автор) и есть, чем интересным поделиться в рамках наших блогов — пиши в Телеграм, обмозгуем.

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

Интересно, спасибо! Но написано языком для дебичей каких-то. Много воды и банальщины)

6
Ответить

Просто плохо вычитано и дофига промпта, возможно мозгового.
А написано на самом деле как худ лит, причем такой с претензией, на пдф нечасто встретишь такое.

1
Ответить

Спасибо! Грузил элиту на спектрум с ram в грандиозные 48 килобайт с русского магнитофона джазз и был счастлив )

3
Ответить

150-8к герц
я думал только я был обладателем этого хлама

1
Ответить

Читать долго, но я осилил, было интересно. Жду продолжения

1
Ответить

Спасибо большое за перевод

1
Ответить

эта ебала если зацепит надолго

Ответить