Gamedev Андрей Верещагин
5 916

Свободное плавание: создание лодки в God of War

Трудности с высадкой и синхронизация персонажей.

В закладки

Дизайнер боевой системы из Santa Monica Дин Ример (Dean Rymer) рассказал о том, как создавалась механика перемещения на лодке в God of War. Оказывается, в ходе работы авторы игры столкнулись с множеством проблем, основные из которых заключались в том, чтобы Кратос и Атрей естественно садились в судно и выходили из него. Мы выбрали из материала главное.

Создание лодки

Кори Барлог, руководитель разработки God of War, мечтал о том, чтобы в серии появились управляемые лодки ещё со второй части, однако, в прошлых играх их наличие никак нельзя было оправдать сюжетом. В God of War 2018 года возможность имплементации лодок наконец появилась благодаря введению хаба — Озера Девяти.

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

На ранних этапах разработки в Santa Monica решили, что Кратос будет управлять лодкой всего одним веслом, будто он сидит в каноэ. Авторы God of War посмотрели много видео о том, как управлять этой лодкой, чтобы понять, как именно им следует анимировать главного героя. Для захвата движений они построили картонное судно в натуральную величину.

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

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

Разработчики из Santa Monica перепробовали массу настроек, чтобы передать чувство управления лодкой. Долгое время на ранних этапах создания God of War от игрока требовалось нажимать кнопку «газа», чтобы судно двигалось вперёд.

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

Дин Ример
дизайнер боевой системы God of War

Повороты

Одним из самых сложных для реализации элементов управления были повороты. В отличие от предыдущих игр серии, в God of War 2018 года направление движения Кратоса зависит от того, куда «смотрит» камера. Такое управление удобно для сражений, но в лодке оно мешает осматривать окружение. Поэтому разработчики решили «повесить» всё управление судном на левый стик.

Тестеры жаловались на то, что повороты слишком медленные, однако когда в Santa Monica повысили их скорость, те же игроки стали сетовать, что лодка неуправляемая. Для того, чтобы справиться с этой проблемой, разработчики сделали лодку Кратоса «заднеприводной», хотя в реальной жизни ускорение лодке передаётся из её центральной части. Передав ускорение на корму, авторы God of War сделали повороты судна более предсказуемыми.

Причалы и пляжи

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

Разработчики потратили много времени на создание системы, которая выравнивала бы положение персонажа относительно игровых объектов вроде лодок, сундуков и дверей. Эта система использовала навигационное ядро God of War, которое направляет Кратоса к его точке назначения по самому короткому пути, а также оценивала скорость игрока.

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

На каждом пляже или доке есть зона, куда Атрей попросту не идёт. Когда Кратос подходит к лодке, сын остаётся на некотором отдалении от него. После того, как игрок нажимает на кнопку, чтобы залезть в судно, он не может двигать камерой. В этот момент игра меняет позицию Атрея в зависимости от скорости игрока и угла, с которого он подходит к лодке.

Что же касается высадки, то тут разработчикам тоже пришлось столкнуться с некоторыми трудностями. Им хотелось, чтобы игрок выбирался из судна как можно быстрее, при этом важно было сохранить естественность действий Кратоса. Когда игрок нажимает кнопку «причалить», игра высчитывает угол и дистанцию до причала. После этого система выбирает из 10 вариантов анимаций. Затем используется внутренняя технология, которая называется motion warp, чтобы регулировать анимацию и направлять лодку к докам.

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

Истории Мимира

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

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

Дополнительные детали

  • Для лодки было создано более 600 уникальных анимаций.

  • Написано свыше 750 строчек диалогов.

  • В Альфхейме у Кратоса уникальная лодка, весло и фонарь.

  • Анимации выхода и посадки в лодку меняются, после того, как игрок получает голову Мимира.

  • Лодка «знает» с какой стороны расположен вход на причал, поэтому автоматически подстраивает анимацию.

  • Подсветка геймпада PlayStation 4 меняется на голубую, когда игрок путешествует на лодке.

  • Когда Кратос берёт в руки весло, игровой движок воспринимает это как подбор оружия.

  • Однажды разработчики столкнулись с багом, из-за которого Кратос выходил из лодки, не оставив в ней весло.

