- PVSM.RU - https://www.pvsm.ru -

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 1

Начало 90-х — это время войн консолей четвёртого поколения [1]. Основными конкурентами за рынок и кошельки фанатов игр стали Nintendo и Sega с приставками Super NES (Super Famicom) и Sega Mega Drive (Genesis). Обе компании пытались привлекать игроков зрелищными спецэффектами, но вычислительные мощности приставок были ограничены. Они физически не способны самостоятельно обеспечить расчёт трёхмерной графики.

Однако выход был найден, и заключался он в самой концепции картриджей, которые были не только накопителями с играми, но и могли использоваться как платы расширения. В марте 1993 года появился первый картридж SNES с космическим симулятором Starfox. Внутри него был установлен сопроцессор Super FX, обеспечивший долгожданный прорыв в 3D. Разработку сопроцессора Nintendo поручила британскому разработчику игр Argonaut Software. Что же это за компания, и как её пути пересеклись с Nintendo? Чтобы ответить на этот вопрос, нужно вернуться ещё на десять лет назад.

Краткая история аргонавтов

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 2
Джереми Сэн

В 1982 году 16-летний британский хакер Джереми «Джез» Сэн (Jeremy «Jez» San) основал свою компанию Argonaut Software, предоставляющую крупным корпорациям услуги консалтинга в области IT-безопасности. Название компании появилось из игры слов: J.San произносится очень похоже на Jason (Ясон), а где Ясон, там и аргонавты. Джереми был вундеркиндом, в 13 лет он изучил ассемблерный язык нескольких компьютерных архитектур. В дальнейшем он воспользовался этими знаниями для устранения «дырок» в безопасности коммерческих компьютерных систем.

Чуть позже Джереми со своим другом Фуадом «Фу» Катаном (Fouad «Foo» Katan) занялись разработкой игр, и в 1984 году выпустили горизонтальный shoot'em-up Skyline Attack для Commodore 64, но настоящая слава пришла к ним после выпуска Starglider. Это был трёхмерный FPS на космическую тематику для 16-битных компьютеров Commodore Amiga и Atari ST. Он считается первой популярной 3D-игрой, его портировали на другие платформы и продали несколько сотен тысяч копий.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 3
Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 4
Skyline Attack

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 5
Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 6
Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 7
Starglider

В 1988 году «аргонавты» выпустили вторую часть Starglider. В это же время в компанию пришёл 16-летний разработчик Дилан Катберт (Dylan Cuthbert). Годом позже Nintendo выпустила японскую версию первой 8-битной портативной консоли GameBoy. Джереми Сэна заинтересовала консоль, он заказал её из Японии и создал для неё экспериментальный комплект разработки. В то время, как GameBoy был всё ещё недоступен остальному миру, с помощью этого комплекта Катберту удалось выжать из его скудных ресурсов максимум и написать демку векторного 3D-движка!

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 8
Дилан Катберт

Слово «векторный», а не «полигональный» использовано не зря — движок мог отрисовывать только отрезки, соединяющие точки, но не закрашивать полигоны. Все объекты в демо состояли из просвечивающих насквозь «проволочных» (wireframe) каркасов.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 9
Игра 1980 года Battlezone с векторной wireframe-графикой

Джез с гордостью продемонстрировал демо на Consumer Electronic Show. Больше всех им были потрясены представители Nintendo.

Дилан Катберт вспоминает:

«В Nintendo осознали, что никто до нас не пытался реализовать 3D на GameBoy, никто даже не думал, что это возможно, и сама Nintendo в особенности. Они считали, что это просто 2D-система и она не предназначена ни для чего другого.»

Две недели спустя «аргонавтов» пригласили в японский офис компании и предложили использовать их технологию в будущей продукции Nintendo. В этот раз они показали 3D-движок всему руководству, и сам Сигэру Миямото [2] благословил Дилана на совместную работу вместе с директором серии Metroid Ёсио Сакамото [3] над полной версией движка.

В 1992 году работа над проектом была закончена, и анонс игры под коротким названием «X» уже был размещён в собственном журнале компании Nintendo Power. Однако Nintendo внезапно поменяла планы и отказалась от распространения игры на мировом рынке, ограничившись Японией. Так первый 3D-шутер для GameBoy не стал мировой классикой.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 10
В графике X чётко видно влияние Starglider

