Как Ричард Гэрриот занялся играми

перевод
PatientZero 17 октября в 10:49 8k
Оригинал: David L. Craddock
image

Ричард Гэрриот воспринимал как само собой разумеющееся, что родители любого ребёнка его возраста летали в открытый космос. Для него это было обычным делом. «Так было, пока я не пошёл в Техасский университет, где я встретил людей, которых сейчас могу описать как „жители улицы Сезам“», — рассказывает он.

«Я никогда особенно не думал о людях, смотревших »Улицу Сезам", как о своих соседях, пока нам не пришлось переехать в Остин. Тогда я осознал: «Постойте-ка. Моё детство в НАСА было фантастикой, а фантастика „Улицы Сезам“ была на самом деле реальностью». Для меня это был довольно сильный культурный шок".

Хоть Гэрриот и родился в 1961 году в Кэмбридже (Англия), основной этап формирования личности пришёлся на жизнь в Хьюстоне, штат Техас. Его жилой район практически был продолжением Космического центра имени Линдона Джонсона, хьюстонской базы НАСА. Большинством его соседей стали астронавты, подрядчики и инженеры НАСА. Среди них был Джо Энгл, один из первых астронавтов, присоединившихся к программе запуска пилотируемых летательных аппаратов «Спейс шаттл», и Роберт Гибсон, более известный друзьям под именем Хут. Он был в команде астронавтов STS-27, которая всего за четыре дня сделала 68 витков вокруг Земли.



Из всех космических путешественников, с которыми приходилось встречаться Гэрриоту, ни один не внушал ему большего благоговения, чем его отец. В 1973 году НАСА выбрало Оуэна для участия в Skylab 3, втором пилотируемом полёте на первую американскую космическую станцию Skylab. Он отсутствовал 60 дней. Внизу, на земной тверди, его жена Хелен и четверо его детей следили за ним через громкоговоритель односторонней системы связи. В динамиках Хелен с детьми могли слушать сеансы связи, передаваемые из открытого космоса. «Мы даже принимали правительственные совещания, поэтому не были шокированы, когда услышали о неисправностях», — вспоминает Ричард.

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

Сил Хелен Гэрриот хватало не только на то, чтобы справляться со всем хозяйством, пока её муж работал на земле (и над Землёй). Когда её детям нужна была помощь с их проектами — например, со строительством домика на дереве или с возведением индейского типи — Хелен закатывала рукава. Кроме обладания многими другими талантами, Хелен была профессиональным художником и мастером на все руки в разных видах искусства. Каждое лето она обучала Ричарда новой форме искусства: в один год рисование, во второй — гончарное дело, и дошла до того, что научила его собирать фонтаны и показала азы серебряного дела.

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

Волшебные машины


Незадолго до перехода Ричарда в старшую школу НАСА дала Оуэну новое задание. До ответа на приглашение НАСА в 1960-х Оуэн изучал в Стэнфорде электротехнику. Теперь его работодатель пожелал, чтобы он вернулся на год в аспирантуру. Семья упаковала чемоданы и переехала в Пало-Альто (Калифорния), в крупный город рядом с университетом.

Поступив в старшую школу Ганна, Гэрриот обнаружил, что многие из её студентов были потомками людей со стэнфордского факультета. Поэтому школа имела доступ к образцам оборудования, ещё неизвестного остальному миру. Благодаря своим связям школа Ганна обладала чудом прогресса — простым телетайпом, удалённо подключённым к мейнфрейму CDC Cyber, расположенному где-то в другом месте.

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