#геймдизайн #опыт #godofwar

{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["godofwar","\u043e\u043f\u044b\u0442","\u0433\u0435\u0439\u043c\u0434\u0438\u0437\u0430\u0439\u043d"], "comments": 67, "likes": 83, "favorites": 37, "is_advertisement": false, "subsite_label": "gamedev", "id": 25557, "is_wide": true, "is_ugc": false, "date": "Thu, 23 Aug 2018 22:14:45 +0300" }
{ "id": 25557, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/25557\/get","add":"\/comments\/25557\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/25557"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

67 комментариев 67 комм.

Популярные

По порядку

Написать комментарий...
18

Сколько гемороя в такой на первый взгляд простой вещи...

Ответить
–50

Такая хрень всегда с консолями. Ибо жестко надо все оптимизировать. Нельзя просто скинуть все на железо или движок.

Ответить
41

Ну да, на пеке ведь не надо анимации лодке и герою рисовать

Ответить
9

Речь про анимации, в ты про оптимизацию графики... Не надо так.

Ответить
8

То ли дело пека – сожрет любой говнокод и не подавится.
Оптимизация для лохов, не для этого 1080 куплена

Ответить
–9

Так эти претензии к разработчикам, а не к аниматорам. Часто бывает, что не достаточно квалифицированный кодер прогибает под свои "умения" арт отдел. Типа, так нельзя сделать (читай - я не знаю как), поэтому будем делать костылями, которые сделают художники и аниматоры. А я птом сверху припердолю пару готовых библиотек или фреймворк.

Ответить
1

Похоже минусящие узнали себя в описанном :).

Ответить
–5

Не пойму, чего минусят? Я работал на проекте для xbox-360. Там жесть какая была по ресурсам. Шаг влево или вправо - не проходишь апрув от МС.
На нынешних консолях то же самое. Нельзя просто написать крутую эвристическую логику перемещения персонажа, консоль ее тупо не потянет. Все делается костылями и обманками (читай сотнями анимаций в данном случае). Сам файл анимации не много занимает, если что. Так что костыль весьма годный.

Ответить
2

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

Ответить
1

Ну неправда. Заминусованные вещи почти всегда чепуха, хоть и не без исключений.

Ответить
1

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

Ответить
0

Здравия желаю, товарищ капитан!) Я лично думаю что это ещё выгодно маленьким студиям, которые не могут конкурировать по качеству графония с конвеером триплА, но зато смогут в среднячок, летающий у всех и вся.

Ответить
1

Нет конечно, маленьким студиям ещё труднее оптимизировать свои игры, ибо ресурсов у них меньше

Ответить
1

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

Ответить
1

Нет, не чувствую, оптимизация занимает много человеко-часов.

Ответить
0

Ахах) Возможно стоит делать игры такими руками,после которых бы не приходилось их НАСТОЛЬКО ДОХУЯ оптимизировать?)))

Ответить
1

Любую игру надо оптимизировать под железо :-)

Ответить
2

Под оптимизацией подразумевается, что игру СРАЗУ пишут нормально, все продумав и имея все ТТХ консоли или минимального железа. А не так, что сначала напишем как сможем, а потом перепишем 10 раз. чтобы оно заработало. Этим и отличаются квалифицированные спецы от просто чуваков, которые мечтают делать игры.

Ответить
0

Ну понятное дело, разработчик должен понимать железо, на котором работает и использовать его по максимуму, это и есть оптимизация.

Ответить
0

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

Ответить
–1

Удачного слива, молодец что на личности перешёл

Ответить
0

только им сос воими скилами выгоднее работать на консольный рынок. Sad but true

Ответить
1

