Полная версия
Жизнь в мире компьютерных игр
Как-то раз утром в моем доме зазвонил телефон.
– Сид, мне кажется, у нас наклевывается кое-что важное.
– Билл, это ты? Ты сейчас где?
– Нью-Джерси. Мы с тобой только что продали 50 копий Hellcat Ace.
– Слушай, да это же здорово!
– Ну да, – ответил он, подразумевая при этом «Начинай записывать новые дискеты!»
Тогда каждая проданная копия для меня означала дополнительные 60 секунд, проведенных в скуке перед монитором в ожидании того, что игра скопируется на новую дискету. В это время я при желании мог попробовать читать, но работать было точно невозможно – многозадачность в операционных системах персональных компьютеров появилась лишь спустя десятилетие после того, как она стала мне так необходима. А вот привлечение к работе внешних подрядчиков как раз тогда набирало обороты, и вскоре я нанял одного из самых юных участников нашей пользовательской группы, чтобы тот делал для меня копии игры – по 25 центов за одну дискету. Мы с ним тесно общались: он еще не достиг нужного возраста, чтобы получить водительское удостоверение, и я подвозил его к местам наших встреч. Возможно, что эта была первая в его жизни работа, и зарабатывал он на ней сумму, эквивалентную сегодняшним 39 долларам в час, – очень даже неплохо.
Я же за это время закончил свою игру про вертолеты – Chopper Rescue, а также еще одну игру, над которой работал в то время, – Floyd of the Jungle. Последовав предложению Билла, я добавил в начало всех наших трех игр экран загрузки, на котором рекламировался весь остальной «ассортимент» MicroProse, и записал новую версию на все чистые дискеты, которые у нас к тому моменту оставались.
Обложка Floyd of the Jungle
Со временем Билл стал получать обратную связь от управляющих магазинов, которым продал копии, и в код потребовалось внести некоторые изменения, поэтому, если вдруг дискеты с игрой где-то и сохранились, версии на них наверняка отличаются.
Floyd of the Jungle не имела к самолетам никакого отношения, но именно ее Билл использовал, чтобы привлечь внимание персонала магазинов. Дело в том, что там была возможность многопользовательской игры с коллегами, и устоять от такого искушения могли немногие. А еще в ней были элементы жанра, который потом получит название «платформера». Этот стиль игр, воплощенный также в таких играх, как Space Panic 1980 года и Donkey Kong 1981-го, по всей видимости, действует на игроков на некоем глубинном, инстинктивном уровне: каким-то образом все сразу догадываются, что лучше быть в верхней части экрана, чем в нижней, а если в игре появляется прекрасная дама, попавшая в беду, то ее непременно нужно спасти. Чтобы научиться управлять «Грумманом Ф6Ф», требовалась практика, а вот в случае с Floyd все сразу понимали, что нужно делать, да и особых навыков от игрока не требовалось: чтобы получать удовольствие от игры, нужно было просто выбрать себе оппонента по уровню. Когда в магазине рядом с играющими коллегами собирались и другие сотрудники, чтобы понаблюдать за игрой, это привлекало внимание посетителей, и однажды, когда Билл даже передал одному из них свой джойстик, у магазина просто не оставалось выбора, кроме как купить несколько копий игры.
Конечно, многопользовательский режим был и в других играх, включая Hellcate Ace и Chopper Rescue, но там он был рассчитан только на двоих игроков. Floyd отличалась тем, что там можно было использовать все четыре джойстика одновременно, а таким в 1982 году могли похвастать очень немногие продукты на совсем небольшом в то время рынке. Одним из крупнейших релизов с возможностью играть вчетвером была игра Asteroids, разработанная компанией Atari, чтобы дать дополнительную рекламу их компьютеру. Компаниям, производящим компьютерное оборудование, часто приходилось прибегать к подходу «Сделай продукт, и покупатели потянутся». Они никогда заранее не знали, станет ли их новинка популярной среди разработчиков, и им приходилось сначала вкладывать в создание того или иного продукта несколько миллионов долларов и лишь потом выяснять, многим ли он нужен. К сожалению, технология, позволявшая играть в одну игру сразу четверым игрокам, спустя долгое время оставалась на задворках индустрии, и ее поддерживали лишь отдельные игры, например Gauntlet (1985) и Teenage Mutant Ninja Turtles (1989). Массовых же многопользовательских игр для четырех игроков не было вплоть до того момента, когда на сцену в 1993 году ворвался Doom.
Многопользовательский режим в Chopper Rescue по-своему уникален, ведь игроки с помощью джойстиков управляют не двумя одинаковыми персонажами, а одним-единственным вертолетом. Как и во многих реальных военных транспортных средствах, один из игроков маневрирует, в то время как другой стреляет из установленного на борту вертолета оружия, а ведь для этого требуется действовать сообща и хорошо понимать друг друга. Далеко не все игры, выпущенные на ранних этапах развития компьютерных технологий, дошли до нас, и все же я готов утверждать (по крайней мере, до тех пор, пока меня кто-нибудь не опровергнет), что Chopper Rescue стала первой видеоигрой, в которой игроки одновременно выполняют разные задачи на пути к общей цели.
Именно в процессе создания Chopper Rescue я понял, как добиться прокрутки экрана во всех направлениях. В большинстве случаев главным источником вдохновения для моих игр становился тот или иной программистский прием: иногда я перенимал их у других, иногда придумывал с нуля. Именно на основе таких приемов я и строил всю игру. Например, в случае с Hellcat Ace прорывом для меня стал способ наклонять линию горизонта более эффективно и точно, чем в других играх того времени. Сегодня смена линии взгляда не выглядит чем-то особенным, но делать это на компьютере, у которого память едва вместит три главы этой книги в простом текстовом формате, куда сложнее.
Floyd of the Jungle вместила в себя сразу несколько передовых приемов. Помимо возможности играть вчетвером на одном экране, в игре была использована новая технология прорисовки анимации: два немного отличающихся друг от друга изображения персонажа поочередно сменяли друг друга. В самой успешной игре того года – Space Invaders – этот подход был использован для отображения шести типов инопланетян: каждый из них шевелил конечностями, и при анимации это изображалось либо в виде замкнутого цикла движений, либо в виде постоянной смены двух позиций от одной к другой. Но я чувствовал, что потенциал этого приема далеко не исчерпан, и хотел проверить, как много движущихся всеми возможными способами существ мне удастся разместить на экране с помощью программного кода. Тему инопланетян уже использовали, так что в качестве заднего фона я выбрал джунгли. Лишь после этого я вспомнил, как бесчисленное количество раз смотрел по утрам в воскресенье многосерийный мультфильм «Джордж из джунглей». На ранних этапах моей карьеры тематика игры отходила на второй план, куда важнее были технические приемы: я делал исключительно игры для компьютера, а не игры, которые при необходимости можно на нем запустить. Разумеется, при этом мне хотелось использовать в разработке любую доступную на тот момент техническую возможность.
В результате эксперимента я понял, сколько объектов можно запихнуть на экран, не замедлив при этом игру. В какой-то степени это зависело от моих навыков иллюстратора, ведь в то время большинство разработчиков игр всю работу выполняли сами. Я разместил на экране так много четырехкадровых изображений птиц, слонов, крокодилов, змей, львов, обезьян и пигмеев (племена пигмеев на самом деле отличаются миролюбием, но стереотипы того времени представляли их как ужасающую угрозу для путешественников, и мне тогда и в голову не приходило подвергнуть это сомнению), насколько это позволяли ограничения программного кода. Компанию им составила прекрасная дева в беде по имени Дженис и, конечно, сам Флойд, у которого, помимо действий – бега, прыжков, лазанья и умирания, – была еще и анимация позы покоя. Обезьяна у меня получилась округлой формы и напоминала печенье, по виду которого всегда трудно понять, какое животное оно должно изображать, а вот крокодил и слон вышли самыми что ни на есть высокохудожественными. Для MicroProse это было хорошим предзнаменованием, – ведь прошло добрых три года, прежде чем мы смогли позволить себе нанять профессионального художника игровой графики.
Мы начали рекламировать свою фирму в октябре 1982 года, а шесть месяцев спустя наконец вышла и первая рецензия на нашу игру: журнал Antic, писавший на темы, связанные с семействами домашних компьютеров (имеется в виду серия 8-битных компов и более поздние ST) Atari, назвал Floyd of the Jungle одновременно «веселой» и «очень хорошей». Вообще в то время в рецензиях не очень жаловали прилагательные. В следующем месяце в том же журнале вышел обзор Hellcat Ace: ее назвали «впечатляющей», но в то же время «не лишенной недостатков».
Билла не пугали сдержанные отзывы. Во-первых, автор текста повторил его любимую рекламную фразу: «Протестировано пилотами Военно-воздушных сил Национальной гвардии США» – так эффектно Билл описал себя и нескольких своих друзей. Но главным было то, что успех спланированной Биллом кампании не зависел от содержания рецензии. Важен был сам факт ее существования.
Как только отзыв опубликовали, Билл начал обзванивать те компьютерные магазины, до которых нельзя было за день доехать на машине.
– Здравствуйте! Я ищу игру Hellcat Ace.
– Хмм… Мне кажется, у нас такой нет.
– Что? – сразу взрывался Билл. – Что у вас за компьютерный магазин, если у вас нет этой игры? Вы что, не читаете обзоры в Antic?
После этого он гневно бросал трубку, успев, однако, проворчать, что отныне будет делать покупки где-нибудь еще.
Через неделю он звонил опять, притворяясь уже кем-то другим. А еще через неделю – еще раз. Ему даже не нужно было каждый раз звонить с нового телефона, ведь определитель номера тогда был такой же фантастикой, как Apple Watch в руках у Дика Трейси.
Наконец, в четвертый раз он звонил и говорил своим настоящим голосом:
– Добрый день, я торговый представитель компании MicroProse Software, и я хотел бы показать вам нашу новейшую игру, которая называется Hellcat Ace.
Сотрудники магазина клевали на вымышленный спрос – и приглашали Билла к себе.
В сегодняшнем мире всепроникающего маркетинга такая уловка кажется совершенно банальной, но в эпоху маленьких семейных компьютерных магазинов она оказалась вполне эффективной. Не исключаю, что Билл тогда обзвонил каждый специализированный магазин в США, покорив всех владельцев своей энергичностью и энтузиазмом. Мы с ним идеально сочетались, ведь у меня не было ни малейшего желания заниматься продажами, а у него – отвечать за творческую сторону процесса. Я мог всю ночь сидеть дома и программировать, а он каждый уикенд уезжал из города и продавал копии игр – так мы никогда не мешались друг у друга под ногами.
Глава 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, при помощи символов подчеркивания, косых и вертикальных линий (тех, что находятся на правой стороне вашей клавиатуры). Этот контур на всем протяжении игры оставался неподвижным, а все, что находилось внутри него, двигалось с частотой несколько раз в секунду. Таким образом я сделал анимацию вражеских космических кораблей и межзвездного мусора, изображенных в псевдотрехмерном виде и летевших в сторону игрока. Анимацию снарядов и лучей бластеров нужно было очень точно рассчитать по времени, а когда игрок подбивал корабль соперника, наградой ему был небольшой, но сочный взрыв. Я даже добавил простенькие звуковые сигналы зуммера, которые в итоге стали для моей игры началом конца.
Изначально я отправил игру паре-тройке проявивших к ней интерес коллег, но уже через несколько дней о ней каким-то образом прослышал чуть ли не каждый человек в офисе. Внутренняя сеть начала тормозить, а игровые звуки зуммера раздавались по коридору как сирена, сигнализирующая о том, что все забыли про работу. Никто, однако, особенно не чувствовал свою вину, ведь каждому было ясно, что он такой не один.