Сотрудники магазина клевали на вымышленный спрос и приглашали Билла к себе.
В сегодняшнем мире всепроникающего маркетинга такая уловка кажется совершенно банальной, но в эпоху маленьких семейных компьютерных магазинов она оказалась вполне эффективной. Не исключаю, что Билл тогда обзвонил каждый специализированный магазин в США, покорив всех владельцев своей энергичностью и энтузиазмом. Мы с ним идеально сочетались, ведь у меня не было ни малейшего желания заниматься продажами, а у него отвечать за творческую сторону процесса. Я мог всю ночь сидеть дома и программировать, а он каждый уикенд уезжал из города и продавал копии игр так мы никогда не мешались друг у друга под ногами.
Глава 2. Адаптация
Tic-Tac-Toe, 1975 * The Star Trek Game, 1979 * Hostage Rescue, 1980 * Bank Game I, 1981 * Bank Game II: The Revenge, 1981 * Faux Space Invaders, 1981 * Faux Pac-Man, 1981 * Formula 1 Racing, 1982
Адаптация очень комплиментарное для автора слово. Оно звучит гораздо приятнее, чем «нарушение авторских прав». Шестьдесят три процента вышеперечисленных игр действительно были созданы по мотивам того или иного произведения, а в некоторых случаях мы даже получали разрешение владельцев интеллектуальной собственности. Признаю, что в остальных 37 % случаев я, возможно, нарушил авторское право в отношении существующих торговых знаков. Однако все мои дивиденды от этого ограничились парой долларов, заработанных на продажах, и брошенными в мою сторону скептическими взглядами. Преступление никогда себя не оправдывает, ребятки. (Если только оно не помогает найти вдохновение и получить опыт для начала карьеры длиною в жизнь в одной из лучших областей деятельности из всех существующих в таком случае еще как оправдывает, причем как в денежном отношении, так и в духовном.) Мой основанный на самых что ни на есть благих намерениях плагиат также обрек меня на сдержанное неодобрение со стороны General Instrument, где в названии моей должности не было и намека на слова «разработчик компьютерных игр». Но проблемы на работе из-за компьютерных игр начались у меня не сразу сначала они возникли в колледже.
К тому моменту, когда я в 1971 году поступил в Мичиганский университет, я ни разу в жизни не видел компьютер, но его сверхлогичная природа меня всегда интересовала. Так что, помимо двойной магистерской программы (физика и математика), мне взбрело в голову записаться на занятия по программированию, и к концу года моей специализацией стали компьютерные науки. Как я сейчас понимаю, благодаря этому решению мои шансы на хорошее трудоустройство резко выросли, но тогда это не имело для меня особого значения. Главным моим мотивом стали новые возможности, которыми, как я чувствовал, наделял пользователя компьютер. Я не мог рассчитать число пи до 10 тысяч знаков (а даже если смог бы, это заняло бы у меня массу времени), но зато я мог написать программу, которая умела это делать. Возможность при помощи нескольких слов написать команду «Сделай что-нибудь крутое», а потом увидеть, как эта крутая штука появляется на мониторе, вызывала у меня восторг. Я даже не мог назвать это магией. Это были технологии кое-что получше, чем магия.
Наша группа программировала на языке Fortran на ЭВМ модели IBM System/360 с 80-колоночными перфокартами. Мы подготавливали набор перфокарт, несли их в комнату, где был установлен компьютер, и смотрели, как сотрудник университета одну за другой загружал их в компьютер. Длилось это около 10 минут, а потом мы шли к другой панели, чтобы взять результаты. Старые добрые времена еще не настали, а те старые времена были скорее дурными.
Часть моей университетской стипендии зависела от участия в учебно-производственной программе, которая позволяла компенсировать расходы на обучение. После окончания курса программирования я проявил некоторую смелость и стал сотрудничать с профессором, которому нужен был помощник для работы с компьютерами. Сказать, что на тот момент я был готов к такой работе, было бы преувеличением, но тогда мало кто из студентов обладал нужной квалификацией в полной мере, да и задача оказалась не такой уж сложной. По большей части она состояла в начальном изучении образовательных программ, например тестов, в которых каждый вопрос зависел от того, какой вариант ответа вы выбрали до этого. При этом доктор Ноа Шерман использовал в своей лаборатории куда более продвинутое оборудование, чем то, каким пользовались студенты-второкурсники вроде меня. У меня же теперь был доступ к настоящему компьютерному терминалу он позволял вводить программы прямо в систему, перфокарты в качестве промежуточного звена больше не были нужны. Я смотрел на ошибки в результатах работы программы, сразу исправлял код и проверял повторные результаты весь цикл занимал намного меньше времени, чем на машинах предыдущих поколений. Доктор Шерман видел, с каким энтузиазмом я отношусь к своей работе, и подстегивал меня проводить мои собственные эксперименты с компьютером после окончания рабочего дня. Однажды летом он даже оставил мне ключи от лаборатории, пока сам ездил в Италию.
К тому времени я проглатывал всю информацию о компьютерах, какую только мог найти. Особый интерес у меня вызывало новое явление, которое назвали искусственным интеллектом. Разработать набор точных инструкций для компьютера сама по себе достаточно сложная задача, но научить компьютер принимать собственные решения, а может, даже и учиться на своих ошибках это запредельный уровень сложности. Широкую известность получила идея Алана Тьюринга, который утверждал, что идеальный искомый уровень интеллекта думающего компьютера должен повторять социальное поведение индивида, но, на мой взгляд, еще более интересным вариантом стал бы компьютер, интеллект которого выше человеческого. Это была бы не просто оснащенная математическим аппаратом рабочая лошадка, а машина, способная предсказать мое поведение и обладающая достаточным интеллектом, чтобы использовать эту информацию с пользой. Мне хотелось увидеть компьютер, который умеет моделировать сложные сценарии будущего и устранять нежелательные исходы до тех пор, пока не останется лишь один оптимальный курс действий. Короче говоря, я мечтал о компьютере, который будет уметь играть в игры.
Традиционной отправной точкой, как я считал, должны были стать крестики-нолики и история развития технологий шла именно по этому пути, хотя тогда мне это и не было известно. В 1950 году, всего через два года после того, как Тьюринг изобрел компьютер с хранимой памятью, человек по имени Джозеф Кейтс построил четырехметрового гиганта, которого назвал Bertie the Brain («Умник Берти»). Компьютер предстал перед публикой на Канадской национальной выставке и выиграл там все партии в крестики-нолики у тех зрителей, кто захотел с ним сразиться. (Историки часто подчеркивают, что первой компьютерной игрой все же был Tennis for Two («Теннис для двоих»), потому что там, в отличие от «Берти», для вывода информации использовался видеоэкран, а не набор обыкновенных лампочек.) Другие инженеры в 1950-е годы создавали свои независимые версии играющих в крестики-нолики компьютеров, за ними последовали рабочие версии шашек, блек-джека и даже шахмат. Уже в мое время, в 1975 году именно тогда я пытался самостоятельно изучить основы игрового ИИ, группа студентов из Массачусетского технологического института сделала механический аппарат для игры в крестики-нолики из детского конструктора Tinkertoy. Их машина, что удивительно, получилась очень похожей на древний «Тотализатор» там тоже использовались рычаги и рояльная проволока. Мне бы очень не помешало все это знать уже тогда, но без интернета мои порывы к самообразованию были практически лишены поддержки извне. Так что я пробивался в одиночку, не пользуясь плодами чужих знаний.
Пока доктор Шерман гулял по холмам Италии, лаборатория была полностью в моем распоряжении. Я с пользой проводил имеющееся время и каждый день работал над проектом, который сам же для себя и наметил. Прежде всего я создал простую систему ввода информации в текстовой форме, с помощью которой можно было вносить в машину один ход за раз. На тот момент я еще не понял, как заставить компьютер отображать сделанный им ход на экране, поэтому просто запрограммировал его распечатывать изображение игрового поля на стоявшем в соседней комнате принтере, которым могли пользоваться все в здании университета. Я шел к принтеру, брал распечатку, возвращался к своему столу и вносил свой следующий ход. Процесс шел медленно, но по крайней мере у меня была возможность немного размяться. (Если бы я только знал, что через 40 лет игры, заставляющие людей бродить туда-сюда, станут бешено популярны!)
После того как я в третий или четвертый раз забрал распечатанный лист с крестиками и ноликами, на меня обратила внимание управлявшая принтером секретарша.
Подождите-ка секундочку! сказала она, хватая лист, который сама же только что мне передавала. Что это вы тут вытворяете? Компьютеры предназначены не для игр!
У меня не нашлось достойного ответа: для меня было очевидно, что именно для этого они и предназначены.
Мне придется составить на вас жалобу, проворчала она, разыскивая на своем рабочем компьютере информацию о моей учетной записи. Она нашла имя и контактные данные моего курирующего преподавателя, и я испугался, что моя мечта о создании игрового компьютера погибнет еще до того, как я закончу одну партию в крестики-нолики. Доктор Шерман открытым текстом не разрешал мне заниматься подобными играми и тоже мог посчитать их чрезмерно легкомысленными. Кто знает, не сошлют ли меня теперь в мир перфокарт.
К счастью, как только секретарша дозвонилась до профессора, находившегося по ту сторону Атлантического океана, он не только за меня поручился, но и любезно разъяснил всем сотрудникам, что у меня есть всеобъемлющее разрешение использовать компьютер как мне заблагорассудится до самого конца лета. Думаю, доктор и представления не имел, к каким последствиям все это приведет, но я был ему очень благодарен.
После окончания университета я начал работать в General Instrument. Там я опять получил доступ к технике, которая находилась далеко за пределами моих финансовых возможностей. Это был 16-битный мини-компьютер Nova (приставку «мини» следует воспринимать со скидкой на эпоху), он тогда считался последним словом техники, ведь его процессор был установлен на единой печатной плате, причем с обратной ее стороны не торчали пучками переплетенные, как макаронины, провода. Все это помещалось в ящике, который по высоте был размером с восьмиклассника и стоил больше нового автомобиля. Вот такая машина была у меня в личном пользовании. Более того, такими же могли похвастаться почти все мои коллеги. Помимо этого, все мини-компьютеры в нашем офисе были напрямую соединены друг с другом, а не привязаны все разом к единой центральной ЭВМ. У нас была настоящая сеть.
Как и университетские телетайпы, бизнес-компьютеры GI не поддерживали никаких графических форматов только простой текст. Но я был не первым, кто столкнулся с этой дилеммой. Еще в 1865 году, до изобретения печатной машинки, Льюис Кэрролл давал издателю «Алисы в Стране чудес» инструкции относительно того, как расположить буквы наборного шрифта так, чтобы историю удобно было иллюстрировать. После повсеместного распространения печатных машинок популярным хобби стала так называемая символьная графика, по всей стране газеты платили за изображение сложных портретов и пейзажей посредством множества отдельных символов. В 1963 году эта техника приобрела цифровую форму после публикации официального двоичного кода для текста под названием «Американский стандартный код для обмена информацией» (ASCII). Печатным машинкам суждено было прожить еще пару десятилетий, но новая аббревиатура прижилась, и с тех пор картинки, составленные из текстовых символов, стали известны как ASCII-графика.
Для меня потенциал этого метода состоял не в возможной сложности изображений, а в скорости, с которой компьютер мог бы отображать на экране то, что для него было простым текстом. Возможно, этот столбик цифр содержал данные о продажах продуктового магазина, обновляемые с каждым купленным где-нибудь на Западном побережье бананом, а может, это была каменная крепость номер 3s, стреляющая черточками в противника столбик данных о продажах на другой стороне экрана. Для компьютера никакой разницы не существовало. Я понял, что при правильном расположении текста из символьной графики можно сделать символьную анимацию.
Возможно, на подсознательном уровне я видел в испещренном белыми символами черном дисплее компьютера что-то вдохновляющее, а может быть, я просто подхватил всеобщий фанатизм, но, так или иначе, я решил делать игру на основе «Звездного пути». В ту эпоху, в 1971 году, была создана довольно известная ASCII-игра на ту же тему, автором которой стал Майк Мэйфилд. Это была пошаговая игра, в которой клингоны и астероиды располагались на сетке, наложенной сверху. Игра стала настолько популярна, что ее программный код был напечатан сразу в нескольких книгах и с тех пор регулярно переписывается ностальгирующими энтузиастами для работы на новых операционных системах. Сейчас есть даже версия, в которую можно играть на смартфоне с операционной системой Android. Эта широко распространенная в то время и опубликованная во многих источниках программа была создана не мной, и я ни в коем случае не собираюсь пожинать лавры вместо ее создателя. Более того, насколько я знаю, моя ASCII-игра на тему «Звездного пути» никогда даже не покинула внутреннюю сеть компании General Instrument.
В отличие от пошаговой игры Мэйфилда, в моем варианте игровой процесс проходил в режиме реального времени, как в игровом автомате. Для начала я нарисовал контуры экрана, использовавшегося в игре Enterprise, при помощи символов подчеркивания, косых и вертикальных линий (тех, что находятся на правой стороне вашей клавиатуры). Этот контур на всем протяжении игры оставался неподвижным, а все, что находилось внутри него, двигалось с частотой несколько раз в секунду. Таким образом я сделал анимацию вражеских космических кораблей и межзвездного мусора, изображенных в псевдотрехмерном виде и летевших в сторону игрока. Анимацию снарядов и лучей бластеров нужно было очень точно рассчитать по времени, а когда игрок подбивал корабль соперника, наградой ему был небольшой, но сочный взрыв. Я даже добавил простенькие звуковые сигналы зуммера, которые в итоге стали для моей игры началом конца.
Изначально я отправил игру паре-тройке проявивших к ней интерес коллег, но уже через несколько дней о ней каким-то образом прослышал чуть ли не каждый человек в офисе. Внутренняя сеть начала тормозить, а игровые звуки зуммера раздавались по коридору как сирена, сигнализирующая о том, что все забыли про работу. Никто, однако, особенно не чувствовал свою вину, ведь каждому было ясно, что он такой не один.
В конце концов снижение производительности стало слишком серьезным, чтобы на него можно было и дальше закрывать глаза, и мне сказали удалить игру. Менеджер, передавший мне приказ, понимающе пожал плечами, ведь начальники тоже были не без греха и наравне со всеми играли в рабочее время. Мои коллеги, конечно, огорчились, но лично для меня запрет на игру стал поводом для гордости. После него можно было объективно сказать, что игра получилась что надо.
Однако теперь передо мной встала проблема. Мой аппетит к созданию игр становился все сильнее. Если в офисе у меня больше нет возможности делать код, то куда же мне податься? Как и многие другие зарождающиеся отрасли, рынок домашних компьютеров в конце семидесятых был переполнен и совершенно не стандартизирован. На нем было несколько ведущих игроков вроде Apple II и TRS-80, но, помимо этого, существовало множество таких машин, как Commodore PET, Texas Instruments 99/4 и Heathkit его доставляли в виде отдельных деталей, которые нужно было собирать самостоятельно. Однако все эти компьютеры были ориентированы скорее на инженера, нежели на программиста, и ни в одном не были учтены интересы геймеров. У TRS-80 не было цветного монитора, у нескольких других моделей отсутствовали порты для джойстика. Конечно, продавались специализированные игровые системы, в числе которых Magnavox Odyssey и классическая Atari 2600, но они могли лишь считывать записанную на носители информацию. Написать при помощи такой игровой машины игру было так же невозможно, как снять телепередачу, используя телевизор. Игровые автоматы можно было программировать напрямую, но такое оборудование было мне не по карману. Оставалось только ждать.
И вот в конце 1979 года Atari выпустила две системы, известные как Atari 400 и Atari 800. Еще на стадии производства они получили условные названия Candy и Colleen по всей видимости, в честь двух секретарш в офисе компании, эти названия и сейчас можно найти на играх того времени, которые запускаются через эмуляторы и выложены в интернете. Candy, или модель 400, рекламировали исключительно как машину, на которой можно играть в игры, при этом на ней не было портов для подключения клавиатуры или нетелевизионного экрана. Это было нечто большее, чем просто улучшенная Atari 2600. А вот модель Colleen была самым настоящим компьютером: она была больше, тяжелее, поддерживала лучшие в своем классе графику и звук, у нее была настоящая клавиатура и резервные слоты для дополнительных модулей памяти, а заодно ни много ни мало четыре автономных порта для джойстиков.