Самым большим успехом Argonaut по-прежнему оставался Starglider. И чтобы поднять планку, им недостаточно было усовершенствованных программных техник…

Вернёмся к первой встрече Argonaut с Миямото и представителями Nintendo в Японии. На ней Джереми продемонстрировал ещё один пример игры, созданный на основе Starglider и предназначенный для работы на NES (он имел соответствующее название NESglider). В свою очередь, Nintendo решила, что настало время познакомить Джеза и Дилана с новейшим проектом компании: очень грубым прототипом тогда ещё никому не известной системы Super Famicom с ранней версией игры Pilotwings. Руководство заявило, что это первая попытка Nintendo реализовать 3D в будущей консоли, которая может сильно выиграть от использования знаний молодых программистов.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 11
Прототип Super Famicom

Разработка Super FX

Следующим шагом Argonaut стала работа над портированием демки NESglider на незавершённый прототип приставки Миямото. Годы спустя Джез рассказывал в интервью:

«Я сказал им, что будет гораздо лучше, если они дадут нам разработать оборудование, чтобы SNES уверенно чувствовала себя в 3D. К удивлению, несмотря на отсутствие у меня опыта, они согласились и дали мне миллион долларов на реализацию.»

Argonaut Software наняла команду опытных разработчиков чипов из Кембриджа, чтобы создать первый в мире 3D-акселератор на основе одного из первых RISC-процессоров.

«Мы были первыми на рынке ускорения 3D, который теперь поделили NVidia и ATI… и у нас есть патенты, доказывающие это.»

Прототип Super Famicom был плохо документирован, поэтому для более полной интеграции чипа с 16-битной аппаратурой и улучшения производительности всей системы пришлось выполнять реверс-инжиниринг. «Аргонавтам» это удалось, но им пришлось смириться с вынесением сопроцессора в игровой картридж (это повысило стоимость картриджей, а не самой приставки). Результатом стал чип «MARIO» («Mathematical, Argonaut, Rotation & Input/Output»), позже переименованный Nintendo в «Super FX».

«Это был не просто графический чип, а микропроцессор, предназначенный для работы с графическим ПО, но он выполнял и другие функции (например, быстрые математические вычисления)».

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 12
Первая версия графического ускорителя Argonaut с сохранившейся маркировкой MARIO CHIP 1.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 13
Финальная версия процессора, используемая в Starfox, Stunt Race FX, Vortex и Dirt Trax FX

Сама по себе Super NES имела ограниченные математические возможности, за исключением знаменитого режима «Mode 7», который мог только масштабировать и вращать одиночный 2D-фон. Более того, центральный процессор SNES даже не содержал команды умножения!

Технические характеристики процессора перечислены в Приложении A.

Первая игра с графическим ускорителем

Работа Дилана над X совпала по времени с разработкой Super FX (примерно в 1990-1992 годах). В 1992 году оба проекта почти одновременно были завершены. После выхода ставшей в Японии хитом единственной монохромной игры Argonaut, Дилан присоединился к Джайлсу Годдарду (Giles Goddard) и Кристеру Вомбеллу (Krister Wombell) в новом совместном проекте Argonaut и Nintendo: создании первой игры, использующей только что разработанный 3D-акселератор.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 14
Американская обложка игры Starfox

Знаменитая теперь серия игр Nintendo под названием Starfox начиналась как Starglider 3, продолжение популярного космического шутера с Amiga. Поэтому, Argonaut снова использовала так полюбившуюся ей тему межзвёздных боевых действий. Задачей Nintendo на этот раз стала работа над более «аркадным» стилем игры, более лёгким по сравнению с симулятором X.

Создание милых персонажей и простого сценария было только половиной работы. Им также пришлось упростить управление и перейти от свободных полётов, характерных для предыдущих игр Argonaut, к более удобному для пользователя «рельсовому» аркадному игровому процессу, вдохновлённому играми Starblade и Solvalou компании Namco. Такие изменения огорчили некоторых фанатов Argonaut (сам Дилан хотел, чтобы уровни Starfox не были линейными), но, как мы знаем, игровой процесс финального продукта оказался близким к идеалу.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 15
Starfox

