Стив Рассел и Spacewar!

We use cookies. Read the Privacy and Cookie Policy

Стив Рассел и Spacewar!

Субкультура хакеров, как и одна из первых известных компьютерных игр Spacewar! появились вначале в “Клубе технического моделирования железных дорог” при Массачусетском технологическом институте. Он был основан слегка чокнутыми, помешанными на компьютерах студентами в 1946 году. Собирались они в здании, где когда-то был изобретен радар. Его подвал почти полностью занимала модель железной дороги: десятки железнодорожных путей, стрелок, вагонеток, семафоров и станций. Все было выполнено с маниакальной точностью и исторически достоверно. Большинство членов клуба думали только о том, как бы изготовить максимально приближенные к реальности детали конструкции, которые можно было бы добавить к макету. Но было отделение клуба, где больше интересовались тем, что располагалось под находившейся на уровне груди доской с разветвленными железнодорожными рельсами. Членам подкомитета по сигнализации и питанию больше нравились располагавшиеся под нею реле, проволоки, электрические контуры и координатные коммутаторы, которые обеспечивали сложную иерархию контроллеров машинистов для бесчисленных поездов. В этой запутанной паутине они видели красоту. Стивен Леви начинает свою книгу с красочного изображения этого клуба[41]: “Четкими рядами шли группы переключателей и тускло поблескивавших бронзовых реле, которые соединялись длинной и хаотичной путаницей красных, синих и желтых проводов, изгибающихся и поворачивавших так, как будто на голове у Эйнштейна произошел взрыв и его раскрашенные во все цвета радуги волосы разлетелись во все стороны 2.

Членов подкомитета по сигнализации и питанию прозвали хакерами, чем они гордились. Это слово означало, что человек был как виртуозом-специалистом, так и веселым шутником. Умение незаконно проникать в сеть, смысл, который в него вкладывается сейчас, не подразумевалось. Замысловатые выходки студентов Массачусетского технологического института называли hacks. Они могли затащить живую корову на крышу общежития, поставить пластиковую корову на Большой купол главного здания или заставить огромный воздушный шар внезапно появиться посреди футбольного поля во время игры Гарварда с Йелем. В клубе заявляли: “Мы используем термин «хакер» только в его прямом значении, называя так человека, умеющего проявить изобретательность для достижения разумного результата, который мы называем «хаком». Самое главное в «хаке» то, что делается он быстро и обычно не слишком изящно”3.

Некоторых ранних хакеров переполняло желание создать машину, умеющую думать. Многие были студентами Лаборатории искусственного интеллекта при Массачусетском технологическом институте. Она была основана в 1959 году двумя профессорами, ставшими впоследствии притчей во языцех: напоминавшим Санта-Клауса Джоном Маккарти (он ввел термин “искусственный интеллект”) и Марвином Мински, таким умным, что казалось, будто он сам опровергает собственную веру в то, что интеллект компьютера когда-нибудь превзойдет интеллект человека. В лаборатории господствовала доктрина, согласно которой при достаточной вычислительной мощности машина сможет работать как нейронная сеть, наподобие той, которая есть в мозгу человека, и разумно общаться с пользователем. Мински, озорной человек с блестящими глазами, построил обучаемую машину, которая должна была моделировать работу мозга. Он назвал ее SNARC[42], намекая, что, хотя он-то серьезен, доля шутки в этом есть. Согласно его теории, разум может быть продуктом взаимодействия не обладающих интеллектом составляющих, таких как небольшие компьютеры, объединенные в одну гигантскую нейронную сеть.

Для хакеров из “Клуба технического моделирования железных дорог” решающий момент наступил в сентябре 1961 года, когда Digital Equipment Corporation (DEC) передала в дар Массачусетскому технологическому институту прототип своего компьютера

PDP-1. Размером с три холодильника, PDP-1 был первым компьютером, который мог напрямую взаимодействовать с пользователем. Его можно было подсоединить к клавиатуре и к монитору, показывающему графики, им легко мог управлять один человек. Как мошкара вокруг огня, горстка самых заядлых хакеров кружила вокруг нового компьютера. Они плели заговор, раздумывая, какую шутку можно устроить с помощью этого компьютера. Они часто собирались в запущенной квартире на Хинэм-стрит в Кембридже и поэтому прозвали себя членами института Хинэма. Столь высокопарное название было шуточным. Они не ставили перед собой цель придумать какой-нибудь новый, хитроумный способ использования PDP-1, им хотелось сделать что-нибудь оригинальное.

