avatar
Вчера на хабре появился очень объемный перевод одной очень познавательной статьи от очень крутых дядек. :)
Эта статья очень хорошо описывает эффект запаздывания кадров. Это один из источников описываемых выше «подвисаний».
avatar
Сорри. Я старался написать понятными словами, видимо у меня это очень плохо получилось.

Если еще короче, то можно сказать так: не так страшно потерять 8 кадров из 140 в секунду, как страшно потерять 8 кадров из 60 в секунду.
avatar
Вот у меня тоже от Motion Blur-а глаза вытекать начинают. Я его тоже отключаю.

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

Но, вместе с облегчением работы, такое правило влечет за собой ряд проблем.
Даже если в игре предполагаются схемы распараллеливания, они обычно координируются через главный поток процесса. В нашем случае главный поток вообще всем заведует: он и симуляцию запускает, и кадр рендерит, и параллелизмом дирежирует.

А теперь, скажем, мы включаем VSync. VSync заставляет поток рендеринга «залипать» внутри системного вызова презентации кадра до самого факта проецирования кадра на мониторе. Все это время поток рендеринга находится в состоянии сна. Это системное поведение, которое напрямую не обойти. В нашем случае залипает главный поток. И залипнуть он может на время до 17 миллисекунд (для мониторов с 60Hz), за которое может набежать большая очередь готовых для обработки загруженных ресурсов. И на следующем кадре вся эта очередь ломанется на обработку, что с большой вероятностью приведет к пропуску времени синхронизации монитора и новому залипанию еще на ~17мсек. Самое обидное в том, что во время этого залипания системные ресурсы (CPU/GPU/Шина памяти) находятся в простое, хотя могли бы заняться обработкой загрузки динамических ресурсов.
И так длится пока все динамические ресурсы не будут загружены. Игра начинает терять кадры, из-за возросшей нагрузки увеличивается время подготовки кадра, появляется ощущение лагов даже на очень мощном компьютере.
Ограничение на число кадров работает ровно таким же образом, но уже не по инициативе монитора, а просто по недогляду за проблемой со стороны инженеров проекта.

При отключении VSync и снятии ограничения на FPS игра перестает «подлагивать» потому что ее запросы на подгрузку динамических ресурсов выполняются более своевременно и в более расслабленном режиме, равномерно загружая системные ресурсы компьютера.
avatar
Ясно. Эффект подлагивания действительно может возникнуть при включении вертикальной синхронизации. Это не очень приятно, хоть и сам VSync к этому никак не причастен. :)
Выходит, просто у NMS инфраструктура строго привязана к рендерингу и его фреймрейту. Это довольно частая практика.
Лично меня всегда огорчала рассинхра проекции кадров, которая все время появляется без VSync. Верхняя половина монитора проецирует новый кадр, а нижняя — еще старый.

Сейчас мониторы с FreeSync/G-Sync стали очень доступными, на них становится возможным получить идеальное проецирование картинки на максимально доступной для игры скорости.
avatar
Ат, а шо это ты VSync(верикальную синхронизацию) выключил? :)
Не уж то мешает или у тебя монитор на 144Hz? Или он G-Sync поддерживает?

VSync ведь позволяет монитору проецировать кадры без рывков. А это очень хорошо сказывается на восприятии картинки.

А Motion Blur глаза не режет?
avatar
Добавлю сюда ссылку на расположение этих красот в галактике.
avatar
Кайз спокойно прилетел в мою систему через портал в рамках уже изолированной одиночной игры.
Призывается Kaizer ! :)
А в рамках коллаборации вы проходили в портал? Портал, который позволил Кайзеру прыгнуть в твою систему быт построен тобой? Или им? И в рамках ли коллаборации он был построен?

Это очень интересная информация. Если выясняется что коллаборация смешивает знания своих участников — это явно ошибка. Если получается что тебе только достаточно поставить портал чтобы другой игрок уже мог прыгнуть в разведанный тобой космос — это точно ошибка.
Возможно это все преднамеренные допуски, облегчающие массовую проверку новых механик.
avatar
А меня вот что еще интересует.

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

По части обесценивания расстояний и единого мира яб запасся терпением.
avatar
Да, можно. Но как без знания символов ввести адрес назначения?
Мне всегда казалось что порталом принципиально нельзя пользоваться до момента изучения хотя-бы одного символа. А этот момент очень сильно отдален по времени от начала игры.
avatar
Не знаю, как насчет тактики маленьких шагов, но мне пока не кажется этот шаг удачным и сделанным в нужном направлении.
В этом и суть маленьких шагов. :)
Видимо, основной целью направления мультиплеера сейчас была непосредственная коллаборация игроков.
Сейчас у HG есть всё чтобы сразу и по-максимуму получать статистику и обратную связь от совместных игр, дорабатывая и исправляя механизм.
avatar
Очень познавательный рассказ! Особенно для меня, как для обладателя GOG версии, для которой обозначенный мультиплеер еще не завезли.
Я так понимаю, сейчас разработчики пошли так называемыми микроитерациями. Это такая теория маленьких шагов в области разработки, для которой характерны небольшие систематические обновления, в длительной перспективе складывающиеся в масштабное изменение.

