Жизнь в мире компьютерных игр
Шрифт:
К тому времени я проглатывал всю информацию о компьютерах, какую только мог найти. Особый интерес у меня вызывало новое явление, которое назвали искусственным интеллектом. Разработать набор точных инструкций для компьютера – сама по себе достаточно сложная задача, но научить компьютер принимать собственные решения, а может, даже и учиться на своих ошибках – это запредельный уровень сложности. Широкую известность получила идея Алана Тьюринга, который утверждал, что идеальный искомый уровень интеллекта думающего компьютера должен повторять социальное поведение индивида, но, на мой взгляд, еще более интересным вариантом стал бы компьютер, интеллект которого выше человеческого. Это была бы не просто оснащенная математическим аппаратом рабочая лошадка, а машина, способная предсказать мое поведение и обладающая достаточным интеллектом, чтобы использовать эту информацию с пользой. Мне хотелось увидеть компьютер, который умеет моделировать сложные сценарии будущего и устранять нежелательные исходы до тех пор, пока не останется лишь один
Традиционной отправной точкой, как я считал, должны были стать крестики-нолики – и история развития технологий шла именно по этому пути, хотя тогда мне это и не было известно. В 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, но они могли лишь считывать записанную на носители информацию. Написать при помощи такой игровой машины игру было так же невозможно, как снять телепередачу, используя телевизор. Игровые автоматы можно было программировать напрямую, но такое оборудование было мне не по карману. Оставалось только ждать.