October 18, 2019

Как 17-летний парень портировал на компьютеры аркадный хит 80-х

6 часов, ноябрьское холодное утро 1987 года. 17-летний программист Мартин Уэбб сидит перед компьютером в каком-то доме в Шропшире. Отец Мартина, Дэннис Уэбб тоже здесь, как и Джефф Браун, руководитель компании-издателя игр US Gold. Они не спали всю ночь.

Прошлым вечером, за считанные минуты до начала создания десятков тысяч копий версии игры OutRun для Commodore 64 в студии Ablex Audio Video в Телфорде, которые должны были попасть на заманчивый рождественский рынок, один из тестеров сообщил о проблеме в процессе мастеринга. Где-то между кодом Мартина и загрузчиком turbo tape компании US Gold прятался баг. Им не удалось устранить ошибку на фабрике, поэтому они переместились в дом поблизости, чтобы Мартин мог сконцентрироваться на проблеме в тишине. Никто не говорил ни слова, но тинейджеру не нужно было напоминать, какая ставка на кону. OutRun была самой популярной аркадной игрой, и US Gold авансом заплатила Sega 250 000 фунтов, чтобы получить права на распространение игры для домашних компьютеров (самые дорогие лицензии обычно продавались за четверть от этой суммы). Были подписаны договоры, а реклама крутилась несколько месяцев. Наверно, на то время это был самый ожидаемый проект переноса игры с аркадных автоматов, а Мартин отвечал за создание самой важной версии для C64, которая будут продаваться по всему миру.

Взрослые вышли из комнаты, чтобы приготовить завтрак, оставив Мартина одного. К тому времени он едва сдерживал слёзы. «Я был вымотан, потому что не спал несколько дней», — рассказывает он, вспоминая то утро в доме. «Я мог бы запросто потерять равновесие и сдаться. Но в такие моменты ты понимаешь, что сдаваться намного хуже, чем бороться. Идти вперёд, как бы тяжело ни казалось, проще, чем потерять всё, чем пожертвовал. Я чувствовал это даже в 17 лет».

Большинство читателей должно помнить OutRun — непринуждённую гоночную аркаду Sega, появившуюся на аркадных автоматах в 1986 году. Игрок гонял на Ferrari Testarossa по длинным автострадам, пытаясь уложиться в нужное время и впечатлить блондинку на пассажирском сиденье. Однако путь Мартина, получившего задание конвертировать OutRun, был немного иным. Он с его отцом Деннисом погрузились в семейный Ford Sierra и отправились на север по M1, из своего дома в Кенте в бирмингемский офис US Gold. «Меня всегда напрягали поездки с отцом», — говорит Мартин. «Я любил слушать радио, а отец — разговаривать. Мы выезжали рано, и я только и хотел. чтобы спать и видеть сны. Но отец жаждал разговаривать об играх и моём коде. Меня это выматывало».

Оказалось, что 17-летний парень создал прототип именно того, что нужно US Gold — и это было во время Пасхи, то есть оставалось ещё несколько месяцев, чтобы завершить игру к рождеству 1987 года. «Джефф позвал меня в смежную комнату, где стоял автомат OutRun. Он спросил: „Мартин, ты ведь можешь это сделать? Сможешь превратить эту игру в версию для C64?“ Я был потрясён. За час юристы и мой отец составили договор, и так я приступил к своей первой конверсии игры. Авансом нам заплатили около 20 тысяч фунтов. Для 1987 года это была куча денег.

Несмотряна то, что аркадный автомат OutRun был техническим монстром под управлением двух процессоров 68000, Мартин чувствовал, что справится и создаст достойную версию, способную работать на слабом процессоре 6510 Commodore 64. «Да, ставки были высоки», — рассказывает он, имея в виду солидный аванс. «Получается, что отец поставил на кон наш дом, и у нас был дедлайн, но игра с Porsche уже работала, поэтому я обладал преимуществом. Помню, что первым дело я создал экран заставки, экран радио для выбора саундтрека и экран рекордов. Я написал их, потому что эти элементы нужны были US Gold, и создав их, я знал, сколько памяти мне ещё оставалось. После этого реальных проблем у игры оставалось всего две: холмы и огромный объём графики».