В конце школьного года обучение Гэрриота-старшего подошло к концу и семья вернулась в Хьюстон. Гэрриота ожидало целое лето скуки. Он только что начал привыкать к работе за терминалом, а теперь пришлось перейти в школу, в которой ничего подобного не было. Оуэн с Хелен заметили интерес сына и устроили его в семинедельный компьютерный лагерь, проводившийся в 1974 году их альма-матер Университетом Оклахомы. «Это было моим первым серьёзным выездом из дома», — говорит он. Нервничая в свой первый день, Гэрриот занял себя распаковкой вещей. В дверь постучали. Открыв её, он увидел толпу детей, поздоровавшихся с ним: «Привет». Он ответил более формальным «Здравствуйте». Засмеявшись, мальчики заявили, что он говорит как британец. С того самого дня они начали называть его Британцем (British).


Ричард Гэрриот

«Как они выяснили позднее, я на самом деле родился в Кэмбридже и у меня был британский паспорт», — рассказывает Гэрриот. «То есть фактически я и есть британец. Но я жил там всего один-два месяца и у меня не было британского акцента. Я рос в Хьюстоне, рядом с НАСА, и все мои соседи приехали из разных стран со всего мира, поэтому ни у кого из нас не было местного южного акцента. Мой неюжный акцент для южан казался настоящим британским. Поэтому они меня так прозвали, но прозвище привязалось ко мне именно по этой причине».

Тем летом Гэрриот и его друзья учились не только компьютерам. Как и многих других подростков, взрослевших в середине-конце 1970-х, их засосало в отчаянный мир Dungeons & Dragons TSR. «В играх D&D моим персонажем стал Лорд Бритиш (Lord British)», — говорит Ричард. «Мы играли целыми ночами, а днём изучали компьютеры и математику».

Обучение Гэрриота закончилось романом. «То лето стало для меня важным в очень многих смыслах», — говорит он. «Впервые я жил далеко от дома, и впервые я жил в общежитии для мальчиков и девочек. Можете представить, что могло произойти за семь недель смешанной программы обучения с кучей старшеклассников, живущих отдельно от родителей».

Два месяца спустя Гэрриот поступил на второй курс старшей школы Клир-Крик и узнал хорошие новости. В школе был простой телетайп. Лето занятий программированием и ролевыми играми наполнило его целеустремлённостью. Он был готов к учёбе, но не преуспевал по большинству предметов, перебиваясь с «тройки» на «четвёрку». Исключением были научные ярмарки. Ещё с детского сада и на протяжении всей учёбы он участвовал в конкурсах с проектами, удивлявшими даже судей. Повзрослев, он начал участвовать в ярмарках районного, государственного и международного уровня, достигнув ещё большего.

Войдя в офис администрации Клир-Крик, Гэрриот внёс предложение, подкрепив его своей доказанной способностью вести самостоятельные проекты. «После возвращения в Хьюстон, я сказал на факультете, что хочу продолжить работу с машиной. В учебном плане не было [программирования компьютеров]. Поэтому я попросил разрешения изучать в качестве иностранного языка BASIC».

Факультет благословил его. В средней и старшей школе Гэрриот с другими студентами, которым разрешили подстраивать учебный процесс под свои сильные стороны, начали собственное путешествие. Наконец-то Гэрриоту удалось найти прекрасный способ реализации своей любви к фэнтези-приключениям и компьютерам. «В этот момент моё обучение компьютерам перешло от восхищения машиной непосредственно к реализации игр на компьютерах. Незадолго до этого жена моего брата дала мне почитать Властелина колец. Я играл в Dungeons & Dragons. Я начинал осваивать необычный телетайп, такой же, который я использовал в Университете Оклахомы. Поэтому я решил создавать игры».

В последние три года учёбы в старшей школе Гэрриот предпринял собственную экспедицию в мир программирования игр. «Если в конце семестра я показывал учителям то, что обещал сделать в начале семестра, они говорили 'Звучит здорово, вот твоя пятёрка'. Именно этим я и занимался. Учился самостоятельно».

Подземелья и драконы


У Гэрриота не было иного выбора, кроме как стать и учителем, и учеником на собственных уроках программирования. Ни один учитель не знал, что можно делать с телетайпом, кроме как включать его и загружать программы. Чтобы пополнить знания, полученные в лагере, он обыскивал витрины киосков в поисках журналов Byte! и Creative Computing, а потом внимательно изучал приведённые там тексты программ. В каждой находился самородок информации, которые можно было добавить в растущий мешок знаний, например, алгоритмы сортировки данных по определённым параметрам.

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

Наряду с самообучением Гэрриот создал дизайн DND1, своей первой ролевой игры. Вдохновлённая «Подземельями и драконами» DND1 была простой бродилкой по подземельям: входим в подземелье, убиваем монстров, собираем сокровища. Телетайпы не могли печатать изображения, поэтому вместо графики он использовал текстовые символы: звёздочки были стенами, пробелы — плитками пола, значки доллара — сокровищами, а заглавные буквы обозначали монстров, например «A» была огромным муравьём.

DND1 получала команды игроков и печатала результаты на рулоне бумаги. В центре сетки, обозначающей подземелье, печаталась крошечная точка — персонаж игрока. В тексте подсказки было написано «Что вы хотите сделать дальше?». Игроки могли двигаться в одном из четырёх направлений, атаковать или просматривать инвентарь. «После ввода команды принтер заново перепечатывал эту небольшую сетку 10 на 10», — вспоминает Гэрриот. «Кажется, один ход занимал секунд десять».

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

«Я писал [игры] в блокнотах. У меня до сих пор хранятся все эти блокноты, подписанные как DND1, DND2, DND3 и так далее», — говорит Ричард. «Часто я записывал десять или двадцать страниц программы, и только потом задумывался: „Есть что-то глубоко ошибочное в таком решении. Я думал, что решу одну большую проблему, а в результате пришёл к новым, и мне придётся начинать всё сначала“».

Перед началом последнего учебного года Гэрриот купил новый блокнот и написал его обложке «DND28». Примерно тогда, когда он добавлял последние штрихи, ему выпала возможность пересесть за новый компьютер. «Однажды я оказался в офисе президента школы, и там был Apple II. Я спросил: „что это“? Он объяснил, что это новый компьютер, который выпущен совсем недавно».

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

Тем же летом Гэрриот выпустился и устроился на работу в сеть розничных магазинов ComputerLand, специализирующуюся на новом рынке PC. Когда он не рассказывал покупателям о преимуществах владения PC, он садился за свободный Apple II и продолжал работать над DND28.

Ограниченный доступ к Apple II усугублял сложности Гэрриота. Он работал за одним в школе и ещё за дним в свободное время в ComputerLand. Ему сильно нужен был собственный Apple II. Он обсудил этот вопрос с отцом. Оуэн слушал о том, чего его сыну удалось добиться на терминалах и на Apple II. Он немного расширил глаза от удивления, когда Ричард рассказал о своей последней версии DND, состоящей из 1 500 строк кода. Судя по тому, что он знал о компьютерах, это было больше, чем у большинства коммерческого ПО. Когда Ричард завершил свою речь, Оуэн обработал информацию и выдал ответ.

«Мой отец сказал „Ричард, знаешь, ты взялся за монументальную задачу. Я не уверен, что ты справишься с таким объёмом“. Я ответил: „Да почему ты недооцениваешь меня? Я не только справлюсь, моя программа сразу же заработает!“»


Akalabeth

Оуэн принял вызов и дал сыну пространство для манёвра. Если Ричарду удастся сделать новую и улучшенную версию игры с минимальным объёмом отладки, Оуэн разделит с ним стоимость Apple II пополам. Ричарду удалось, и Оуэн оказался верен своему слову. Собрав зарплатные чеки, Ричард объединил свои деньги с долей отца и купил Apple IIe, самый современный и мощный в этой линейке компьютеров. «Первой ремаркой в коде была DND28b», — говорит Ричард, объясняя что конструкция REM (сокращение от remark) в BASIC означает комментарий для людей, читающих код, и игнорируемый компьютером.