Сюжет игры — борьба элитного отряда наёмников Starfox (состоящего из ястреба Falco, кролика Peppy, жабы Slippy и лидера команды лиса Fox) против зловещего учёного Andross. Команда Фокса должна защищить родную планету Corneria и остальную часть системы Lylat с помощью своих космических кораблей (Arwing), нанеся контрудар и пройдя по одному из трёх маршрутов на выбор, чтобы в конце добраться до источника зла — планеты Venom. Каждый маршрут (называемый в игре уровнем) отличается сложностью и этапами. Он проходит через различные планеты системы, поля астероидов, сектора в глубоком космосе, и даже таинственную чёрную дыру и скрытое альтернативное измерение.

Как уже сказано, свобода передвижения, доступная в Starglider и X, не была перенесена в Starfox. Вместо него Arwing игрока автоматически следует по заданному пути на каждом из этапов, отстреливая врагов и уклоняясь от препятствий, а потом достигает конца этапа и босса. Похоже, что это сильно урезало возможности игрока по сравнению с предыдущими играми Argonaut, но 3D-движок всё равно оставляет достаточно способов для уворотов и перемещений. Камера при этом следует за ним вверх, вниз и в стороны.

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

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

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 16
Карта уровней Starfox

Этапы более уникальны, чем в обычных играх жанра shoot'em-up, в некоторых из них можно даже выбирать до трёх точек обзора камеры (самая интересная — прямо внутри кокпита Arwing). Игровой процесс Starfox состоит постоянно изменяющемся балансе между мастерским управлением и быстрой стрельбой. Игрок занят проникновением во вражеские туннели, уворачиванием от астероидов и безопасным прохождением через космические станции противника, в то же время стремясь расстрелять как можно больше врагов.

Игрок проходит игру не в одиночку. Наверно, лучшая из идей Nintendo в Starfox — добавление трёх напарников Фокса, постоянно защищающих «тылы» его Arwing и следующих за игроком в тесном боевом порядке. Они общаются глуповатыми, искажёнными голосовыми сэмплами (над этой деталью игроки больше всего смеялись), и даже могут спасаться бегством, запрашивая помощи у Фокса, когда их линейки энергии снижаются при атаках врагов. Такое взаимодействие с командой, даже очень ограниченное, сильно повышало ощущение принадлежности к отряду, заставляя игрока заботиться о напарниках. Если же они покидали поле боя, игрок сразу же замечал недостаток огневой поддержки.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 17
Slippy благодарит игрока за помощь

Скромные возможности 10,5-мегагерцового чипа Super FX были в то время впечатляющими, хотя они и не соответствуют современным стандартам. Самым заметным недостатком была невероятно «рваная» частота кадров (в эмуляторах она не так очевидна) и низкое разрешение вывода видео с чёрной рамкой вокруг экрана (Super FX мог отрисовывать не более 192 строк по высоте). К счастью, эти проблемы не повлияли серьёзно на игровой процесс.

Интересно, что мир Starfox состоял не из одних полигонов. Фонами служили красивые неподвижные и анимированные изображения, а процессор Super FX не только занимался вычислением векторов, но и масштабировал и поворачивал 2D-спрайты, такие как круговые лазеры, астероиды и сама финальная форма босса Andross.

Успех Starfox стал результатом отличного баланса между инновационной технологией Argonaut и внимательной работой с деталями Nintendo. Разрушаемые крылья Arwing, сменяемые камеры и короткое интро «Scramble», ставшее классическим — результат работы Argonaut; дизайн игры, упрощённое управление, взаимодействие с напарниками и превосходный саундтрек — заслуга Nintendo.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 18

Жизнь после Starfox