Он справился с холмами за пару часов («Достаточно было научиться смещать вверх и вниз горизонт, создаваемый в нужной растровой строке»), но с графикой возникли затруднения: что выбрать — скорость или детализацию изображения? «Для меня настоящей проверкой навыков была скорость», — говорит он. «OutRun была быстрой на аркадных автоматах, поэтому я знал, что она должна оставаться быстрой и на домашних компьютерах. Но ещё я понимал, что за это придётся расплачиваться квадратными спрайтами объектов вместо оригинальной графики. Это было рискованно, но я решил, что лучше выбрать большие, быстро движущиеся объекты, чем мелкие и более плавные. Это был вопрос личного вкуса. Если бы я переделывал игру сегодня, возможно, я бы пошёл другим путём, но когда я тестировал игру, то гордился мгновенно пролетающими по экрану объектами».Несмотря на то, что аркадный автомат OutRun был техническим монстром под управлением двух процессоров 68000, Мартин чувствовал, что справится и создаст достойную версию, способную работать на слабом процессоре 6510 Commodore 64. «Да, ставки были высоки», — рассказывает он, имея в виду солидный аванс. «Получается, что отец поставил на кон наш дом, и у нас был дедлайн, но игра с Porsche уже работала, поэтому я обладал преимуществом. Помню, что первым дело я создал экран заставки, экран радио для выбора саундтрека и экран рекордов. Я написал их, потому что эти элементы нужны были US Gold, и создав их, я знал, сколько памяти мне ещё оставалось. После этого реальных проблем у игры оставалось всего две: холмы и огромный объём графики».

Всё шло хорошо и Мартин на несколько недель опережал график, но финишная черта внезапно отодвинулась дальше. «Изначально US Gold попросила создать только несколько трасс. Но когда я закончил в октябре, Джефф попросил меня портировать все трассы, что было титанической задачей. У нас не было дизайн-документов оригинала, только сама аркадная игра, поэтому мне пришлось осваивать каждую трассу и записывать прохождение на видео камерой Super 8. Я много играл в эту игру».

Дополнительный контент растянул процесс разработки почти до дедлайна и привёл к багу, едва не помешавшему дублированию игры. Мартину удалось устранить его в последний момент, но он не смог ничего сделать с процедурой многократной загрузки, из-за которой было невозможно реализовать разветвление дорог, которым был знаменит оригинал игры. Отсутствие этой особенности упоминалось в большинстве журнальных обзоров, в том числе и в Zzap!64: издание хвалило игру за «потрясающую скорость», но жаловалось на нехватку «играбельности и изюминки», поставив ей оценку 68%. Этот рейтинг был довольно стандартным, и если бы в то время существовал Metacritic, то данная версия игры получила среднюю оценку 58

Он справился с холмами за пару часов («Достаточно было научиться смещать вверх и вниз горизонт, создаваемый в нужной растровой строке»), но с графикой возникли затруднения: что выбрать — скорость или детализацию изображения? «Для меня настоящей проверкой навыков была скорость», — говорит он. «OutRun была быстрой на аркадных автоматах, поэтому я знал, что она должна оставаться быстрой и на домашних компьютерах. Но ещё я понимал, что за это придётся расплачиваться квадратными спрайтами объектов вместо оригинальной графики. Это было рискованно, но я решил, что лучше выбрать большие, быстро движущиеся объекты, чем мелкие и более плавные. Это был вопрос личного вкуса. Если бы я переделывал игру сегодня, возможно, я бы пошёл другим путём, но когда я тестировал игру, то гордился мгновенно пролетающими по экрану объектами».Несмотря на то, что аркадный автомат OutRun был техническим монстром под управлением двух процессоров 68000, Мартин чувствовал, что справится и создаст достойную версию, способную работать на слабом процессоре 6510 Commodore 64. «Да, ставки были высоки», — рассказывает он, имея в виду солидный аванс. «Получается, что отец поставил на кон наш дом, и у нас был дедлайн, но игра с Porsche уже работала, поэтому я обладал преимуществом. Помню, что первым дело я создал экран заставки, экран радио для выбора саундтрека и экран рекордов. Я написал их, потому что эти элементы нужны были US Gold, и создав их, я знал, сколько памяти мне ещё оставалось. После этого реальных проблем у игры оставалось всего две: холмы и огромный объём графики».