avatar
А старый способ уже пофиксили, теперь после гостевой игры система не появляется в моём списке точек телепорта?
avatar
FPS — это универсальное мерило производительности игры. Сегодня, пока еще, эталоном является 60FPS. Но готовиться надо к 96FPS. Современные многоядерные и гетерогенные вычислительные системы, установленные в качестве домашних ПК (даже за те же $300), способны обеспечить игроку требуемые 60FPS с огромным запасом. Поэтому сегодня на ряду с мерилом FPS еще используют мерило TPF (Time Per Frame), измеряющееся в миллисекундах.

Так вот. Даже если процесс отрисовки кадра выделен в отдельном потоке, нарисовать все равно получится только стабильную картинку. Это означает, что когда кадр начинает асинхронно рисоваться, мир замирает и его нельзя трогать до самого конца отрисовки. Ух ты, даже в асинхронном рендеринге мы прилипаем к FPS…
Припомни на своей памяти артефакты анимации из FIFA, Mass Effect, Star Track, любой игры серии Batman и еще целой кучи тайтлов. Это происходит потому что кто-то забыл что при асинхронном рендеринге состояние мира трогать не надо.

На деле же, многие движки, если не строго привязаны к FPS (даже если рисуют асинхронно), то симулируют несколько раз между кадрами. У меня по умолчанию FPS ограничен на 60, а SPS (Simulation Per Second) ограничен 120. И в моей тестовой среде TPF сохраняется около 3-4мсек, т.е. я все еще могу усложнять геймплей. Но я знаю что у меня многие механизмы еще очень сырые и я могу сильно уменьшить свой текущий TPF.

Симуляция — это один маленький шаг жизни мира, когда мир имеет возможность обработать запросы пользователя, систем ИИ, анимации, физики, звуков и еще огромной горы всякого сервисного барахла. Тут нельзя просто так взять, запустить поток выполнять какую-то ересь и забыть о нем. Симуляция всегда должна начинаться в одном фиксированном состоянии мира и приводить к другому фиксированному состоянию мира. Иначе — баги из Mass Effect, TES, NFS и прочего, прочего, прочего… и из Batman. :)
К слову о мобах и их мыслях. ИИ думает каждую симуляцию, т.к. каждую симуляцию окружающий мир меняется. Механизмы вообще ИИ являются очень непростыми в объяснении и требуют отдельной заметки.
Но вот если тебе на пару секунд позже прилетит дамаг, ты будешь недоволен. Особенно если дамаг прилетит от уже убитого тобой моба, а ты такой сказал себе «Фууух» и не стал хилиться.
Задержки симуляции принципиально неуместны. Состояние мира между симуляциями должно быть детерминированным.
avatar
Ну всеее. Ждите. Вылетаю)
avatar
Если моб даже 0.003 ms думает это вопрос контекста, ситуации. Одно дело если элемент массива обрабатывается 0.003 ms, а их там пара тысяч, а когда их 500 000 эти самые 0.003 определяют как долго система будет ждать, чтоб отрендерить следующий кадр.

Даже компенсация лага и\или предсказание с экстраполяцией дальше 500 ms использовать на регулярной основе в динамической сцене очень плохо. Кстати, будет как с теми же, например, машинами в эко, физика вообще очень не любит какие бы то ни было задержки.
avatar
Это не баг. Это фича. Не доверяешь — не давай им легатов.
avatar
Да, играть стало крайне некомфортно — по сравнению с отсутствием лагов до этого.
avatar
Не, ну в какой-то степени он прав, но только в том плане, что системы компенсации лага так и делают, но для игрока все происходит с моментальным откликом нормально.

