пятница, 29 июля 2011 г.

Hydrophobia: поговорим о воде

Лирическое вступление
Признаться, тема воды в играх была для меня, как и для многих других, всегда очень интересной и недораскрытой. И нет, я не про ту воду, что льют вместо сценария. Я про настоящую воду. Когда-то она была набором полигонов, затем стала шейдерной... о, я помню первые игры, которые могли похвастаться настоящей рябью, отражениями, солнечными бликами на речной глади. Я с упоением вспоминаю знакомство с "Far Cry". Пожалуй, это была первая игра, показавшая, насколько красивой вода может быть в игровом мире. Помимо всего вышеперечисленного, на дне росли водоросли, в море плавали всевозможные рыбки, полые бочки плавали по поверхности и не тонули. От взрывов гранат на поверхность всплывали оглушенные (или убитые?) рыбины, что тебе рыбалка, а падавшие в пучину трупы растворяли в окружавшем их прекрасном морском блаженстве облака крови. Зрелище жестокое, но технологически это был настоящий прорыв.

Очень примитивная реализация воды. Halo 2, 2004 г.

Казалось бы, вот оно. Если обычных существ научились детально моделировать уже давно, добавляя слой за слоем помимо обычной текстуры карты нормалей, bump, parallax, то в случае с водой оставалась одна маленькая, но очень важная деталь - вода не находится в твердом состоянии, она жидкая. Она течет, она заполняет образующиеся рядом с ней полости, она скатывается по наклонным плоскостям. В конце концов, она распадается на все более мелкие части, пока находится в свободном полете. Могло показаться, что целью игровой индустрии одно время было создать реалистичную графику, физику, а главное - воду. И внешне все было неплохо, но как доходило до "физики воды" - начиналось полное безумие. Ведь воду крайне сложно описать четким набором полигонов - она изменяется, при чем постоянно.

Я помню некоторые игры, делавшие робкие шаги в этом направлении. "Bioshock", например. Но в нем, как и в других, вода не имела четкого объема, не было какого-то локального "закона сохранения воды". Если в комнате откуда-то бралась течь, то лишь желанием разработчиков уровень воды в комнате мог повышаться или же оставаться неизменным. Этот ход статичного постепенного повышения уровня воды вообще свойственен большинству игр. Зачем "заморачиваться", когда особой роли это не играет? Да и представьте технические трудности. А это ведь целый геймплейный пласт. Если вода начнет постепенно затоплять какую-то комнату, то что, если игрок не успеет найти выход? Целый круг вопросов...

Современная шейдерная вода с рябью и отражениями. Tomb Raider: Underworld, 2008 г.
"Unreal Engine 3" вообще одно время рисовал чуть ли не лучшую воду. Я помню, как с восторгом вглядывался в куртку "Текилы" из "Stranglehold", на которую падали капли дождя, и достаточно медленно, чтобы это можно было различить, впитывались в ткань. Мокнущие персонажи - вообще отдельная тема. Одним из первых красивых примеров был "Prince of Persia: the Sands of Time". Принц в своих белых шароварах перекатывался по полу, пачкаясь, а затем ступал в бассейн, и его одежда чудным образом становилась чистой. Или "Tomb Raider". В "Underworld" Лара очень неплохо пачкалась, мокла, высыхала. Вспомнить недавний "Heavy Rain", где вода играет немаловажную роль; я был сильно разочарован, когда герои отчаянно отказывались мокнуть - низ куртки оставался сухой, стой под дождем хоть час.

И вот все это привело к тому, что, имея отличную графику и физику, мы пока что имеем весьма посредственную воду в играх. Вспомните, как красиво разлетался дым от лопастей вертолетов в "World in Conflict". А вода оставалась все той же.

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

Я начал следить за игрой с самого первого ролика. Это было довольно неплохо для XBLA-тайтла (тогда еще про целевые платформы точно не было известно, и PC-версию впоследствии отменили), разрабатывавшегося небольшой студией. Эти ребята почти бросили вызов индустрии. Обещания были прекрасными, но, естественно, обещания - это всегда просто слова. Мне очень нравилась идея с тем, чтобы открыть какую-нибудь комнату с водой, дабы поток понесся по коридорам, сметая все на своем пути, и прошиб переборку, за которую нам нужно попасть. Но, не все оказалось так просто.

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

