DayZ: Standalone — информация от Рокета

Совсем недавно мы видели новость о том, что в разработке DayZ Standalone остался лишь один этап — это сетевой сегмент. Сегодня же я наткнулся на интересную статью с информацией прямо от Рокета, который с большим энтузиазмом рассказывает об игре и процессе разработки. Далее перевод информации. Кстати говоря, данные отрывки информации никак не связаны друг с другом. Все это отдельные цитаты. 

  • PCgamer, при всем моем уважении, так переврал мои слова, что хочется навсегда воздержаться от контактов с про гейм-журналистами и уйти к вам, в соц-журнализм. Как я не пытался подчеркнуть, что релиз не задерживается в прямом смысле, потому что нет дат. Как я не пытался подчеркнуть, что оптимизация началась и работа идет полным ходом… Все равно, в статье звучит “релиз откладывается” и “плохая оптимизация игры”. Да, после моих претензий статью сняли с публикации, что похвально, но осадок остался.
  • Само собой я рассчитал для себя примерный период для релиза игры, но это не железная дата и может измениться в силу необходимости, так что я не стану никаких дат озвучивать, так как это породит волну бесполезных разочарований в случае изменения даты.
  • Ближний бой. Что мне нравится: бьешь или стреляешь в тело и соответствующие кости модели от удара смещаются (движутся от удара), кровотечение из точки попадания, повреждения рассчитываются только на сервере, у разных предметов разные виды атаки, атака разных частей тела вызывает разные комбинации повреждений и последствий. Но есть и минусы, которые нужно решать: управление, странные анимации при низком серверном фпс, звуки повреждений и ,наверное, еще что-то, не помню.
  • На релизе BIS будут запускать свои сервера у одного провайдера. Сам провайдер сможет тоже запускать свои сервера. Точно не помню, но кажется была цель добиться на релизе, для начала, единовременного подключения 100 000 игроков.
  • Противогазы и респираторы будут в игре и будут иметь соответствующий функционал. Однако сейчас они нефункциональны, так как все силы брошены на доведение альфа-билда до ума. После релиза мы вернемся ко всем таким игровым предметам и займемся их функционалом.
  • Касательно ночи и освещения. Я сам приложил руку к подготовке новой системы дождя, “божественных” лучей, новых линзовых бликов и т.п. Но мы думаем сделать эту систему с нуля и поэтому хотим убрать ее из плана разработки альфа-билда, чтобы не отвлекаться от релиза.
  • Не ищите намеков на даты или близость релиза в наших отчетах и твитах. Мы не шифруем ничего и не прикалываемся на эту тему. Если мы постим скрин, то это просто скрин. Скрин трех патронов, например. В нем нет ничего более, чем три патрона. Но люди склонны читать между строк все, что захотят.
  • Размер клиента будет примерно 10гб. Сервера - около 600мб.
  • Системные требования? Могу пока предположить исходя из своих знаний наших технологий, что dual-core будет достаточно. Существенно поможет наличие 2 SSD: на одном ОС, а на втором игра. Более 2Гб памяти не должно потребоваться как для видео, так и для оперативки.
  • А серверу лучше брать самый мощный процессор. Больше мощей проца - больше зомби, лута, игроков. Оперативки ему хватит и 400Мб.
  • Марек, генеральный директор BIS, сказал, цитирую: “Это действительно новый движок.”
  • Каждый предмет одежды обладает своими специфическими атрибутами. Например, защита от холода, намокания, от ударов предметами ближнего боя, от баллистических повреждений и инфекций. В некоторой одежде есть спецатрибут, позволяющий использовать ее слот как кобуру для пистолета.
  • Мы работаем сейчас над созданием необходимых элементов клиентского функционала. Это не влияет на сроки релиза. Среди функционала такие вещи как: создание персонажа, браузер серверов, информация о текущем сервере, некоторые Steam фичи для поиска своих друзей на серверах.
  • Релиз задерживается в первую очередь из-за проблем с оптимизацией производительности. При 15 фпс серверной части можно держать в игровом мире 50 игроков, 2000 зомби и 25000 объектов лута. При этом у нас есть огрехи в системе синхронизации данных из-за неприспособленности движка к работе с большим количеством объектов. Беда в том, что происходит слишком много текстовых сравнений референсов и при этом сравнения происходят слишком часто во время синхронизации. Здесь у нас есть обширное поле для оптимизации и это требует времени. Есть так же другие неприятные баги, как баг со звуками некоторых действий, которые выстраиваются в очередь и затрудняют синхронизацию.
  • И главная проблема, задерживающая релиз - синхронизация всех подобных переменных для каждого игрока на сервере, а это на практике совершенно неэффективно и ресурсоемко. Как раз на этом сейчас фокус разработки и мы переделываем эти механизмы. Условно, раз в 1 FPS сервер проверяет 30000 предметов и пытается синхронизировать. Мы хотим разбить предметы на две категории, два массива - первый (чистый) будет содержать статичные объекты, которые ждут пока с ними начнется взаимодействие игроков и такой массив проверять серверу не нужно до контакта, второй массив (грязный) - это предметы у игрока и их будем проверять регулярно. В этом направлении уже многое достигнуто, но работа не закончена.
  • В данный момент у нас есть базовый функционал для 10-20 игроков. Новые зомби уже в игре и вполне хорошо себя зарекомендовали при поиске целей и выборе пути. Однако при снижении фпс сервера они начинают глючить сквозь стены и лагать в других аспектах. Они все еще нуждаются в существенной доработке. Например, симуляция для игроков происходит 20 раз в секунду, а симуляция зомби 10 раз в секунду. Если фпс сервера падает ниже 20, то есть задержка синхронизации игроков. Если падает ниже 10 - проблемы с зомби. Неделю назад у нас на тесте был замер фпс сервера и при 5 фпс все было вполне достойно, за исключениям варпающих сквозь стен зомби.
  • Не ищите здесь никаких маркетинговых стратегий и уловок. Мы не выпускаем альфу, потому что добиваемся стабильной производительности сервера и клиента. В первую очередь серверной оптимизации будет достаточно для релиза. На это и брошены все силы.
  • Поверьте, я (Рокет) не страдаю перфекционизмом. Выйдет игра и вы это поймете. Сейчас не решены проблемы с производительностью мультиплеера, а DayZ - это мультиплеер. Так что без стабильного мультика выпускать игру нельзя. Дело не в идеальности, а в функциональности и только это наша цель. Людям придется заплатить за новую игру, а многие чувствуют, что уже вложились в DayZ после покупки ArmA2 для игры в мод и я это понимаю. Многие вложили массу времени и сил в сообщество и нашу поддержку. От нашей игры все ожидают определенный уровень функциональной стабильности, которая оправдает и затраты и вложения и вообще подтвердит ценность проекта. И даже при недоделках в дизайне и деталях, игра, которая стабильна в мультиплеерной части и функционале будет достойна внимания и оправдает ожидания.
  • Производительность игры в лесах и полях очень очень достойная. Однако в городах есть проблема критического падения фпс. Особенно если направить взгляд к центру города. Этого быть не должно и мы решим эту проблему в любой случае. Проблема кроется как минимум в некоторых текстурах зданий. В целом же, не учитывая эту недоработку, тестеры единогласно признают прирост производительности и комфорта\плавности в игре по сравнению с модом.

  • Серверная архитектура изменена в корне. Теперь количество игроков будет зависеть только от мощности серверной машины. Теперь главный серверный ресурс - процессор. И увы, на тестах не замечен был прирост от наличия нескольких ядер. Решала все мощность основного ядра. В сервере DayZ критически снижен сетевой трафик и даже пинг, однако процессор будет “решать”. Мы ориентируемся на машины, которые могли держать типичный выделенный сервак ArmA2 с модом. К релизу планируем начать с 50 игроков на сервере. Максимальное количество игроков для Чернаруси уже было определено - 150 игроков и мы после релиза будет постепенно расширяться к этой цифре. И мы обязательно сделаем linux сервер, когда завершим Windows сервер. Мы бы конечно хотели бы и клиент поставить на linux, но это пока большой вопрос.
  • Очень прошу не путать сетевую архитектуру и производительность. Это разные аспекты. У нас два ведущих программиста, которые полностью заняты производительностью. У нас есть два старших программиста, которые работают по мере надобности над “багофиксами”, сетевым кодом или производительностью. И есть два программиста для менее срочных задач. Один работает исключительно над физикой и регдоллом, а второй занимается рендером. Отдельный программист занимается спавном лута и центральной серверной архитектурой. И еще в штат добавится 1 внештатник и 2 штатника на разные другие аспекты игры.
  • Так что, проще говоря, над оптимизацией могут работать несколько человек, даже дизайнеры умудряются оптимизировать ресурсы и даже я кое-что исправлял.
  • Новая система инвентаря сейчас представляет из себя эдакую беспорядочную сумку. Мы допустили некоторые небольшие ошибки в логике инвентаря, которые решить можно будет либо задержав релиз, либо уже после релиза. Однако в любом случае это шаг вперед, хотя бы из-за реализации таких механизмов инвентаря как: группирование предметов, намокание, крафт, контейнеры, повреждения, одежда, оружие, кобуры для пистолетов, сумки, оружие ближнего боя, бензопилы, маски, перчатки, ботинки. Все, что вы только хотели и даже износ и шумность обуви, зависящие от типа покрытия.
  • Мы продолжаем оптимизацию билда. Вам же рекомендуем обратить внимание на вышедший в Steam Project Zomboid, который является отличной игрой, а так же стал большим источником вдохновения для DayZ в плане дизайна и функционала. Рекомендуется всем неравнодушным к DayZ. 

Перевод информации by dayzrussia.

Больше статей на Shazoo
Тэги: