+ Ответить в теме
Показано с 31 по 40 из 40
Тема: Непонятная задержка
-
20.06.2021 12:35 #31
Последний раз редактировалось PerfectGray; 20.06.2021 в 12:39.
-
20.06.2021 13:11 #32
-
20.06.2021 13:52 #33Развивающийся
- Регистрация
- 15.07.2016
- Сообщений
- 23
Если игра написана на с#, то я не думаю, что она написана одним классом, а значит аналогия с фундаментом не совсем корректная, поработать с этим можно и пути исправления найти вполне реально.
Предположу, что это должен быть класс с модельками, их физикой, их поведением и взаимодействием с другими объектами, с выделением памяти для проведения операций взаимодействия.
Из собственно наблюдения могу сказать, что я более чем уверен, те объекты, которые должны быть отдельными классами, находятся в одном классе и выполняют действия как один объект, как пример: Человек с луком и стрела, Человек с пистолетом и пуля, Человек с палкой и летящее заклинание, это все объединено и работает как один объект и видно это невооруженным глазом, оттого и неправильно работают тайминги.
Достаточно поработать над этими классами, да, работы там не мало, но игра не такая уж и сложная, если так посмотреть. Хочу сказать, что это лишь мои наблюдения, я не утверждаю что это именно так как я описал, но заключения считаю вполне логичными.
Еще хотелось бы, чтобы эту темку прочитал и кто то из администрации и поделился мнением по этому поводу, если в этой ветке этого не получится, то я готов перенести тему в ветку "Общение с администрацией"
-
20.06.2021 14:05 #34
Игра написана в 2006 году и люди, которые ее писали, скорее всего, уже не работают в студии разработчика.
Они не смогли ничего изменить в джиннах(поэтому и отказали в запросе на актуализацию), они не могут переделать БД(поэтому хотят его отключить и сделать другой вариант). Вы ожидаете, что они смогут изменить то, что в игре с самого создания?
Не думаю, что «игра не такая уж и сложная» применимо к игре, состоящей целиком из костылей.
Игра, если не путаю, написана на С++.
-
20.06.2021 17:31 #35
-
20.06.2021 17:46 #36
да и по сути аналитического мышления, когда на гвг жать имун, ище в замке, что бы когда дошол к врагам а их по центру 40, каждый по плюхе и ты труп, тогда смысл вообще от такой штуки как имунка(
-
20.06.2021 17:46 #37
Игра ещё не знает. Сценарий примерно такой:
серверу отправляется инфа о том, что игроку Х наносится урон 5-ударкой (в воображении сервера он уже нанесён)
эту информацию получает клиент игрока Х, начинает поочередно наносить эти удары
клиент игрока Х отправляет информацию о применении иммуна
игроку Х «донаносится»(ведь в представлении сервера на момент получения информации о получении урона у игрока Х иммунки нет) урон и он умирает
применяется иммун
В клиенте, на самом деле, много таких дырок, которые создают рассинхрон с сервером.
Например: если у вас жутко фризит клиент, то КД скилов будет больше, ибо клиент запускает свой таймер на откат умений и блокирует применение, поскольку таймер фризит вместе с клиентом. При обратной ситуации будет просто вылезать ошибка «умение недоступно».
-
21.06.2021 09:21 #38
Это пинг, качественно измеряемый с помощью привязки персонажей в библе, например. У себя на экранах персонажи бегут внутри ПЛа (т.н. компенсация пинга локальная), а на сервере где-то на расстоянии в секунду от них.
Фокус в том, что эта компенсация есть и на сервере обратная (на основании пинга игроков), но с определённым лимитом (вроде максимум 1-2 секунды) чтобы игроки не могли это юзать в качестве преимущества, выставляя в нужный момент пинг 100500.
Поэтому до определённого уровня задержки всё ок, а вот дальше серверная компенсация отключается и всё.
Кстати, это хороший пример, почему нельзя "просто взять и пофиксить" прохождение урона в иммун. Я уверен что там присутствует логике в стиле "отмотать состояние двух персонажей на их пинг и сравнить".
п.с. Насколько я понимаю, невозможность применения аптеки мёртвым персонажем китайскими аутсорсерами вообще переложена на клиент. Как и многие другие вещи.
Поэтому по факту вы нажимаете иммун уже будучи мёртвым, если хорошая задержка
И сервер этому не мешает и делает откат.
п.п.с. Слышал, что часто багается откат на самом клиенте тоже, выглядит это так что скиллы начинают откатываться в два раза дольше. И реально не тыкаются до конца этого увеличенного отката.
-
21.06.2021 09:50 #39
А еще хочу вспомнить тему, которая появилась после рб или ближе к этому. Короче, мобы в данжах и мире, если их до агра зарутать - они не будут просто стоять на месте.
Они начнут куда-то отходить в сторону, ну как все не заагренные мобы, которые изредка двигаются туда-сюда. И вот, если вы после этого подбежите к мобу и решите ударить его (ближником в идеале) - напишет "Умения недоступны". Ведь вам-то показывает моба тут, а на самом деле он там и стоит, что и будет видно как только пройдет рут. Т.к. двигаться в руте моб не может.
Еще наверное многие замечали, но это уже другое. Короче, на большинство новых мобов, начиная с кукол в земном аду - несогласка не работает вообще. Вернее, она заставляет их убегать и не дает автоатаковать, тут все логично.
Но вот когда дело доходит до скиллов... поворачиваются и жмут как ни в чем не бывало. Хотя эти более новые мобы вообще багнутые. Чего стоит их попытка атаковать издалека цель которая в воздухе и вне их радиуса, из-за чего они будут стоять тупить секунд 15-20, или пока не взлетишь выше, а не отагриваться.
А значит, раз все это более новое, то не только в старом движке проблемы. Хотя да, если бы игра создавалась году в 2014-2015, то наверняка и оптимизация и все было бы получше.
-
21.06.2021 10:03 #40
Я думал длинное время отагра мобам из МЛ и ЗЗ сделано специально, разве нет? Это чисто параметр сколько времени моб будет тупить. Может дольше, может короче.
А вот по поводу несогласки, то есть такое что если заагрить запалом то моб первый скилл скастует. В мираже часто такая фигня была когда пытаешься кинуть бобошку в несоглу и в тебя сразу влетает эта самая бобошка. Но чтобы прям моб в действующую несогласку с анимацией несогласки что-то взял и скастовал — ни разу не видел.



Ответить с цитированием
