Jump to content

Решение рассинхрона


64-core CPU

Recommended Posts

Не успел дополнить свой пост (http://forum.warspear-online.com/index.php/topic/57750-20170215-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%86%D0%B5%D0%BD-%D0%B8-%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2-%D1%87%D1%83%D0%B4%D0%BE-%D0%BC%D0%BE%D0%BD%D0%B5%D1%82-%D1%81-1-%D0%BC%D0%B0%D1%80%D1%82%D0%B0-2017/page-7#entry1013822)т.к. тему закрыли, поэтому допишу тут.
 
Персонажи двигаются по клеточкам, верно? Можно сделать просто проверку перехода по этим клеткам. Например, игрок командует персу перейти на 3 клетки вперёд. Перс проходит 1 клетку и останавливается до тех пор, пока не получит подтвержение, что на сервере он действительно перешёл на эту клетку. После этого он двигается дальше по 1 клетке, запрашивая подтверждение. Не думаю, что будут слишком большие задержки, постолько поскольку сейчас персонаж всегда "убегает вперёд" от своей действительной позиции на сервере.
При таком раскладе можно будет обойтись и без телепортов и пробежек.
 
А если вернутся к тому сообщению, где я предлагал синхронизацию(http://forum.warspear-online.com/index.php/topic/57750-20170215-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%86%D0%B5%D0%BD-%D0%B8-%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2-%D1%87%D1%83%D0%B4%D0%BE-%D0%BC%D0%BE%D0%BD%D0%B5%D1%82-%D1%81-1-%D0%BC%D0%B0%D1%80%D1%82%D0%B0-2017/page-6#entry1013796), то всё равно прыжки или перебежки не будут на огромные расстояния. Даже за 1 секунду персонаж не сможет уйти далеко от своего действительного местоположения.

 

В любом случае такую фишку всегда можно сделать ОПЦИОНАЛЬНО, то есть флажок в настройках, где можно будет отключить синхру и играть как раньше.

Просто я как бы играю 3.5 года и ничего в этом плане не изменилось. Попробуйте что-нибудь с этим сделать.

Edited by 64-core CPU
Link to comment
Share on other sites

Не знаю даже сколько лет этим строчкам

 

Итак, многоуважаемый игрок, эта статья в первую очередь предназначается для новичков. Она содержит в себе советы по игре, а также ответы на часто задаваемые вопросы.

I. Рассинхронизация или почему мобы странно бьют на пол-локи.

Общение клиента и сервера строится на пакетах, это сгруппированная информация в байтах. Когда вы нажимаете на передвижение куда-то, ваш клиент отсылает пакет, содержащий информацию, что такой-то игрок передвинулся на клетку 5c, сервер получает пакет, и ТОЛЬКО тогда вы на самом деле куда-то движетесь. Так вот из-за проблем со связью, бывают лаги, пакеты отправляются не сразу. Простой пример рассинхронизации: Вы жмете на клетку 5c, затем на 8c и затем вверх на 8a. (Таким образом вы обходите моба по дорожке) Если всё это время пакеты не отправлялись, а потом вас отлагало, сервер засчитает первый и последний пакет в этой цепочке, тоесть ваш персонаж на самом деле пойдет с 5c на 8a, т.е. Подиагонали, напролом. И тот монстр, котрого вы так усиленно обходили - за вами побежит.

Также иногда из-за лагов координаты монстров, отображаемых вам - не всегда совпадают с реальными.

 

Ну так вот, что следует из этого для себя решить. Во-первых, клацать 350 раз в секунду по разным клеткам, особенно если с инетом не все ладно-точно не стоит. Во-вторых, решение уже чисто от меня-стабильное Интернет-соединение. Тут даже не требуются скорость в сотни мбит/секунду, нет, главное чтобы соединение было максимально стабильным. У себя в Казахстане, на отдыхе, на озере, с 1 палкой связи, 2G интернет выдавал скорость примерно в 5 кбит/сек, чего мне вполне хватало для игры за чернокнижника против других игроков.

 

Проблемы с рассинхроном игроки создают себе САМИ. За несколько лет игры лично я уже определился, как и где движется мой или чужой персонаж, немного логики и все это будет довольно заметно. А если и понять как ты создаешь рассинхрон, то этим можно пользоваться на арене, когда враг не хочет к вам подходить. Ну, вроде все. Проблем с "рассинхроном" в игре я не вижу
 

Link to comment
Share on other sites

Poga, то, что я предлагаю как раз и позволит решить тот недостаток, описываемый в тех строчках, что ты только что процитировал :)

 

Edited by 64-core CPU
Link to comment
Share on other sites

Poga, то, что я предлагаю как раз и позволит решить тот недостаток, описываемый в тех строчках, что ты только что процитировал :)

 

Ну, недостатками я это не считаю, мне же понятно "положение" дел на локе, а твое предложение бессмысленная нагрузка на соединение

Link to comment
Share on other sites

Ну, недостатками я это не считаю, мне же понятно "положение" дел на локе, а твое предложение бессмысленная нагрузка на соединение

