Жизнь в мире компьютерных игр — страница 13 из 58

Глава 5. Коллективные усилия

Gunship, 1986

Пока я думал, за какой бы проект приняться дальше, в мире компьютерного оборудования приближалась к своей верхней точке драма продолжительностью семь лет: причины войны между Atari и Commodore лежали не только в области бизнеса, но и в личных взаимоотношениях. Конфликт был крайне запутан и включал недружественные поглощения, переход сотрудников обеих компаний в новые проекты, потерю и обретение (в самом буквальном смысле) финансовых соглашений. В итоге обе компании утверждали, что владеют технологией, которую на самом деле не разрабатывали, и обе подали друг на друга массу судебных исков. В центре всей этой бучи был тогдашний Святой Грааль процессорных технологий: чипсет 68 000, который назывался Lorraine.

В скобках замечу, что всегда считал присвоение кодовых наименований проектам формой мании величия, и в MicroProse мы этого никогда не делали. Мои игры всегда назывались «игрой про подлодки» или «игрой про день высадки в Нормандии», а название мы придумывали лишь незадолго до релиза. С другой стороны, надо признать, что наши проекты сами по себе содержали некий элемент приятного волнения, ведь уже слово «игра» подразумевало, что у нас заготовлено что-то увлекательное. А вот если вы разрабатываете компьютерное оборудование, то условное название нового продукта «более быстрая серая коробка» работает несколько хуже. Сейчас по инициативе издательской компании мы все же используем кодовые наименования, ведь проектные команды стали куда многочисленнее, а корпоративный шпионаж стал для нашей отрасли серьезной проблемой. Содержание электронной переписки «утекает» сейчас слишком легко, и я понимаю, чем вызвана потребность в защите секретной информации. Но иногда все это приводит к диалогам в стиле «Кто на первой базе?»: не все сотрудники в курсе произвольных кодовых наименований всех проектов. Лично я в тех случаях, когда не хочу рассказывать, над чем сейчас работаю, просто предпочту не говорить на эту тему.

Atari и Commodore еще многие годы судились за права на Lorraine, но на тот момент ни одна из двух компаний не могла воспрепятствовать другой в использовании чипсета на последнем поколении своих компьютеров. Мне корпоративные разборки были абсолютно безразличны. Гонка вооружений между технологическими компаниями для нас была большим благом, ведь в компьютерах Atari ST и Commodore Amiga был один процессор 68 000, а значит, мы могли продавать превосходные игры вдвое большему количеству людей.

Не придумав никакой конкретной идеи, я начал работать над новым движком трехмерной графики для Amiga. Потом выяснится, что этому проекту суждено стать единственной моей разработкой для этого компьютера, ведь вскоре он канул в Лету. Amiga был вполне достойной машиной, но по объему продаж он не оправдал ожиданий, и наша маленькая компания не могла этого не учитывать. Когда мы разрабатывали игру для определенного компьютера, на ее отладку уходило иногда до года: корректировка визуальной разметки под то или иное разрешение экрана, оптимизация звуковых эффектов с учетом определенного аудиочипа и т. п. После того как первый, самый трудный этап был пройден, нам требовалось всего несколько месяцев, чтобы подогнать код под остальные популярные на рынке системы. Первоначальный релиз у нас всегда был лучшей версией игры, поэтому имело смысл поработать над тем, чтобы как можно большее количество клиентов получило наилучший игровой опыт, и для этого мы разрабатывали первую версию для самой популярной на тот момент платформы. У Amiga было некоторое количество страстных поклонников, но лидером рынка он никогда не стал ни в домашнем, ни в офисном сегменте.

Однако эта тенденция проявится лишь через год, потому что разработчикам ПО давали прототипы новых компьютеров для работы задолго до того, как выпустить их в продажу. Так что я возился со своим 3D-движком и фантазировал о том, какие игры мы когда-нибудь сможем на нем делать, пока вся остальная команда в других комнатах офиса продолжала работать с зарекомендовавшими себя платформами.

Один из находившихся тогда в работе проектов для Commodore назывался Gunship, его создателями были Энди Холлис и наш новый дизайнер графики Арнольд Хендрик. Gunship в существенной степени был вдохновлен ролевыми играми, для которых требовались лишь ручка и бумага: именно такие игры Арнольд создавал в начале своей карьеры. Помимо прочего, Gunship унаследовал от них довольно радикальную идею «перманентной смерти». У игрока была возможность сохранять свой прогресс и продолжать набирать победы, загрузившись с сейва в любое удобное время, но в случае провала миссии в Gunship нельзя было восстановить игру на месте последнего сохранения. Если вы умирали, то вы умирали. Некоторые, правда, умудрялись спастись, быстро вытаскивая дискету из дисковода до того, как компьютер успевал перезаписать данные на ней. Среди прочих необычных особенностей игры можно отметить возможность давать имя своему персонажу и набирать вооружение вертолета, не выходя при этом за пределы требования по максимально допустимой нагрузке: схожим образом в традиционных ролевых играх распределяются очки навыков. Волшебник 20-го уровня в «Подземельях и драконах» (Dungeons & Dragons) мог убежать с поля битвы или проспать всю ночь в таверне, чтобы восполнить показатели; в Gunship же пилот вертолета мог переждать миссию, взяв больничный, или передохнуть вне базы. Подобные приемы в поведении персонажа оттачивались на протяжении более десяти лет ветеранами настольных игр, и Gunship стал одним из первых примеров удачного перенесения их в цифровую вселенную.