«Так появилась Akalabeth. То есть существует прямая преемственность от DND1 до Akalabeth, и до остальных игр серии Ultima. Есть прямая связь между всеми моими работами, начиная с 1970-х».

Игра сильно эволюционировала из своей начальной формы, сменив текстовые символы на цветную графику — новый способ улучшить погружение в игру. «Я взял DND28 и решил сменить её текстовую графику с видом сверху на перспективный вид с коридорами». «Это превратилось в DND28b. DND28b в буквальном смысле является Akalabeth, которая для меня остаётся Ultima 0».

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


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

Чтобы перепроверить свою работу, он обратился за помощью к своему любимому художнику. «В первую очередь я подошёл к маме и сказал: „Мама, я хочу нарисовать подземелье, как будто нахожусь внутри, как бы ты нарисовала это на холсте?“ И мама показала мне геометрические техники, которыми она пользовалась». Хелен провела линию на листе бумаги и попросила Ричарда представить, что это горизонт. Потом она провела несколько вертикальных линий, которые должны были обозначать телефонные столбы, однако мозг Гэрриота интерпретировал их как двери вдоль коридора, и объяснила ему математику, необходимую для вычисления точного расстояния между «столбами» и их отрисовки на экране.

Геометрические вычисления Хелен соответствовали тому, что ему удалось получить с помощью тригонометрии. Чтобы полностью убедиться в своей правоте, Ричард обратился к Оуэну. «Он воспользовался матанализом», — рассказывает Ричард. «Он взял ту же картинку, нарисованную мамой, и вывел серию уравнений, которые дали те же результаты, что и у меня. Так я убедился в правильности моих тригонометрических формул. С помощью этих уравнений мне нужно было вручную высчитывать и размещать пиксели на экране».

Каждый пиксель нужно было разместить на экране точно там, где требовалось. Необходимо было вычислить множества пересекающихся линий, таких как места схождения стен и потолков. «Это оборудование создал Стив Возняк», — говорит Гэрриот. «Когда ты создаёшь оборудование, твоя цель — минимизировать его цену, а не упростить написание программ. Хоть я и применял очень хитрые способы эффективного использования „железа“, [отрисовка] графики на Apple II была чудовищно сложной».



Этот отрывок взят из книги «Break Out: How the Apple II Launched the PC Gaming Revolution» издательства Schiffer Publishing, продающейся на Amazon. В книге представлена хроника создания более десятка революционных игр для PC, приведены интервью с разработчиками и подробности того, как эти игры повлияли на своих последователей.
Проголосовать:
+23
Сохранить:
Лучшее на Habrahabr

 «Угнать за 60 секунд» на примере одного каршеринга

из песочницы
Valya-rollerсегодня в 11:34
24

Intel устранила найденную экспертами Positive Technologies уязвимость в подсистеме Management Engine

ptsecurityвчера в 18:51
21

Обзор программы Heisenbug 2017 Moscow: сколько нужно тестировщиков, чтобы запустить тесты на атомной электростанции?

olegchirвчера в 17:14
1

Новая многообещающая методология разработки, которую уже назвали «убийцей Agile»*

botyaslonimсегодня в 14:30
6

Выпуск Rust 1.22 (и 1.22.1)

перевод
ozkriffсегодня в 06:19
4

Данные из Google Таблиц на вашем сайте

tutorial
dkomarovskiyсегодня в 11:09
9

Трёхмерная графика с нуля. Часть 2: растеризация

перевод
PatientZeroсегодня в 11:38
2

Развитие стратегий устойчивости

перевод
AloneCoderсегодня в 13:11
0

Черная пятница айтишника, или Сказ о потере данных

JetHabrсегодня в 15:02
3

HPE ProLiant for Microsoft Azure Stack: частичка облака Azure под вашим полным контролем

Tiggerсегодня в 07:40
2