Спорное заявление:) Я играю за дру. Кучу раз сталкивался с тем, что пытаюсь, например, кинуть связь на танка в лабе, а она не кидается. Странно, да? Особенно если учесть, что танк стоит рядом со мной. Перезахожу в игру, а танк(вот досада-то) оказывается стоит не рядом со мной, а отстал клеток на 10. Может подскажешь, как мне определить, где на самом деле находится танк в такие моменты? А то мне, дураку, что-то не очень понятно :(

Link to comment
Share on other sites

Спорное заявление :) Я играю за дру. Кучу раз сталкивался с тем, что пытаюсь, например, кинуть связь на танка в лабе, а она не кидается. Странно, да? Особенно если учесть, что танк стоит рядом со мной. Перезахожу в игру, а танк(вот досада-то) оказывается стоит не рядом со мной, а отстал клеток на 10. Может подскажешь, как мне определить, где на самом деле находится танк в такие моменты? А то мне, дураку, что-то не очень понятно :(

 

У меня нет точного руководства как понимать, все что я сам делал, это смотрел, сколько мобов бьют того же танка, сколько мобов било меня когда я сам бегал танком, и как быстро при этом я передвигался или другой игрок, на какой локе/переходе между локами все происходило. Просто постоянный анализ происходящего. Считаешь урон, получаемый кем-то в секунду, сравниваешь с его количеством хп, думаешь, сколько секунд продержитесь, сколько позволить, сколько секунд на перезарядке у тебя или других игроков. В этом же и прикол этой игры: легко считать, даже интересно бывает. Потом привыкаешь уже.

 

Приведу простой пример: Вы бежите по лабу, танк берет на себя пачку и начинает бежать. И тут может произойти следующее: Танк будет бежать, мобы будут его тормозить, вы будете в своем клиенте все это видеть. Дальше кто-то на секунду контролит мобов, танк вроде как убегает, но все равно видно, что он получает урон. Тут уже стоит задуматься, где стоит ваш танк? очевидно, что он наверняка все еще немного позади, так как те же мобы не перестали его бить из-за слишком короткого контроля

 

Вообще у меня рассинхрон бывает не так уж часто, своего персонажа я держу под контролем, рассинхрон напарников/врагов в радиусе клетки-двух я считаю приемлемым, подрезов с 5 клеток и прыжков с пол локи я не ловлю. Дикий рассинхрон для меня фактически редкость, потому что с залипанием кнопок даже на секунду мириться я не собираюсь, это все начинает мешать нормальной игре

Link to comment
Share on other sites

А, ну еще надо понимать, что на самом сервере все действует так, как задумано разработчиками, там нет всяких задержек или внезапных рассинхронов. Поэтому главное просто знать, что на сервере та все движется вот так, и потом уже задумываться верить или нет тому, что ты видишь на своем экране

Link to comment
Share on other sites

А, ну еще надо понимать, что на самом сервере все действует так, как задумано разработчиками, там нет всяких задержек или внезапных рассинхронов. Поэтому главное просто знать, что на сервере та все движется вот так, и потом уже задумываться верить или нет тому, что ты видишь на своем экране

Ты думаешь, что тут одни ванги? Даже, если человек такой гений, это не значит, что он всегда угадает положение персонажа. А для некоторых классов это имеет решающую роль.
Link to comment
Share on other sites

Poga, игроки не должны задумываться над тем, верить им тому, что они видят на экране или нет. Уже поэтому твоё мнение, что моё предложение - это "бессмысленная нагрузка на соединение" не верно.

 

Хорошо. Допустим по мобам можно догадаться, что танк отстал от того места, где я его наблюдаю. Но как на счёт карающих корней дру? Мой дру обладает этим замечательным навыком и этот навык может спасти ситуацию. Только вот незадача - я не знаю, где точно находятся мобы и практически никогда не попадаю наугад по ним. Может ты соизволишь и тут мне подсказать, как мне быть? Буду премного благодарен :)

Edited by 64-core CPU
Link to comment
Share on other sites

Есть такое предложение - делить движение от 1 клика на части. То есть, ты жмёшь на карту, устройство определяет путь и, допустим, каждые 2 клетки будут отсылаться на сервер. Таким образом, будет постоянно определятся, дошёл перс до какой-то клетки, или нет. И если какой-то сигнал не дошёл или припоздал, следующий сигнал скоректирует положение.

Также дополнительно будут отсылаться координаты игрока с сервера, если он попадает в стан/обездвиживание и применяет навык на ходу.

Если на экране перс находится в одном месте, а с сервера пришёл сигнал с другими координатами, то он бежит в новую точку, при этом он может ускоряться, и производится анимация летящих снарядов и скилов.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

}{0TT@б B)ч, плиз, посты 5 и 9. Не подскажешь, как поступать в таких ситуациях? Причём ситуация такая бывает и при игрк с компьютера и пр игре с мобильного через сотовую сеть.

Link to comment
Share on other sites

ну снорлакс вроде писал что решаетса проблема с расинхрном,но вот когда она решытса это уже другая история :D

Link to comment
Share on other sites

}{0TT@б B)ч, плиз, посты 5 и 9. Не подскажешь, как поступать в таких ситуациях? Причём ситуация такая бывает и при игрк с компьютера и пр игре с мобильного через сотовую сеть.

пинг знаеш что такое ... видимо находишся очень далеко от серверов варспира ... или плохой у тя провайдер .... попробуй подсеединится к какому нить другому инету через вайфай или с другого оператора и сравни ....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...