Интересно еще и то, что игроки сами могли выбирать, управлять посадкой самостоятельно или выполнить ее на автопилоте, – на этот раз мы не забыли описать этот процесс в руководстве пользователя.

Но в то время как механика игры ломала сложившиеся представления о разработке игр, механика полета в ней просто ломалась без посторонней помощи. Мы понимали, что на незнакомой территории у игроков наверняка возникнут проблемы, ведь это был один из первых вертолетных симуляторов, появившихся на рынке. Мы старались сделать процесс обучения максимально простым, придумав для этого разноцветную рамку с напоминаниями – накладную клавиатуру, давно забытый пережиток прошлого в современном мире эргономичных внешних устройств, которые уже и сами не толще картона. Однако наши плейтестеры уверяли нас, что джойстик управления вертолетом был известен игрокам и в достаточной степени интуитивно понятен. Основной проблемой, по их словам, была скорость.

Вертолеты хоть и летали медленнее, чем их крылатые собратья, но обладали большей маневренностью при разворотах, а для разработчика, пишущего код игры, поворачивать окружающий пейзаж труднее, чем приближать его по горизонтали. Самолету потребовалось бы несколько секунд для поворота из одного положения в другое, а вот вертолет мог резко поворачиваться и даже кружиться на месте, а значит, нам нужно было рендерить 360 градусов окружающего пейзажа в трехмерной дуге быстрее, чем когда-либо раньше.

Я предложил свой 3D-движок, и команда с радостью согласилась, хотя для его использования и требовалось полностью переделать весь базовый код. Commodore 64 уступал в мощности Amigа, на котором я сделал свой движок, но даже на менее мощном компьютере все работало намного эффективнее, чем раньше. На протяжении нескольких месяцев мы с Энди Холлисом меняли код и пытались заставить старый компьютер работать как новый.

Все сводилось к частоте кадров (то есть сколько раз компьютер успевал отрисовать экран за секунду). Изменение одной крошечной детали на переднем плане, например стрелки высотомера, компьютером обсчитывалось быстро. Но изменение всего заднего фона приводило к тому, что смена изображения на экране начинала значительно тормозить.

Мы решили отследить частоту кадров в наших играх, и она оказалась не очень-то высокой. Даже первоначальная версия моей игры по вселенной «Звездный путь» на серверах General Instruments работала с той же скоростью, хотя по сложности перемещение текста было, конечно же, несравнимо с поворотом склона горы. Другие игры, сделанные нами в MicroProse, шли с большей частотой, но минимально допустимой оказалась частота 4 кадра в секунду. С более низкой частотой игры становились неиграбельными.

В Gunman у нас была частота 3 кадра в секунду.

«Мне нужно провести еще один цикл оптимизации, – стенал Энди поздними вечерами и умолял меня найти какую-нибудь вычислительную операцию, которую не обязательно было выполнять, или фрагмент данных, которые не обязательно было хранить в определенный момент игрового времени. – Я уверен, ты сможешь еще что-нибудь придумать!»

Мы и так уже сильно отставали от графика из-за смены движка, и если бы проблемы со скоростью не получилось решить в кратчайшие сроки, нам пришлось бы начать вышвыривать куски игры как балласт с воздушного шара, чтобы оставшаяся масса могла оставаться в воздухе.

К счастью, у нас все получилось: игра вышла тиражом 250 тысяч копий и завоевала награду «Экшн-игра года», присуждаемую журналом Computer Gaming World. Я хотел бы описать здесь методы, которые мы использовали для достижения результата, но для этого пришлось бы приводить длинные, сложные и, как меня заверили, скучные математические выкладки. Отмечу лишь, что нам помогло не какое-то одно гениальное прозрение, а десятки небольших изменений, многие из которых придумали вовсе не мы. Нам пришлось придумывать, как делать свою работу более качественно, но, помимо этого, мы пользовались плодами деятельности тех, кто уже делал что-то лучше нас: новыми технологиями, новыми алгоритмами сжатия данных, новыми методами внедрения стандартных подпрограмм. Создание игр – коллективный труд, и смешно думать, что кто-то один может взять на себя все регалии. Как показал мой первый опыт участия в Международной выставке потребительской электроники в Лас-Вегасе, наша отрасль состояла не из одного неподражаемого монолитного стенда, а из тысяч стендов-малышей: возможно, у некоторых из них не нашлось одинаковых столов, но каждый вносил свой вклад в общее дело.