До них хакеры уже придумали несколько элементарных игр для более ранних компьютеров. В одной из них, сделанной в Массачусетском технологическом институте, на экране компьютера точка изображала мышку, пытающуюся в лабиринте отыскать кусок сыра (или, в более поздней версии, бокал мартини). Другую придумали в Брукхейвенской национальной лаборатории на Лонг-Айленде: осциллоскоп, подсоединенный к аналоговому компьютеру, использовался для моделирования теннисного матча. Но члены института Хинэма знали, что с PDP-1 у них появился шанс сделать первую по-настоящему компьютерную видеоигру.

В их группе лучшим программистом был Стив Рассел. Он помогал профессору Маккарти в создании языка LISP[43], который разрабатывался для исследований в области искусственного интеллекта. Рассел был абсолютно чокнутый, увлекающийся, переполненный невероятными идеями. Его интересовало все, от паровозов до думающих машин. Он был небольшого роста, легко приходил в волнение, у него были вьющиеся волосы и толстые очки. Когда он начинал говорить, казалось, будто кто-то нажал кнопку быстрой перемотки. Упорный и энергичный, он был склонен все откладывать, за что заработал кличку Слаг[44].

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

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

Неудивительно, что Рассел и Грец с друзьями, страстно любившие подобные творения, решили придумать для PDP-1 космическую игру. “Я только закончил читать «Сагу о Ленсменах» Дока Смита, — вспоминал Рассел. — Негодяи преследовали его героев по всей галактике, а им по ходу дела надо было придумывать, как от них избавиться. Это и навело нас на мысль о Spacewar"4. Будучи занудами, они стали называть себя исследовательской группой по изучению правил ведения космических войн института Хинэма, и “Слизняк" Рассел приступил к написанию программы5.

Однако верный своему прозвищу, дело до конца он не довел. С чего начать программу для игры, он знал. Профессор Мински случайно обнаружил алгоритм, позволяющий построить с помощью PDP-1 окружность. Расселу удалось модифицировать его так, что на экране появлялись три точки, которые, взаимодействуя друг с другом, вырисовывали небольшого размера красивые узоры. Мински назвал придуманную им программку Tri-Pos[46], но студенты окрестили ее “Минскитроном". Она была хорошей основой для игры, где стреляют и сражаются космические корабли. Завороженный “Минскитроном" Рассел потратил несколько недель, пытаясь разобраться, насколько он им подходит, но увяз, кода дело дошло до стандартных программ с синусами и косинусами, которые должны были управлять движением космических кораблей.

Когда Рассел рассказал о своих затруднениях, один из членов клуба Алан Коток понял, как с ними справиться. Он отправился в один из пригородов Бостона, в штаб-квартиру компании DEC, изготовившей PDP-1, нашел там симпатичного инженера, у которого были необходимые для расчетов подпрограммы. Коток объявил Расселу: “Ну, вот программа с тригонометрическими функциями. Что ты теперь придумаешь в свое оправдание?" Рассел позднее признался: “Я задумался, но ничего придумать не мог, поэтому пришлось засесть за расчеты"6.

Рассел провозился все рождественские каникулы 1961 года и за несколько недель придумал метод, позволявший манипулировать точками на экране. С помощью переключателя на панели управления их можно было заставить ускоряться, замедляться и поворачиваться. Затем он заменил точки двумя смешными условными космическими кораблями, один из которых был толстым и раздутым, наподобие сигары, а другой — тонким и прямым, как карандаш. Другая подпрограмма позволяла каждому из кораблей выстреливать точками, словно ракетами, из головной части судна. Когда координата ракеты совпадала с координатой корабля, тот “взрывался”, распадаясь на крошечные осколки, двигающиеся в случайных направлениях. К февралю 1962 года в основном все было готово.