Надеюсь на то, что мультиплеер будет дорабатываться, что как минимум можно будет уберечь свой мир от попадания туда нежелательных или случайных игроков.
Думаю, дальше совместная игра не будет начинаться в одной солнечной системе. Думаю, игрокам совместной игры все таки придется ощутить на себе размеры пространства в NMS.
Надеюсь, в случае подключения к случайной игре маркеров других игроков случайный попутчик не увидит, как и игроки совместной игры не смогут увидеть его.
avatar
Да, можно.
Для этого надо написать в техподдержку Hello Games (общий issue tracker NMS), описать проблему, прикрепить свои сейвы и, если есть возможность, показать видео.
Обращение в поддержку с детальным пояснением и подтверждением обнаруженной проблемы — это 100% лекарство от любых проблем.
avatar
В условиях дефицита информации мы не можем быть уверены в чем-либо и вынуждены действовать исключительно на основании личных домыслов, созданных через призму своего личного восприятия и под влиянием привычного окружения. Даже сейчас я не могу точно говорить, каким Hello Games планировали этот пресловутый мультиплеер с самого начала и какие функции отключили перед релизом. Фразы у Мюррея все равно расплывчатые.
С точностью я могу сказать что я могу быть неправ в своих сугубо личных домыслах.

У каждого человека всегда есть такая тема, в которой он готов выражать свое несогласие с другими людьми.
Иногда люди слишком сильно концентрируются на достижении неминуемой правоты. А таким ли путем достигается согласие?

Я просто хочу сказать вот о чем.
Ни что, ни признание, ни отрицание, чьей-либо правоты не может как-либо оправдать прессинг в отношении Hello Games.
avatar
Да, видимо были. А, например, я — был неправ. :)
Дарует ли это другим людям, вылившим столько помоев на небольшой коллектив Hello Games, право или индульгенцию на их действия — сомневаюсь.

То рвение и страсть, с которой многие бросаются словами ненависти, не сможет привлечь в индустрию еще одну семью Костеров или еще одного Гэрриота, не думаю.
avatar
Поговорка «Семь раз отмерь» работает не только для линейки. :)
Сегодня даже тот товарищ, что всегда был готов обругать Мюррея в моем присутствии, сказал: «Ну что, не зря я все таки оставил NMS на плойе и не стал ее возвращать, посмотрим».

А мне пока придется повременить с NMS. У меня теперь на игры совсем не хватает времени. :(
Я ввязался в авантюру с углубленным изучением рендеринга современных игр и уже строю коварные планы по использованию своих обновленных знаний.

Что-то еще смотрю, на GOG все еще нет доступного обновления.
avatar
С полей, а точнее с тропинок галактики, доносятся интересные вести.

На сайте NMS стало доступно обращение к игрокам.
В этом обращении размещены ссылки на несколько интересных сайтов. В частности — на карту галактики. На карте можно найти некие «интересные места».
Мне пока не ясно, чем именно эти места примечательны.

Кроме этого, становится понятно что обновлений после NEXT станет больше и выходить они будут чаще. Говоря «чаще», я имею в виду даже не раз в месяц. Обновления планируются с еженедельной частотой!

Вот уже завтра можно будет поставить себе NEXT. Обновление с самого начала виделось как очень большой шаг в развитии проекта. Чем больше появляется новостей и чем ближе к моменту релиза, тем для меня яснее становится что это обновление с большими последствиями.
Какие это будут последствия — увидим. Не ошибается только тот кто не работает! :)
avatar
Я просто оставлю это здесь. :)
avatar
и неважно что могла уже выйти раза 3-4
Это такой намек на Bless Online и подобных? :)
avatar
Да, верно. Я не хотел возвести параллели между краудфандингом и предзаказом. Я только хотел рассказать об отношении к частному инвестированию в странах.

Лично я против разделения на предзаказ, краудфандинг и фактическую оплату. Если делить, то этим инструментом можно манипулировать. Вдруг появится такой разработчик/издатель игры, который начнет краудфандинг проекта на условиях только поддержки разработки. А когда проект будет готов к релизу, для него откроют предзаказ и тут выяснится, что краудфандинг не давал права на копию продукта. Упс. Теперь инвесторы еще и свою копию продукта должны выкупать поверх своих инвестиций.

Я не знаю, как с этими терминами обстоят дела в Германии, поэтому ничего не могу сказать по вопросу, был и поставлен запрет на краудфандинг с неясными сроками или нет.
avatar
Куда выгодней с маркетинговой точки зрения (личное имхо, естественно) было бы вернуть деньги (на фоне огромных сборов это копейки), и оставить минимальный giveaway, мол, понимаем, но надумаешь возвращаться — держи купончик на скидку.

Мне тут подсказывают из зала что CIG (Cloud Imperium Games) уже возвращала деньги разочарованным инвесторам. Но возвраты они делали по такой схеме, когда инвестиции одних людей передаются другим как возврат инвестиций.
А потом в 2015 году был переписан EULA и компания перестала быть финансово ответственной перед инвесторами.