Перейдем все-таки к воде. У нее есть несколько важных свойств, которые делают ее "живой" и отличают "Hydrophobia" от абсолютного большинства прочих игр. Во-первых, вода здесь не бесконечна. Если ее в помещении есть некоторое количество, она просто так никуда не денется, и ниоткуда не возьмется тоже просто так. Да, "закон сохранение воды" здесь работает.
 Во-вторых она перетекает. Не просто волнами с красивыми шейдерами, а именно всем своим количеством, сохраняя объем. Если корабль начинает немного качать, вода будет перетекать из одного конца комнаты в другой, могут даже образовываться волны.
В-третьих, она довольно реалистично взаимодействует с объектами - легкие бочки всплывают (этим никого уже не удивишь), стекла дверей, находящихся под давлением воды от попадания из пистолета дают трещины, а затем разлетаются, давая воде выливаться. Ну и, конечно, она взаимодействует с живыми персонажами - их можно сбивать с ног мощным потоком, жарить током от щитков и кабелей, когда те соприкасаются с водой. В общем, все довольно честно.

Нормальная "рабочая" обстановка
Но есть, конечно, и минусы. Самый главный из них - недостаточная резвость водного потока. Если перед героиней выносится или просто открывается дверь в переполненную каюту, вода сплошным потоком устремляется через проем, но как-то немного вяло, "густо". Все бы ничего, но это заметно, когда рядом некоторые фрагменты переборок при попадании мощных зарядов лопаются - и из-за них хлещет заскриптованный буйный поток. Конечно, не может быть и речи о физически абсолютно корректном взаимодействии с объектами - налей хоть миллион тонн в одну комнату - дверь сама не вылетит, только если так скажет скрипт. Поэтому постановка здесь играет свою самую важную роль, хотя и роль "песочницы" временами влияет на то, как именно пройти те или иные фрагменты. Мощности современных ПК все-таки не хватает на абсолютно честную реализацию не то, что воды, но даже дыма, света и, порой, обычной физики; в больших объемах, конечно.

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

"Hydrophobia" - вообще довольно необычная игра. Это игра одной идеи. Мысленно, погрузившись в процесс, разделяешь ее на "воду" и все остальное. И, если ключевая особенность здесь реализована довольно неплохо, то остальные скорее дотянуты до общей средней планки. Сюжет, анимации, перестрелки... Да, оружие всего одно - пистолет, но стреляет он различными боеприпасами, самые простые из них бесконечные, остальные нужно пополнять с трупов поверженных террористов. Ближе к концу игры героине дают "суперсилу" по управлению водой. Но эта "сила" позволяет лишь создавать "водные горки" и перемещать объекты. Поиграть с ней дают так мало, что и вовсе не успеваешь хоть как-то насладиться или разочароваться.

А, черт! За дверью был полузатопленный отсек.
После прохождения игра оставляет в душе чувство глубокой неудовлетворенности. От начала и до конца она неспеша пробегается за 4 часа. Четыре! Неспеша! Когда "Call of Duty" палит из всех стволов за 6, что-то более масштабное вроде "GTA" занимает 12-15, четыре часа кажутся просто смешными. Да уж...

Так или иначе, "Hydrophobia" - удивительное и необычное приключение в мире, где воды так много, что хочется поскорее найти сухое и теплое местечко, а его все нет и нет... Самые крутые сцены, в которых в конце коридора вышибает дверь - и неудержимый поток несется на героиню, происходят далеко не в самом начале. А их нужно было вставлять в начало, да так, чтобы сразу же дух захватывало от наступающей неминуемой водной лавины. Авторы плохо запрягают, но неплохо едут. На мой взгляд, здесь нужно лишь перетерпеть первые 20 минут - затем игра становится все интереснее.По ходу процесса встречаются и очень простенькие головоломки, и однообразные взломы консолей, а врагов и вовсе можно по памяти переписать в "Death Note", но вода... местная вода смывает все те шероховатости в игровом процессе, которые есть. Безусловно, чтобы получить наслаждение от игры, нужно представлять, какой была вода в играх - и насколько более живая она в "Hydrophobia".

Игра одной идеи. Но если эту идею увидеть - положительные впечатления гарантированы.