С этого момента к пакету программ Spacewar получили доступ все. Рассел выложил ленту с программой в ящик, где хранились другие программы для PDP-1, и друзья занялись ее усовершенствованием. Один из них, Дэн Эдвардс, решил, что гравитационные силы — это прикольно, поэтому он ввел в программу большое солнце, притягивающее корабли. Если ты был недостаточно внимателен, оно могло затянуть в себя твой корабль и разрушить его. Но хорошие игроки научились проскакивать вблизи солнца и использовать его гравитацию, чтобы увеличить импульс и мотаться по космическому пространству с еще большей скоростью.

Рассел вспоминает, что другой их приятель, Питер Самсон, “считал, что звезды у него разбросаны случайно и звездный фон нереалистичен”7. Самсон решил, что игре требуется “реальность”, то есть созвездия должны быть не просто произвольно разбросанными точками, а настоящими. Поэтому он создал дополнение к программе, которое назвал Expensive Planetarium. Воспользовавшись информацией из The American Ephemeris and Nautical Almanac, он написал программу, показывавшую на ночном небе все звезды вплоть до звезд пятой величины. Указав, сколько раз данная точка экрана возбуждается, ему удалось даже отобразить относительную яркость звезд. Теперь космические корабли проносились мимо созвездий, медленно уходивших за горизонт.

Благодаря открытому доступу к программе, в игре появилось много интересных усовершенствований. Мартин Грец предложил так называемую “кнопку отчаяния”, дававшую возможность в случае критической ситуации просто переключить тумблер и исчезнуть, перебравшись на какое-то время в другую размерность гиперпространства. “Суть была в том, что, если уж ничего помочь не может, есть возможность стать невидимым, перепрыгнув в четвертое измерение и исчезнуть”, — объяснял Грец. О чем-то подобном, именовавшемся “гиперпространственная труба”, он читал в одном из романов Дока Смита. Однако были и ограничения: за одну игру переходить в гиперпространство можно было всего три раза. Твое исчезновение давало противнику передышку, и было неизвестно, в каком месте твой корабль появится снова. Так, он мог окончить свое существование, залетев на Солнце, или объявиться прямо под носом противника. “Такую возможность можно было использовать, но лучше этого было не делать”, — объясняет Рассел. В качестве реверанса профессору Мински Грец сделал так, что каждый корабль, исчезающий в гиперпространстве, оставлял за собой сигнатуру «Минскитрона»8.

Авторами еще одного усовершенствования, имевшего серьезные последствия, были два активных члена “Клуба технического моделирования железных дорог” Алан Коток и Боб Сандерс. Они сообразили, что неудобно, да и опасно, если пихающиеся и толкающиеся игроки, яростно дергающие тумблер, толпятся перед пультом управления PDP-1. Поэтому, разобрав хлам под вагонами у себя в клубе, они конфисковали несколько переключателей и реле. Собранные из них устройства Коток и Сандерс поместили в две пластиковые коробки. Это были пульты дистанционного управления, снабженные всеми необходимыми переключателями для управления кораблем и кнопкой отчаяния для перехода в гиперпространство.

Игра быстро разошлась по другим компьютерным центрам и стала одним из основных элементов культуры хакеров. Компания DEC сделала игру Spacewar встроенной частью своего программного обеспечения, а программисты создавали новые ее версии для других систем. Хакеры со всего мира добавляли в игру все новые элементы, такие как возможность маскироваться, взрывать космические снаряды и различные способы оценки происходящего с точки зрения пилота. Как сказал Алан Кэй, один из первых разработчиков персональных компьютеров: “Игра Spacewar приживалась везде, где был графический дисплей, подсоединенный к компьютеру 9.

Игра Spacewar четко обозначила три отличительные черты культуры хакеров, ставшие лейтмотивом эпохи цифровых технологий. Во-первых, она создавалась коллективно. “Мы могли ее делать вместе, работая командой, и именно это доставляло нам удовольствие”, — говорит Рассел. Во-вторых, это было бесплатное программное обеспечение с открытым кодом. “Нас просили дать копию исходной программы, и мы, конечно, давали”. В-третьих, все строилось на убеждении, что компьютеры должны быть персональными и интерактивными. “Это позволяло нам прибрать к рукам компьютеры и заставить их взаимодействовать с нами в реальном времени”, — говорит Рассел10.

Данный текст является ознакомительным фрагментом.