ИСТОРИЯ УСПЕХА Dave the Diver
Как небольшой команде создать сложный мультижанровый 2D/3D-хит для нескольких платформ? Используя стек из таких технологий, как Universal Render Pipeline, C# Job System, Cinemachine, Input System, и помощь команды Integrated Success, разработчикам Dave the Diver удалось выпустить невероятную, прекрасно оптимизированную и очень популярную игру.
Реализация сложных визуальных элементов на нескольких платформах
PC, Mac, Nintendo Switch™
27
Южная Корея
Поиск подходящего партнера
В игре Dave the Diver объединены такие жанры, как приключения, ролевые и экономические игры. Игроки управляют дайвером Дейвом, который исследует моря, ловит рыбу, сбегает от морских чудовищ, выполняет квесты, а затем готовит и продает суши из свежих морепродуктов.
Небольшая команда разработчиков понимала, что им нужен партнер, чтобы найти оптимальный баланс между мультижанровыми игровыми элементами для разных платформ.
«Мы выбрали Unity, потому что благодаря эффективным возможностям этой платформы мы получили автономию и время для разработки игрового процесса и потому что Unity обладает репутацией надежного партнера в области межплатформенной разработки», — сказал директор студии Джейхо Хванг.
Результаты
- Продано 2 миллиона копий по всему миру
- Пиковая нагрузка 98 000 одновременных игроков в Steam
- Более 56 000 сверхположительных отзывов пользователей в Steam
- 2-е место по продажам во всем мире в Steam (на 29 июня 2023 г.)
Nintendo Switch — зарегистрированная торговая марка Nintendo.
Одна из главных трудностей, с которой столкнулась команда, заключалась в обеспечении высокого качества графики на нескольких платформах. С помощью Universal Render Pipeline (URP) они смогли легко создать, оптимизировать и масштабировать графику. Ведущий геймдизайнер Чанхи Ву сказал: «URP очень нам помог. Мы просто настроили ассет Render Pipeline для каждой платформы и указали его в настройках качества. Мы задали очень высокий стандарт для графики и придерживаемся его».
Другим препятствием стала быстрая обработки первоначальных идей для функций и игрового процесса. Быстрая работа над идеями была необходима художникам, наброски которых использовались для создания шейдеров. Чтобы избежать задержек, они выбрали Shader Graph — визуальный инструмент для создания шейдеров в форме блок-схем.
«То, что непрограммисты, например художники, могут использовать Shader Graph, стало реальным преимуществом для нас, — объяснил арт-директор Киоп Чжен. — Мы получали обратную связь от них напрямую. И результаты можно было видеть незамедлительно».
В игре Dave the Diver 2D-пиксели сочетаются с 3D-графикой. «Нам очень понравилась идея объединить аркадный процесс 2D-игр с пространственной глубиной 3D-графики», — сказал Ву. Команда столкнулась с трудностями при реализации различных видов с камеры и взаимодействий, поэтому разработчики выбрали Cinemachine — набор инструментов для создания камер без написания кода, чтобы выбрать лучшие сцены. Они могли просматривать результаты, а также менять размещение и конфигурацию, расставляя несколько камер.
«Все было похоже на место съемки кино, — продолжает Ву. — С помощью Cinemachine мы смогли легко создавать и развивать динамику, используя естественные сочетания и нацеленный фокус».
Неотъемлемой составляющей визуальной стратегии команды была максимально реалистичная графика, но без влияния на производительность. При моделировании поведения скопления рыб возникли проблемы, и они обратились к C# Job System и компилятору Burst для их решения.
«Обычно линейный расчет каждого вектора для моделирования скоплений сильно загружает центральный процессор, но мы решили писать код с помощью C# Job System, а также компилировать и оптимизировать его в Burst, что значительно повысило производительность», — рассказал ведущий программист Босунг Сео.
Столкновения тоже оказались не такими простыми. В Dave the Diver рыбы слегка толкают друг друга, создавая эффект глубины в 2D и 3D, и команда столкнулась с трудностями при его реализации. «Чтобы справиться с этим, — объясняет Сео, — мы объединили C# Job System и Unity Physics, что позволило нам реализовать такую динамичную и легко изменяемую логику толчков».
Разработчики Dave the Diver хотели выпустить игру и поддерживать ее на нескольких платформах. С учетом небольшого размера команды, для такой стратегии выпуска потребовалось бы слишком много времени и денег, поэтому команда использовала Input System, чтобы упростить и ускорить процесс.
«Стоимость выпуска игры для нескольких платформ минимальной, — объяснил Сео. — Мы перенесли движок и изменили управление на Input System. Мы использовали тот же код и ассеты без преобразования, для обеих платформ, и это было очень удобно».
Команда использовала один и тот же инструмент для реализации управления с разных контроллеров. «С Input System, — продолжил Сео, — группировка действий и настроек клавиш для каждого действия позволила легко добавлять и менять интерфейс. Кроме того, мы могли добавлять новые функции и сбрасывать настройки программно во время выполнения. Мы сэкономили много времени».
Чтобы создать популярную и оптимизированную игру, нужно упорно работать, проводя итерации, тесты и проверки для обеспечения максимального визуального качества.
Команда использовала представление Timeline в Unity Profiler, чтобы выявить проблемы с производительностью. Разработчики обратились к команде Integrated Success, чтобы обнаружить проблемы с профилированием и устранить их, изменяя код и дизайн.
«Инженеры Unity нам очень помогли, — сказал Сео. — Мы отправляли им данные профилирования и вместе устраняли проблемы или они предоставляли нам рекомендации по оптимизации, проверяя внутренний код движка».
Инженеры также предоставили простой и доступный способ анализировать отдельные строки исходного кода. «Когда у нас возникло аномальное событие со стеком вызовов, инженеры Unity устранили ошибку, вместе с нами проверив код движка, а также предоставили исходный код для справки. Это реально помогло».
С самого начала команда хотела создать уникальную 2D/3D-графику с отдельными мультижанровыми элементами игрового процесса и сюжетами, которые бы выглядели реалистично и увлекательно. Объединить это все для нескольких платформ было непростой задачей, поэтому команде потребовалось выбрать стек технологий, который упростит управление качеством графики, эффективностью и сюжетами.
Если добавить сюда цикл обратной связи сообщества и тщательные внутренние тесты, станет понятно, почему игра Dave the Diver мгновенно стала хитом.
Хванг сказал: «Мы хотели разработать веселую и увлекательную игру, которую полюбит сообщество, на наших условиях. У нас были большие ожидания, и мы остались очень довольны конечным продуктом».
Охватите максимально широкую аудиторию и обеспечьте актуальность вашей игры на все времена, независимо от тенденций в индустрии и полета вашей фантазии. Выпускайте созданный вами контент более чем на 18 платформах для охвата игроков разных форматов.