-
Постов
19 440 -
Зарегистрирован
-
Посещение
Тип контента
Форумы
Галерея
Исправление ошибок
Весь контент Admin
-
Подобные рестарты у нас месяцами не происходят, обычно. Не гарантирую, но по идее с крупными изменениями уже закончили, если сегодня новых серьезных багов не обнаружится, то рестартов незапланированных уже не будет. Но если потребуется, то сделаем, т.к. гораздо важнее, чтобы большая часть игроков могла нормально играть.
-
В том то и дело, что рассинхрон при движении мелкими шагами это хоть и неприятно, но не так важно (но я попробую уменьшить эту проблему). А вот отсутствие реакции чара на клик, да еще несколько раз подряд - это очень плохо, и такого я не видел ни разу и не смог повторить ни разу, сколько ни пытался.
-
Не удалось повторить, пробовал на х5. Как часто происходит? Нужен способ повторения.
-
Да, уже нашел причину и поправил, придется еще один рестарт сделать. О других ошибках пока вроде не сообщали. Отправил все сервера в рестарт через пол часа.
-
Я скорее всего добавлю в .cfg угол на котором пет будет находиться. Сами сможете выбрать.
-
- проваливания под землю (которые появились вчера) исправлены (повторил, исправил, не смог повторить) - рывки при движении будут появляться реже (а точнее, это выравнивающие позицию чара мини телепорты, которые называются "валидейты") - замедление/ускорение движения больше не будет происходить (это был такой способ выравнивания, заменяющий валидейты) - проблема с перемещением персонажа при релогине исправлена (повторил, исправил, не смог повторить). Так же, исправил еще несколько аналогичных проблем, связанных с релогином (вероятно, окошко пета больше не будет оставаться, и другое). - проблема с остановкой атаки у дуалов/кастетов исправлена - устранено несколько причин прекращения преследования персонажей при атаке/касте В этот раз существенных изменений в движок не вносил, только исправлял баги. Так что, скорее всего, сегодня будет самая стабильная версия из всех предыдущих.
-
Если еще раз придет в голову сказать слово "геодата" - лучше жуйте.
-
Никто ничего не удалял.
-
За 11 часов работы: - откорректированы радиусы атаки у мобов - исправлена проблема с атакой в руте - заодно, обнаружил и исправил проблему, возникающую при атаке обездвиженных мобов, они могли от этого сбрасывать агр и уходить домой. - устранено множество проблем, связанных с атакой и движением, как новых так и старых - еще более точное движение, еще меньше десинк - синхронное движение для петов. Когда-то давно, я уже пробовал это сделать, но таких впечатляющих результатов удалось добиться впервые - петы теперь располагаются немного позади персонажа и слева, на чуть большей дистанции - дроп из мобов теперь располагается на земле не в виде "сетки" а более случайным образом - исправлена проблема с кастом при преследовании целей Сервера уже обновлены.
- 814 ответов
-
17
-
Процесс преследования вчера вообще не тестировали и не исправляли, сосредоточились на проблемах с обычным движением. Теперь, когда процесс движения стал правильно работать, уже можно остальные проблемы устранить. Сегодня займусь.
-
Просто мы оптимизировали радиусы только для игроков и петов. А у мобов свои мысли на этот счет
-
Ага, персонажи сами переехали из одной базы в другую? Чтобы такое произошло, нужен механизм, которого у нас нет. И его не так то просто сделать.
- 4 ответа
-
1
-
Это проблема в клиенте. На сервере все обрабатывается корректно, уже много раз разбирали детально, что там происходит. Исправить нельзя.
-
Не может быть. Игроки всем довольны? Наверное форум сломался...
-
Радиусы откорректируем, для удобства, чтобы в руте 20 мог достать 40. Но это не совсем ошибка. По поводу пики - да, стало ближе, т.к. мы убрали технические добавки к радиусу, которые ранее были сделаны из за несовершенства движка. Так же, эти радиусы стали более точно отображаться.
-
Зря мы эту функцию добавили, надо было оставить как раньше. Если зашел в игру, то оффтрейд просто заканчивался.
-
Я конечно не на всех горах проверял, но похоже, что дополнительно исправилась проблема с проваливанием под землю при падении с гор. Забавно, ведь у нас не было цели это исправить, а причину этого бага я искал несколько лет, и так и не нашел
-
Итог на сегодня: - исправлено большинство проблем с движением, различие между серверными и клиентскими координатами сведено к минимуму - исправлены проблемы с отвязыванием чаров, невозможностью сидеть и прочее - корректная обработка изменения скорости персонажа во время движения (дебафы на замедление и прочее) - исправлена скорость шага - исправлено движение в воде. Некоторые проблемы остались, но стало гораздо лучше. - как ни странно, дополнительно улучшен поиск пути. Пример - башни в фортах. Ранее, если кликать на лестницу, то чар забегал под нее. Если кликать повыше, то чар мог странным образом оббежать всю башню вокруг, и только потом забежать на нее. Теперь же, можно просто кликнуть на самый верх башни, и чар туда добежит (вероятно, не на всех башнях это сработает). Более того, ранее чар цеплялся за лестницу, визуально оставался внизу, а на самом деле забирался наверх. Теперь же, если чар зацепится, что через несколько секунд его позицию исправляет сервер. Все протестировано множество раз, надеюсь мы не пропустили никаких новых проблем. PS: Преследование при касте не проверяли, но исправлял там радиусы, должно помочь, проверьте.
- 814 ответов
-
13
-
Еще учитывайте, что даже если никакого десинка нет, то все равно, спина у цели может оказаться не там, где кажется. Потому что любой каст или атака мгновенно разворачивает к цели. Причем, если вы начали бежать вокруг кастующего, а каст долгий, то визуально он будет поворачиваться в вашу сторону непрерывно (т.к. кастует), но на сервере он не поворачивается, а стоит лицом туда, где вы были на момент начала каста. Более того, когда он закончит каст, в клиенте он будет развернут в вашу сторону, а на сервере он останется развернутым в сторону, откуда начинал каст. И угол поворота станет правильным только тогда, когда он сделает шаг, или что-то еще скастует, но не поворачиваясь. Этим тоже займусь, давно хочу сделать разворот к цели и на сервере тоже, в реальном времени. Но прошлые опыты правильного результата не дали. Да и спорный это вопрос, ведь если во время каста он будет всегда к вам развернут, то спину будет найти невозможно даже в теории, т.к. он к вам лицом. Зато, появится шанс найти спину, если он кастует в кого-то другого. А так же, отображаемое станет действительным, что важно. Вероятно, это стоит делать только вместе с исправлением, которое позволит учитывать спину у backstab не в конце его каста, а в начале. Я должен закончить исправления и все протестировать.
-
Если объяснить по простому: исходные коды клиента скомпилированы, собраны в виде непонятных для человека файлов. Его нельзя изменить, только какие-то отдельные кусочки, и то, это очень сложно. То, что некоторые игроки видоизменяют клиент, не значит что они смогли бы к примеру поменять там алгоритмы движения, это "закрытая" часть. Мы могли бы взять к примеру Enreal Engine 4, и сделать на его базе новый клиент. Это было бы проще, чем изменить старый. Но все равно, заняло бы пару лет работы и много денег.
-
Расскажу о некоторых причинах рассинхронизации при движении, которые были до всех исправлений: В клиенте, при движении, персонаж где-то пол секунды (точное время еще нужно выяснить) идет шагом, и только потом разгоняется и переходит на бег. Ранее, наш движок полностью игнорировал этот факт, что вносило существенную погрешность в формулу. Т.к. мы эту разницу конечно же заметили, то когда-то давно компенсировали ее, домножив ВСЕ время движения на 1.05 (5%). Итоговый результат на длинных дистанциях получался хорошим, но был небольшой десинк в начале движения. Но если много кликать, или двигаться постоянно меняя цель но не останавливаясь, этот десинк накапливался до больших размеров. Эту проблему мы решали просто периодически корректируя итоговое положение чара (дергания и прыжки, либо ускорение/замедление движения иногда). Так же, существовал старый баг с добавлением 50мс к движению на сервере, что частично скрывало возникающие проблемы (сервер давал клиенту время добежать и не останавливал чара раньше времени), но точности местоположению чара это само собой не добавляло, и вызывало кучу других проблем. Когда я добавил понятие "разгона", т.е. шага в начале каждого движения (процесс движения делится на две части с разными скоростями), десинк пропал, но появилась другая проблема - очень сложно сдетектить ситуацию, когда персонаж уже разогнался, но вы кликнули бежать еще раз. Получалось, что сервер считал пол секунды такого движения как шаг, а в клиенте персонаж бежал, отсюда новый десинк. Особенно, это влияло на преследование одним чаром другого, когда идут постоянные начало/конец движения, по несколько раз в секунду. Итоговое различие доходило до 1000 (!!!) единиц на тестах. Это на самом деле большая проблема, и я прямо сейчас занимаюсь ее решением. Побочные эффекты, вроде отвязывания чаров, прыжков, и других поломок - это лишь мелкие баги, возникающие в процессе правок. Вы не на то обращаете внимание. Я их уже устранил (на тестовом сервере). Конечно, есть и другие причины десинка: персонаж при движении может в клиенте зацепиться за угол, или за моба, а в сервере ничего этого не происходит. На этот случай клиент иногда присылает серверу оповещение, что движение заблокировано. Но это не всегда происходит, да и не всегда помогает серверу. Этим мы тоже займемся позже, но полностью решить не получится. Так же, отдельно имеется проблема с десинком из за изменившейся во время движения скорости. Для нее уже есть решение, но займусь позже.
-
Проблемы с отвязыванием петов/чаров и невозможностью сидеть - это все просто баги, которые мы поправим, это не так важно. Важны отзывы о текущей ситуации с движением. Раши, блинки, рассинхронизация при движении - как с этим, лучше стало?
-
В общем, пока так играйте, вроде вполне играбельно. И опишите все замеченные проблемы. На сегодня закончил.
-
Вроде починил мобов, и предположительно преследование при атаке/касте. Если преследование для каста не починится, значит уже завтра более детально тестить/разбираться будем. Рестарт через 10 минут. х5 на столько большой, что ему нужно очень много времени. Не смотря на все оптимизации загрузки и периодические чистки неактивных аккаунтов. 31 гигабайт база. Для сравнения, х7 всего 6.5 гб, х55 - 12 гб.
-
Через 5 минут проверяйте снова.