Po’ed
Будучи студентом Корнеллского университета, Нейт Хуан (Nate Huang) впервые заинтересовался компьютерной графикой после посещения курса профессора Дона Гринберга. Он получил степень магистра в Университете Брауна под руководством профессора Энди ван Дама, а затем несколько лет работал штатным научным сотрудником в Brown Graphics Group в своём же университете, занимаясь исследованиями в области 3D пользовательских интерфейсов и систем анимации. В это время Нейт заключил контракт на создание демо 3D-графики для своего знакомого Брайана Йена (Brian Yen), когда он работал в команде демо в Sun Microsystems. Компании требовалась демонстрационная версия многопроцессорной графики для двухпроцессорной системы x86 под управлением их новой ОС Solaris для какой-то торговой выставки. (Оглядываясь назад, можно сказать, что 1994 год был довольно ранним для двухпроцессорного процессора x86). У Брайана была демонстрация фонтана, которую он показывал на конференции по графике SIGGRAPH несколько лет назад. Нейт сделал ее многопоточной, чтобы она работала быстрее с двумя процессорами, чем с одним. Он также перенес на эту платформу одну из демо Brown Graphics Group, и это было нормально, поскольку у Graphics Group уже были спонсорство и рабочие отношения с Sun. Нейт провел две недели в Кремниевой долине ради этой работы, получил огромное удовольствие и понял, что в конечном итоге окажется в Калифорнии. В 1994 году он решил покинуть гнездо и переехать. К тому времени Брайан покинул Sun, чтобы основать Any Channel, и Нейт пошел на него работать.
Any Channel была основан Брайаном Йеном, Ирен Пэн и Филом Ламом. Брайан работал в Sun, писал демо-версии графики и хотел основать собственную компанию. Ирен работала инженером в Sun. Фил был другом Брайана еще со времен его учебы в Корнелльском университете. Итак, Брайан занимался бизнесом, Ирен занималась разработкой, а Фил занимался маркетингом. Вскоре после этого к ним присоединился Расс Пфлюгаупт (Russ Pflughaupt) в качестве четвертого партнера. Расс был инженером по производительности графики в Sun. Название Any Channel (в переводе Любой Канал) возникло из долгосрочного видения телеприставок, где (в будущем) вы могли бы включить «любой канал» на своем телевизоре, и компания могла бы предоставлять некоторые развлекательные услуги.
Нейт Хуан появился через несколько месяцев, желая начать новую жизнь в качестве инженера в Кремниевой долине, и был принят на работу в качестве первого сотрудника практически исключительно по рекомендации Брайана. Через несколько месяцев к ним присоединился второй сотрудник, очень талантливый художник по имени Кента Уильямс (Kenta Williams), который сделал весь звук для PO’ed, а также создал изображения для ряда уровней и монстров.
Когда присоединился Нейт у них еще не было офиса. Брайан снимал дом в Пало-Альто, поэтому гостиная стала их штаб-квартирой с одним Mac, тестовой версией 3DO и кучей старых рабочих станций Sun Sparcstation, которые были «позаимствованы» от друзей из Sun. «Мне понравилась сцена из фильма «Социальная сеть», где ребята из Facebook программируют в гостиной Пало-Альто, потому что я жил там в 1994 году, только без бассейна! (И не становясь миллиардерами…)» — говорит Нейт.
Брайан:
С самого начала команда знала, что они хотели сделать игру в полном 3D. Просто потому, что они были в этом специалисты, а таких коммерческих игр ещё не было — Quake появился лишь 8 месяцев после Po’ed. Также они хотели сделать ненасильственную игру, которая бы отличалась от всего, что есть на рынке.
Первой концепцией, которую Брайан, Ирен и Фил разработали, была обучающая игра по навигации по человеческому телу, как в старом фильме «Фантастическое путешествие», борьба с антителами и другими защитными силами человеческого тела. Но они пришли к выводу, что он не будет продаваться, поскольку в то время единственное, что можно было продать по цене более 50 долларов, это что-то более жестокое, а образовательные издания обычно проваливались. Они думали дальше.
Расс присоединился к компании и убедил всех, что 3D-игра от первого лица — это лучший вариант, с чем они согласились, но хотели остаться на ненасильственной теме. Обдумавши множество идей, они пришли к повару на чужой планете, по сути, «Под осадой + Чужой» Стивена Сигала. Стрельба по инопланетянам, похоже, удовлетворяет требованию ненасильственного характера, поскольку убийство инопланетян разрешено, а убийство людей — нет. «А поскольку шеф-повар был последним человеком, оставшимся в живых, ни один человек не пострадал при создании этой видеоигры«. — говорит Брайан.
Теперь осталось сделать что-то отличающееся от других.
Во-первых, главный герой, шеф-повар Окс, героичен не потому, что он специалист по боевым искусствам, это было бы слишком банально. В конце концов, он повар, поэтому превратился в этого толстого осла, вооружённого сковородкой. Нам нужно было обеспечить неожиданные встречи, в которых вы думаете, что толстяк обязательно умрет, но ему удается уйти благодаря тонким волоскам своего ума. Или просто потому, что толстая задница встретила себе пару — другую задницу.
«Мы смотрели на игры вроде Doom, Marathon, Dark Forces и взяли из них лучшие элементы на наш вкус.» — вспоминает Расс Пфлюгаупт.
«Но мы хотели уйти ощущение туннеля в этих играх, поэтому мы сделали окружение в Po’ed очень открытым и совсем не шаблонным». Разработчики изначально даже хотели добавить в игру транспорт — мотоцикл и танк, но не нашли толкового способа их использовать. Брайан Йен даже успел разработать физику этих объектов, а также сальто назад. По мере того, как команда приобретала опыт в дизайне игрового процесса и искусственном интеллекте монстров, уровни начали становиться более сложными. Изначально при разработке уровней не было грандиозного плана. Кроме того, поскольку это инопланетный мир, у них была полная свобода проектирования, чтобы представить, что будут делать инопланетяне.
«The level designs, due
to their size, are more suited to negotiation on foot and by pack, but if we can get them in, we will.»
Refreshingly, Any Channel has avoided the level-by-level approach usually adopted for this type of game. «The structure wil! be free-form so that you won’t be restricted to hitting a level at a time in strict sequence,» explains Pflughaupt. «If you drop into an area and find yourself outgunned and generally getting your butt whipped, you’ll be able to pull out and go in search of more powerful weaponry.»
Развитие персонажей и сюрреалистическая среда следовали первоначальной траектории дизайна, обеспечивая острые ощущения шутера от первого лица, не убивая при этом ни одного человека и пытаясь отличаться от других игр. Большинство других игр, даже тех, в которых участвуют инопланетяне и монстры, сделаны серьёзно. Поэтому Any Channel постарались добавить в это немного юмора. Например, при использовании электродрели экран может быть настолько забрызган кровью, что вы ничего не увидите, поэтому вытирающая рука вытирает кровь с вашего лица.
Название PO’ed появилось, когда мы пытались придумать название, которое выражало бы эмоции персонажа, но при этом было бы простым, коротким и запоминающимся.
Часть дизайна монстра была обязана своей эксцентричностью одному из наших инвесторов (родственник Брайна), он создал Жопового монстра (Butt Monster) и нескольких других персонажей, таких как Амазонка. Но «Жопочный монстр» был его главным достижением. Они хотели получить физическое изображение метафорического «ходячего засранца», и он вернулся с этим шедевром. «Мы все смеялись до упаду, когда впервые увидели эту скульптуру. Возможно, оно у меня еще есть где-нибудь». — вспоминает Брайан Йен.
Нейт
Ещё в Университете Брауна, Нейт Хуан разработал вместе Дэном Робинсом (Dan Robbins) приложение для 3D-моделирования. Нейт подумал, что Дэн — это идеальный кандидат на создателя уровней для Po’ed. Он сделал несколько уровней в качестве пробы и сначала использовали текстовый редактор, где просто указывались координаты полигонов каждого из объектов. Но потом они смогли использовать то приложение, созданное в университете и экспортировали уровни в формат файлов Any Channel.
Каждый уровень состоял из нескольких сотен объектов (наборов полигонов), из которых было создано выровненное по осям дерево BSP (разделение двоичного пространства). Дерево BSP — это распространенная структура данных в компьютерной графике, из которой можно определить правильный порядок рендеринга объектов уровня с любой точки зрения. В качестве дальнейшей оптимизации полигоны внутри каждого объекта имели свой собственный заранее рассчитанный порядок рендеринга с использованием старого метода из первых дней компьютерной графики, называемого Алгоритм Шумакера. Эта последняя оптимизация наложила некоторые ограничения на разрешенную ориентацию полигонов внутри любого конкретного объекта. «К счастью, я знал, что Дэн понимает это техническое ограничение и все равно сможет создавать интересные уровни, несмотря на это ограничение. Пока я работал в Брауне, Дэн годами жил с техническими ограничениями и недостатками в моем программном обеспечении, так зачем же останавливаться сейчас?» — говорит Нейт. Так как это был инопланетный мир, Дэн использовал своё воображение и никаких серьёзных ограничений от команды у него не было.
PO’ed был создан для системы 3DO, потому что в то время это была самая мощная 3D-система, даже более мощная, чем ПК, и все в команде были опытными 3D-программистами и полны решимости. «И мы это сделали, мы были первой в мире полноценной 3D-игрой для массового потребителя, она вышла до Quake.» — говорит Брайн Йен.
«На самом деле, на 3DO не было ни одной настоящей 3D-игры, Расс проделал фантастическую работу по оптимизации кода, 3DO была очень впечатлена. Они не думали, что такое полноценное 3D можно реализовать на их собственном оборудовании.» — продолжает Брайан.
Any Channel не пошли на сделку с 3DO, так как не хотели передавать свою интеллектуальную собственность (в основном движок 3D-графики). К тому же популярность 3DO как платформы была уже под сомнением, ведь Playstation уже была на горизонте. «Я думаю, что мы, скорее всего, продолжили бы использовать ее как платформу, даже если бы 3DO оставалась успешной, казалось очевидным, что PlayStation будет иметь огромное значение.» — говорит Нейт.
После выхода Po’ed на 3DO, издательство Accolade предложили сделать порт для Playstation. В нём было много улучшений и доработок: уровень Boot Camp, более красивое меню, меньше багов и гораздо более высокая производительность. Но Нейт вспоминает, что всегда был немного разочарован тем, что они не сделали большего. Например, в 3DO они использовали 6-битные (64 цвета) растровые изображения (Bitmap) для всех уровней и монстров, поскольку это был собственный формат консоли 3DO. У PlayStation не было 6-битной, у них была 4-битная (16 цветов) или 8-битная (256 цветов). Они отказались от использования 4-битных растровых изображений почти во всех случаях, в результате чего PlayStation выглядела, по мнению Нейта, размытым по сравнению с 3DO. Были некоторые исключения, такие как Butt Monster, который был повышен до 8-битной версии.
У них также была возможность увеличить разрешение растровых изображений, чтобы игра выглядела менее пиксельной. «Жопочный монстр» и, возможно, несколько других растровых изображений, таких как меню выбора оружия, были повышены до более высокого разрешения, но, опять же, это были исключения. Нейт предложил вычислить площадь поверхности всех полигонов на наших уровнях, а затем вычислить площадь поверхности, покрытую каждым растровым изображением. Увеличение разрешения ВСЕХ растровых изображений было слишком трудоемким занятием, и команда исчерпала системную память, поэтому идея заключалась в том, чтобы выяснить, какие растровые изображения охватывают большую часть уровня, и просто увеличить разрешение для них. «На меня наложили вето на том основании, что у нас и так слишком много работы, хотя я клянусь, что это заняло бы у меня около часа. Думаю, игра выглядела бы намного лучше.» — объясняет Нейт.
После PO’ed разработчики превратили игровой движок в продукт под названием Any World. Это был 3D-игровой движок, интегрированный с Lightscape Technologies, компанией, разрабатывающей рендереи. С помощью Lightscape можно было создать очень реалистичное освещение и тени, которые Any Channel включили в движок Any World.
SegaSoft использовала Any World для компьютерной игры под названием Vigilance. В то время как 3DO PO’ed получила такие награды, как «Игра года по видеоиграм» и «Лучшая экшен-игра года» по версии Die Hard Game Fan, Vigilance получила награду «Худшая игра года». (Некоторое время в моем онлайн-профиле точно говорилось, что я пишу «отмеченные наградами видеоигры».)
Вариант Any World использовался Electric Communities, одним из первых виртуальных онлайн-миров. Мы назвали это 2,5-D рендерером, где каждый чат представлял собой статическую сцену (и, следовательно, 2D) с красивой иллюстрацией, но отдельные объекты в комнате имели глубину, поэтому аватары могли перемещаться перед или позади объектов. (К этому моменту Расс покинул Any Channel и стал подрядчиком Electric Communities, так что все пошло очень гладко.)
В следующем году мы обдумывали различные прототипы игр, например, экшн от третьего лица с девчонкой-байкером или полноценное 3D Marble Madness, но найти финансирование (на тот момент у нас было около десяти человек) было сложно. Когда появилась возможность приобрести компанию Micron, Брайан ею воспользовался. Команда инженеров (я и еще трое) стала командой Direct X в подразделении Micron, которое раньше производило видеокарты Rendition. И это был конец Any Channel.
С технической стороны я научился писать код для закрытой встраиваемой платформы. Написание для 3DO или PlayStation сильно отличается от написания для ПК. Количество вычислительных ресурсов (памяти, мощности процессора, мощности графики) настолько ограничено, что вы учитесь использовать каждую представившуюся возможность для экономии ресурсов. Это отличный образ мышления для программиста, особенно в моей нынешней работе по написанию графического кода для команды NVIDIA по встраиваемым технологиям.
Что касается нетехнической стороны, я научился очень усердно работать с небольшой командой. Мы были относительно сплоченной командой, и я до сих пор очень хорошо дружу с ребятами, хотя наши пути разошлись. Я изо всех сил старался способствовать хорошей командной динамике везде, где работал, начиная с Any Channel. Сделайте работу увлекательной и всегда сохраняйте хорошее чувство юмора!
Нейт Хуанг профессионально занимается компьютерной графикой более 25 лет. В настоящее время он является старшим инженером-программистом в команде автомобильной графики компании NVIDIA, отвечающей за предоставление высокопроизводительного графического программного обеспечения растущему числу производителей автомобилей, таких как Audi, BMW и Tesla Motors. Он проживает в Сан-Хосе со своей женой и двумя сыновьями.