Но, я боюсь, что все, что больше 500-800 ms никакой компенсацией спасти невозможно. Хотя, какие-то не требовательные к обновлениям штуки можно и подождать. Скажем, бекап в BD, не обязательно вообще держать что-то вне оперативной памяти — сегодня технологии это позволяют.
avatar
А что, всех это сильно бесило?
avatar
И ещё добавлю — видимость достижений сообществ и гильдий. Как новый игрок может узнать, какая гильдия чего добилась и кто круче? Только по форуму и обсуждениям в мировом чате, но там гораздо больше взаимных наездов и оскорблений, чем объективной информации. А в игре можно посмотреть разве что на количество захваченных территорий.
avatar
1. Консты. Удивительно, но до сих пор ни в одной игре не сделали формальные консты, хотя по факту существуют они почти везде, где есть смысл в социальных связях. С возможностью взять в консту людей из разных гильдий. Пытались сделать в Скайфорже, но получилось совсем криво.
2. Союзы гильдий. Чтобы можно было захватить территорию в союзе с кем-то, а не просто одна гильдия против другой гильдии. И ПвП-шиться, не задевая АоЕшками союзников.
3. Рейды как объединение нескольких групп, для массового ПвП или убийства боссов.
4. Группы по интересам. Например, дорос я, чтобы ходить в гуй мастер, а большинство народа в клане или не доросло, или переросло его. В Скайфорже это реализовалось через пользовательские чаты, в которые вступали желающие и там собирали группы.
5. ПвП-отряды внутри гильдии. Типа конст, но консты используются для повседневной игры и ПвЕ, а ПвП-отряды — для массового гильдийного ПвП.
6. Статистика посещения клановых ивентов игроками. Чтобы отсеивать неактивных игроков и выгонять их из клана. Чтобы оценивать, играет ли человек или не играет. Возможно — автоматически или полуавтоматически распределять награды между теми, кто ходит на ивенты. Сейчас это приходится делать или в Гугл доках, или ставить специальные ДКП-системы (если сильно нужно), либо оценивать «на глаз», появляется ли человек на ивентах или нет.
7. Статистика, насколько активно играют люди. Сколько уровней прокачали за неделю и месяц (в период активной прокачки), насколько часто заходят в игру, делают ли что-то или зашли и вышли.
avatar
Ещё явный недочёт — если выдать легатов двум людям, они смогут проголосовать и сместить тебя с поста супер-легата. Всё же, нужно хотя бы галочку в настройках, которая запрещает подобные бунты.
avatar
То есть, сначала собрать деньги на кикстартере, потом продать игру и недвижимость в ней, а после запуска платить премиум и покупать товары в шопе — этого всего оказалось мало? И нужны ещё инвестиции.
avatar
Угу, расскажи это всем игравшим на последнем цикле в Эко — когда каждая попытка убрать с земли ветки или пень выкорчевать залипала на эти жалкие полсекунды, но доставляла такой дискомфорт, что мне пришлось когтистыми админскими лапами срочно лезть и отменять этот закон :)
avatar
Конечно, вот, пожалуйста.
avatar
FPS же относятся к отрисовке, а зачем пересчитывать бизнес-логику так часто? Если моб будет целую секунду думать, напасть ему на меня или на тебя, то ничего страшного не случится, по идее. Или законы мира — нажал рубить дерево и вполне можешь треть секунды подождать, пока система просчитает, разрешено ли законами рубить его.
avatar
Есть ли ссылка на оригинал?
avatar
Эксперимент с комментариями отличный. Очень круто дополняют текст и мысли в нём. Спасибо всем!
avatar
Некоторые вещи настолько примитивные, что даже не нужно узнавать их от разработчика. По сути все пять уроков можно объединить в один «Люди настолько привыкли к стандартным вещам, что даже в условиях иных правил действуют по стандарту». Не потому ли игр с копиями привычных механик — сотни, а в действительно необычные игры играют «глупо», потому что применяют стандартные механики.
avatar
Некоторые вещи такие очевидные… после того, как о них прочел или услышал от умных людей :) Спасибо за перевод, а ребятам за комментарии. В ожидании продолжения.
avatar
Я думаю, разработчики просто должны давать удобный набор инструментов для общения и социализации игрокам, решившим проводить время в коллективе. И не спускать откуда то с потолка искусственных задач этим коллективам. Игроки сами, без доброго дяди разработчика, решат, чем им в игре заниматься — квесты совместно выполнять, рейдить или превратиться в литературный кружок. И в каком именно составе все это делать.
Проблемы возникают когда разработчики «лучше игроков знают» чем игрокам заниматься в их проекте. Отсюда возникает навязчивый сервис, когда тебе назойливо предлагают заниматься вот именно этим и именно таким способом, и больше никак.
.
Мне кажется, большинство соло игроков не хотят входить в состав какого-либо коллектива именно по тому, что эти коллективы по сути спортивные команды. Так разработчики решили, что раз коллектив — значит спортивная команда. А многим людям не удобно или не интересно находиться в спортивной команде. Может быть, они с большим удовольствием воспользовались бы предоставленной им ММО возможностью пообщаться с другими людьми, заняться совместной деятельностью, если бы у них был более широкий выбор — чем заниматься в игре.