После огромного успеха Starfox Дилан начал работать над созданием его продолжения для SNES. Starfox 2 уже находился в состоянии финальной бета-версии, но Nintendo решила полностью отказаться от него в пользу улучшенных 3D-возможностей новой N64. После этого Катберт ушёл из Argonaut в Sony Computer Entertainment America, где работал над разработкой игры Blasto для Playstation. Несколько лет спустя он был переведён в токийский офис Sony, разрабатывал Ape Escape и в 2001 году покинул компанию, основав собственную студию разработки «Q-Games». Он продолжает жить в Японии, его компания создавала различные проекты для Nintendo DS, Playstation 3 и Playstation 4.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 19
Титульный экран невыпущенной Starfox 2

Успех Starfox и чипа Super FX привели к расширению работы Argonaut. Джез и его команда разрабатывала процессоры для других игровых консолей: «GreenPiece» Philips, «VeggieMagic» Apple и «MatriArc» Hasbro; ни одна из них не была выпущена. Огорчённая этим команда Argonaut наконец создала собственный микропроцессор («Argonaut RISC Core») и продала его дизайн с неисключительными правами.

В 2002 году Джез получил Орден Британской империи, который был впервые вручён за достижения в индустрии компьютерных игр. К сожалению, через два года Argonaut Software Ltd была ликвидирована из-за значительных убытков. Сейчас Джез работает президентом компании, занимающейся онлайн-покером, основанной им в 2005 году.

Приложение A: подробности о процессоре Super FX

Дизайном аппаратной части чипа занималась британская компания Ben Cheese Electronic Design.

Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 20
Бен Чиз, разработчик Super FX

Первая версия Super FX (GSU-1) имела частоту 21,477 МГц, но внутренний делитель тактовой частоты уменьшал её до 10,74 МГц. Процессор имел 100 контактов. Super FX 2 (GSU-2), работал на полной частоте 21,477 МГц, у него было 112 контактов и он имел доступ к большему объёму SRAM.

Игровые картриджи с чипами Super FX имеют дополнительные контакты, соединяемые с дополнительными контактами в разъёме картриджа, которые обычно не использовались. Адаптеры картриджей, такие как Game Genie [4], не имели соединений с этими ранее неиспользованными контактами, поэтому игры с Super FX невозможно было использовать в таких устройствах.

Кроме рендеринга полигонов, чип часто использовался для помощи SNES / Super Famicom со сложными 2D-эффектами.

Для разработчиков игр чип стоил 10 долларов.

Super FX (GSU-1) Super FX 2 (GSU-2)
Частота 10,74 МГц 21,477 МГц
Количество контактов 100 112
SRAM 32 КБ 64 КБ (поддерживает до 128 КБ)

Приложение B: игры, использующие Super FX

Super FX (GSU-1)
StarFox (8 Мбит ROM, 1993, Nintendo/Argonaut) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 21
Super StarFox Weekend (8 Мбит, 1993, Nintendo/Argonaut) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 22
Stunt Race FX (8 Мбит, Nintendo/Argonaut) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 23
Vortex (4 Мбита, Electrobrain/Argonaut) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 24
Dirt Racer (4 Мбита, 1995, Elite Systems/MotiveTime) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 25
Dirt Trax FX (4 Мбита, 1995, Acclaim/Sculptured Software) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 26
Super FX 2 (GSU-2)
DOOM (16 Мбит, 1995, Williams) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 27
Winter Gold (16 Мбит, 1996, Nintendo/Funcom) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 28
Super Mario World 2: Yoshi’s Island (16 Мбит, 1995, Nintendo) Как на Super Nintendo появились 3D-игры: история сопроцессора Super FX - 29

Автор: PatientZero

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/staroe-zhelezo/195925

Ссылки в тексте:

[1] консолей четвёртого поколения: https://ru.wikipedia.org/wiki/%D0%A7%D0%B5%D1%82%D0%B2%D1%91%D1%80%D1%82%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BA%D0%BE%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC

[2] Сигэру Миямото: https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D1%8F%D0%BC%D0%BE%D1%82%D0%BE,_%D0%A1%D0%B8%D0%B3%D1%8D%D1%80%D1%83

[3] Ёсио Сакамото: https://en.wikipedia.org/wiki/Yoshio_Sakamoto

[4] Game Genie: https://ru.wikipedia.org/wiki/Game_Genie

[5] Источник: https://geektimes.ru/post/281084/