Snusmumriken
Один удар - и хедшот всем на сервере
fgntfg
Если все хосты читеры, то они играют в мод
fgntfg
всё просто
Saphire
Эм
Snusmumriken
Saphire
В случае с локстепом можно читерить сколько хочешь...
Проблема в том, что другие игроки (точнее не они, а их игры) заметят, что случился рассинхрон, и просто кикнут читера из-за большого рассинхрона
Saphire
Вот и всё
Snusmumriken
Блин, слишком много умных слов.
Дай определение нормальное, чтобы никаких недомолвок.
Я не понимаю о чём ты говоришь.
Snusmumriken
Тратить ресурсы на сравнение?
Как определять, кто прав а кто нет?
fgntfg
У тебя 2 ядра и 2 гига.
fgntfg
Saphire
Saphire
Если кто-то от него отличается - вылетает
fgntfg
О, даже не так
fgntfg
можно проще.
Saphire
Даже если это просто баг или не одинаковые вычисления на разных клиентах
fgntfg
Можно перед началом раунда провести синхронизацию. Тоесть по каким-то формулам провести тесты и сравнить результаты.
Saphire
fgntfg
А потом всё считать локально
Snusmumriken
Ах да, ребят, вы в курсе, что в сетевых играх, миры каждого игрока различаются?
Каждый живёт в "своём" времени, их вообще невозможно синхронизировать.
Saphire
... в который раз мы всё говорим об одном и том же
Saphire
fgntfg
МЫ - БРАТЬЯ
Snusmumriken
Не а )))
На это уйдёт куча времени.
Snusmumriken
Пинг - 5мс в локалке. Уже не получится.
Saphire
Snusmumriken
Так, на секунду, все серверы останавливаются для синхронизации
Snusmumriken
Каждые десять секунд )))
Snusmumriken
Очень интересно
Saphire
Блин, дай мне найти эту ссылку
Saphire
Там все идеально показано, именно по этому дизайну сети в игре
Snusmumriken
Я уже дал
Saphire
Saphire
FFS
Saphire
Именно про ЭТО и говорится
fgntfg
А для быстрой - выделенный сервер. Или сервер выбирается в лобби голосованием или на рандом.
Snusmumriken
fgntfg
Можно, но это слишком. Лучше изобрести свой велосипед
fgntfg
Кстати о велосипедах. Хочу купить один
Snusmumriken
Карочи, там - нормальные срезы и синхронизация с учётом среднего пинга и прочих прелестей.
Saphire
https://gafferongames.com/post/introduction_to_networked_physics/
Saphire
ВОт
Saphire
Там в статье сначала делают простенькую физическую игру.
В следующей - добавляют сеть. Именно тот самый lockstep
Saphire
Сначала у игроков либо одинаковое состояние, либо они их синхронизируют
Saphire
(Зависит от игры)
Saphire
Snusmumriken
На какой стороне убивать?
Saphire
В ИДЕАЛЕ, так нафиг не должно быть "нанес урон"
Snusmumriken
У меня - игроки мочат друг друга. Там есть нанесение урона.
Saphire
Должно быть максимум "соприкоснулся", а вообще, "нажал клавишу"
fgntfg
в идеале ты пишешь что есть пуля по вектору, или по координатам
Saphire
Snusmumriken
Ноуп.
Хех, прочитай статью, которую я дал ))
Saphire
Это когда уже подтвердили, что пуля ВООБЩЕ должна быть.
Snusmumriken
Прочитай, блин.
Saphire
Сначала один посылает другому - вот я клавишу нажал. Они подтверждают это (у клиента это может уже дальше симулироваться, но в сети оно пока так)
Snusmumriken
Читать кто будет?
Saphire
А, это тонкий клиент с предикцией, и всё.
Saphire
Это, из той статьи, которые ты скинул.
Snusmumriken
Вот я про то и говорю. Как твоя фигня будет на это реагировать?
Snusmumriken
Это от клиентов ))
А что синкается от сервера?
Saphire
Это от клиентов ))
А что синкается от сервера?
...в локстепе "сервера" как такого нет. Есть клиент, которого назначили "сервером", т.е. по сути он заведует авторизацией и выдает копию своего состояния всем, кто подключается
fgntfg
Надо не координаты посылать. А вектора. Через каждые n тактов - координаты, для сверки. Мало ли.
Snusmumriken
Бля, сапфир, ты упорот?
Saphire
Saphire
Бля, сапфир, ты упорот?
...а вы?
Сервер есть, в виде клиента который соединяет других клиентов с собой и друг с другом.
Saphire
Точнее, даже не так
fgntfg
Нужно валидировать всё