Потому что не очень видна взаимосвязь. То, что ПК потянет более ресурсозатратную логику, не означает, что её и надо использовать. Ибо ПК-игры не рассчитаны только на топовые сборки, а, значит, приходится прибегать к абсолютно таким же оптимизациям, как и на консоли.

Ответить
0

Расчитаны, не расчитаны, а на оптимизацию, во всех её формах, забивают хер все кому не лень.

Ответить
3

Кажется, вы путаете кастомные анимации и логику для особого блока игры с доступными игре системными ресурсами. Точно работали на проекте для 360?

Ответить
–16

Лучше бы больше времени боёвке уделили.
Теперь ясно почему боёвка в игре такая унылая, всё из-за лодки.

Ответить
8

Чем тебе шикарная боевка Бога не угодила?

Ответить
0

Тем что она медленная и однообразная

Ответить
1

Боевка с топором, боевка с мечами хаоса, рукопашная и с щитом, куча рунических атак сильных и слабых, помощь Атрея + его магия призыва. Совершенно однобразная боевка.

Ответить
0

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

Ответить
0

Не имеет геймполейной глубины - только в цифрах... Чего?

Ответить
0

Ну грубо говоря, в боевке гова нет "секретиков", как в хороших слешерах, а вся глубина - в подборе шмотья и изучении бафов.

И зачем передразнивать так грубо?

Ответить
0

Это опечатка. В боевке Гова есть прокачка и открытие новых ударов/комбо. Вполне хорошая, вариативная и глубокая радость. Почему какие-то секретики увеличивают глубину боевки, я не знаю.

Ответить
1

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

Ответить
0

Какие еще секретики, я так и не понял и открытие ударов есть в большинстве слешеров.

Ответить
0

Ну например, в DMC4 есть механика тайминговой зарядки меча у Неро - напрямую в игре об этом не говорится, но боевку преображает сильно, присутствует ещё несколько секретных механик. В DmC есть широкие возможности по комбинированию оружия и секретные механики, типа броска косы вместе с сюрикенами. В ГОВ же нет награды за эксперименты с боевкой.

Ответить
0

А какая награда за эксперименты в ДмС или ДМС4? Ничто тебе не мешает комбинировать атаки в Боге.

Ответить
–1

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

Ответить
–1

Дряхлые у тебя вбросы разве что :-) Бог Войны и не ДмС, хз, почему там также должно быть. А боевка у Бога глубокая, вариативная и интересная, мне очень понравились.

Ответить
–1

Ad hominem, впрочем от тебя другого уже и не ждешь.

Ответить
0

Не надо от меня ничего ждать, а от боевки Бога боевки ДмС :-)

Ответить
–1

От боевки слешера не надо ждать боевки слешера - замечательно. Или от слешера нужно требовать базовые для слешеров вещи, только если они не сони эксклюзив?

Ответить
0

С каких пор такая механика это базовая радость? Да и Бог не классический слешер вообще-то, он больше на экшен-рпг стал похож.

Ответить
–1

Со времен первого DMC это базовая механика для слешеров. Как экшн-рпг ГОВ сосет такую большую бипу, что лучше называть его слешером с рпг элементами.

Ответить
0

Бог войны никогда и не был типом слешеров, как ДмС. Хз, что у за хейтерские бредни ты пишешь, про сосет, но это много говорит о твоём отношении к игре, так что нет смысла продолжать дисскусию.

Ответить
0

Я считаю ГОВ - одной из лучших игр поколения, но просто я не фанбой, который не видит довольно больших недостатков игры. А как экшн-рпг ГОВ очевидно сосет, потому что единственный реально работающий билд только один - через чары, Nier: Automata гораздо больше aRPG, чем ГОВ.

Ответить
0

Долбанутый бред :-)

Ответить
0

В чем конкретно?

Ответить
8

Oh shit, they made boat from "God of War" into a real thing.

Ответить
6

Эт шо, лодка для Нинтендо Лабо?

Ответить
1

