Перейти к основному содержанию

MadШок: Ужасающие подробности разработки Кризиса 1 и 2

Author: Mirasol / Дата: ср, 2011-11-23 01:39 / Тэги: Crysis
AnalyticsОбщая статьяOthers

1

Обычно разработчики всячески вешают игрокам лапшу на уши, 24/7 расхваливая свои игры, но иногда все-таки удается узнать, что разработчики думают о своих творениях, что называется, без цензуры.

Начнем с первой части. Говорит один из программистов, непосредственно отвечающий за графику:

Вы очень сильно удивитесь, когда узнаете, насколько Кризис 1 был плох в плане оптимизации. Вы также удивитесь, когда узнаете, насколько смешивание шейдеров помогает выиграть в производительности. CryEngine 2 просирал доступные мощности в эпических масштабах, уж можете мне поверить. Когда добавляли какой-нибудь эффект, мы даже не задумывались над производительностью. Навернуть еще пару красиво выглядящих ресурсоемких спецэффектов? Не вопрос, о чем речь вообще?

Текстуры, объекты, LOD'ы - все это было плохо оптимизировано с точки зрения потребления памяти в CE2.  После некоторых оптимизаций можно было заставить игру работать на консольном железе со всеми его ограничениями. Повторюсь еще раз: Кризис 1 был отвратительно оптимизирован, и все в CryTek знают это.  Абсолютно все начиная от первых набросков до постпроцессинга было сделано на отъебись, т.к. Кризис 1 был ПК-игрой. Консоли помогли нам понять, насколько СЕ2 был неоптимизирован, и теперь CryEngine 3 летает как реактивный самолет.

Хотя дальность прорисовки и текстуры при переезде на консоли пострадали сильней, на ПК текстуры та еще ссанина. Разрешение большинства текстур составляет жалкие 512*512 с налепленным bump-mapping'ом, встречаются инвалиды разрешением 256*256. Большинство людей забыло, какие текстуры в Кризисе на самом деле.


 

Ему вторит дизайнер уровней:


Освещение в CryEngine 3 в целом значительно лучше того, что было в СЕ2. CryTek никогда не отрицали, что СЕ2 был очень неоптимизированным. Это было очевидно, совсем не нужно работать в CryTek, чтобы это увидеть. Сравните минимальные настройки Кризиса 2 с минимальными настройками Кризиса 1 - скажем так, разница налицо.

Многие также думают, что Кризис 1 был чисто ПКшной игрой, но недавно в интернете всплыла шокирующая правда:

Уже на стадии разработки мы раздумывали над потенциальной консольной версией, проектируя игру так, чтобы она могла  работать и на PS360. В какой-то момент разработки мы поняли, что работа над консольными версиями займет больше времени, чем мы рассчитывали, и сосредоточились на ПК-версии. Мы пытались сделать лучшую ПК-игру, какую только можно представить, с большими и открытыми уровнями, которые можно пройти многими способами.

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


Представляет интерес и кадровый состав команды:

1. Человек, ответственный за освещение в консольных версиях Кризиса 1 и ПК-PS360-версии Кризиса 2  - бывший моддер с crydev.net
2. Моделлер, текстуровщик и дизайнер уровней Кризиса 2  - бывший моддер с  crydev.net
3. Программист шейдеров - бывший моддер с crydev.net

Т.к. за освещение в консольной версии Кризиса 1 отвечали бывшие моддеры, то нетрудно догадаться, что улучшенное консольное освещение первой части было давно доступно на ПК в виде мода. Слева - консольное поделие, справа - ПК-версия с модифицированными шейдерами:

 

Если кто не знает, CryTek также умудрились перепутать звуковые файлы, в результате чего в консольной версии Кризиса 1 при попадании в игрока последний говорит не голосом Номада, а корейского солдата.


Переходим к следующему волнующему всех вопросу - почему тесселяция в Кризисе 2 используется через попу?


Отвечает программист шейдеров:

Потому что кое-кто лишился рассудка от радости, когда тесселяцию добавили в движок. Даже Тьяго тянет руки к лицу, когда речь заходит о тесселяции. Тесселяция в Кризисе 2 - полнейшая ссанина, с этим согласны все. Также тесселяция не поддерживает сглаживание (smoothing), из-за чего большинство тессилированных объектов не выглядят тессилированными.

Благодаря пользователю ОИЦ стали известны новые подробности об использовании тесселяции в Crysis 2. Оказалось, что все мощности тесселяционных юнитов были пущены на отрисовку обычных бетонных блоков из дикого количества полигонов (примерно один полигон на пиксель) при том, что можно было обойтись максимум парой сотен полигонов:


А вот как выглядит полигональная сетка:

Аналогичная ситуация со многими еле заметными и второстепенными объектами в кадре (кирпичи слева):


Также видеокарта тессилирует воду даже там, где никакой воды в кадре нет:

 

Подобную растрату ресурсов можно объяснить только одним: чемодан от NVIDIA пришел, нужно было максимально загрузить тесселяционные блоки, чтобы показать превосходство последних GPU от NVIDIA в тесселяции над аналогичными решениями ATI.

Впрочем, даже несмотря на столь нерационально использованные ресурсы, первый Кризис технически превосходит все вышедшие консольные поделия (берите хоть полностью динамическое освещение), а вторая часть для них и вовсе недосягаема (где GI?). Что касается ПК как платформы, то в случае с CryTek  ПК продемонстрировал колоссальный запас прочности - если бы Naughty Dog подошли к созданию движка так же, как CryTek, то они не смогли бы запустить на PS3 даже главное меню.

(с) Mirasol, для MFB

Комментарии (180 Комментариев)