Как мог заметить пытливый читатель, мои отношения с отчимом можно назвать сложными. Однако он оказал на мою жизнь и положительное влияние. Шунеман приютил нашу семью, заботился о нас, читал ненавистные мне лекции, которые каким-то образом осели в памяти, усвоились и стали дельным подспорьем для таланта, который он у меня замечал. Родители множества детей игнорировали их желание программировать и создавать игры или настаивали на выборе более традиционных профессий. Приобретение Apple II+ изменило мою жизнь.
Для нашей семьи покупка стала значимой – впрочем, оказалась бы таковой для любой семьи. Мой отчим взял полный набор: системник, периферию, монитор и принтер. Из бюджета ушло минимум пять тысяч долларов. Если бы кто-нибудь спросил меня парой месяцев ранее, окажется ли когда-нибудь подобный компьютер у нас дома – я бы лишь помотал головой. Такие суммы никогда не были нам по плечу. Впрочем, Джон надеялся, что я начну писать программы для бизнеса, нечто «полезное» – скажем, софт для организации телефонного справочника. Он считал, что это все приведет к тому, что я устроюсь на «настоящую» работу. Игры Шунеман все еще не рассматривал всерьез, чего нельзя было сказать про меня. Каждый день после школы я писал их одну за другой. Помню, как подумал: «Хочу заниматься этим каждый день до самой смерти». Желание выходить на улицу погулять пропало само собой.
В тот момент я еще не понимал, как именно сделать на компьютере игру, напоминавшую мои любимые забавы из аркадных автоматов с настоящей графикой. Роб Лэвлок открыл мне глаза на следующий шаг, подсказав, куда нужно копать, пока мы гоняли в Gorgon, написанную легендарным программистом Apple II Насиром Джебелли. Он принялся за дело рано, в 1980 году, и быстро сделал себе имя. В буквальном смысле – надпись «BY: NASIR» виднелась на стартовом экране каждого его творения. Он создавал свои проекты крайне расторопно, они казались технически безупречными и очень увлекательными[9].
Насир не просто гениально программировал видеоигры: он, помимо всего прочего, понимал, как придумать приятный геймплей. Мне нравилось, что все сделанное им уникально. Высокоскоростные гонки с видом сверху, аркада, в которой горизонтально двигающийся космолет расстреливает пришельцев и спасает людей, симулятор бомбежки вражеских территорий с самолета – его проекты доказывали, что он бросал себе технические вызовы и постоянно менял жанры. Отталкиваясь от его работ, я научился собирать игры вокруг определенной концепции или механики, давая пользователю все, чего он хочет, но избегая при этом лишних деталей, которые ничего не добавляли геймплею. Помимо прочего, я подмечал, что некоторые проекты Насира – это результат изучения им новой программистской техники. Например, появлялись новые графические возможности, и этот технологический метод применялся Джебелли на протяжении всего игрового процесса. Изучив его проекты, я понял, что лучше всего учиться непосредственно во время разработки. Игра могла помочь овладеть новыми кодерскими нюансами. В итоге Насир в одиночку спрограммировал первую, вторую и третью части Final Fantasy. Он остается одним из легендарнейших специалистов в истории.
Еще одна легенда, которая заметно повлияла на мое развитие, – Билл Бадж. Наглядный и прекрасный пример разработчика проектов для Apple II начала восьмидесятых. На его счету увлекательные ранние игры вроде трилогии Space и Penny Arcade. Следующая его затея Raster Blaster стала хитом – первый пинбол на Apple II. Проект многих сразил наповал и вдохновил на создание аналогов, однако разобраться с физическими подсчетами на языке ассемблера 6502 было непросто. Пока все ломали голову над этой загадкой, Билл в 1982 году выпустил Pinball Construction Set и шокировал индустрию. Программа, которая позволяла любому сделать собственную пинбольную игру, стала беспрецедентным явлением и невероятным техническим достижением.
Мы с Робом смотрели на экран с Gorgon, и я сказал:
– Черт, вот такие штуки я хочу разрабатывать!
– Хочешь посмотреть ее код? Из чего она сделана?
– Да!
Роб нажал на своем Apple II+ кнопку RESET, затем напечатал сперва «CALL-151», а потом «800.9FF». Внезапно на экране появился поток чисел. Все напоминало цифровую белиберду, однако именно так я впервые познакомился с шестнадцатеричным числами и символами.
– Это машинный язык, – сказал Роб. – Вот что нужно выучить для создания видеоигр.
9
Много лет спустя Насир лично мне рассказал, что программировал прямо в мини-ассемблере, не используя исходный код. Это все равно, что писать роман, вбивая по предложению за раз и глядя на то, как они исчезают в недрах компьютера. Со временем роман дописывался, но во время работы над ним нельзя было увидеть набранный прежде текст. Опыт Насира оказался настолько внушительным, что он стал первым кодером Apple II, который заставил других работающих с Apple II людей задаться вопросом: «Но как?» –