Порт GoW на свитч конфёрмд!

Ответить
5

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

И судя по всему, у Мимира есть два списка историй: тот, который реагирует на события в игре, и тот, который идет в ход, когда истории из первого рассказаны. И мне не удалось добраться до конца второго — ему все время что-то было рассказать.

Ответить
5

Лодка и путешествия на ней — одна из лучших составляющих God of War из-за множества историй и общей атмосферы. Никогда не было скучно плыть на ней, в том числе благодаря плавной анимации.

Спасибо, Кори Барлог! Надеюсь, лодка будет и в следующих частях этой трилогии.

Ответить
3

То чувство, когда даже на чертежах Атрея называют Son (S). Хорошо хоть не boy.

Ответить
–8

Сколько хейта в каментах от обделённых пекарей... смешно смотреть на их бессильную злость и сжатые кулачки. Эй, пекари, у вас эксклюзивов не и не будет. Смиритесь.

Ответить
7

Гордыня отвратительна с любой стороны.

Ответить
0

Это эксгумировался известный и многократно забаненный на всех основных игровых сайтах консольный тролль "астролорд" венцеслав фигуркин. Первое время он будет себя вести почти как нормальный человек, потом начнет рассказывать про свои фигурки и высшее образование, про своих несчастных друзей пекарей-танкистов, потом начнет восхвалять консоли и себя, потом пойдет чистый хейт - да вот он уже начал. Человек болен ПКфобией, а показаться психиатру даже и не думает.

Ответить
1

Да и хер же с ним

Ответить
0

И это правильно.

Ответить
0

Даже внимательно перечитав два раза все комменты, я так и не понял, к чему ты это написал сюда.

Ответить
–4

Всё еще горю с того что они не стали делать плавание аргументировав что СЛОЖНО И ДОРОГО.

Ответить
4

Не очень представляю, как (а главное -- зачем) разработчики реализовывали бы совместные заплывы Кратоса с Атреем. Плюс остается вопрос, что делать с головой Мимира? Идея с лодкой, на мой взгляд, реализована очень удачно, а если судить по написанному выше, ее воплощение оказалось тоже довольно сложным и дорогим.

Ответить
–1

Лодка конечно вин и круто, но проблема в том что зачем вообще говорить что плавания не будет если они вероятно и не собирались его делать. Причем оправдывать это не тем что лодка вин и круто, а тем что СЛОЖНО И ДОРОГО.

Ответить
2

Скорее всего сложной и дорогой была бы как раз реализация совместных заплывов: если в то, что Кратос самостоятельно мог переплывать Озеро Девяти, мы еще поверим (и создание анимации плывущего персонажа, полагаю, не обошлось бы в космическую сумму), то в аналогичные способности Атрея -- нет. Соответственно, к свободно плывущему Кратосу нужно было бы всякий раз приделывать костыль в виде сидящего на условном бревне сына по аналогии со стоящей на паллете Элли в TLoU (но если в "Одни из нас" заплывы были фрагментарны и непродолжительны, то в "Боге войны" мы значительную часть игры проводим, путешествуя по озеру). Плюс если лодка, стоящая у причала, выглядит логично, то заботливо разбросанные по пляжам бревна (вдруг Кратосу захочется искупаться) уже через какое-то время стали бы выглядеть натужно и надуманно. Значит надо было бы потратить дополнительные силы и время, чтобы придумать логичное объяснение, почему плавсредства для Атрея всегда есть в нужных местах. А это сложно. И, полагаю, дорого. Ну и опять-таки: что делать с головой?
Как вариант: отказаться от значимой роли озера в раскрытии сюжета (процесса сближения Кратоса с сыном). Но это была бы совсем другая игра. Так что да, лодка -- вин и круто.

Ответить
–2

Подумал, что на первой фото Путин гребёт как рак на галере.

Ответить
0

Сколько хоть картон стоил?

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
EA анонсировала DLC для DLC
для аддона для спин-оффа
Подписаться на push-уведомления