Alexander
То есть так
Alexander
Клиент: я прыгаю. Как это сделать? Сервер: тебе нужно прыгнуть Клиент: ок
Таймураз
Клиент: я прыгаю. Как это сделать? Сервер: тебе нужно прыгнуть Клиент: ок
Эмм. Скорее "я умею прыгать. Когда это сделать?" Сервер отвечает в нужный момент "Сейчас."
Alexander
Эмм. Скорее "я умею прыгать. Когда это сделать?" Сервер отвечает в нужный момент "Сейчас."
А разве это не должно быть "Я прыгнул" сервер "ок, записал"
Alexander
Я честно не знаю😅
Таймураз
А разве это не должно быть "Я прыгнул" сервер "ок, записал"
Зависит от реализации. Просто сервер не должен за клиента выполнять его работу. Рендерить изменения документа, например
Alexander
Зависит от реализации. Просто сервер не должен за клиента выполнять его работу. Рендерить изменения документа, например
То есть если у меня есть быстрый просмотр у товара, то его загрузкой должен заниматься клиент?
Таймураз
Я честно не знаю😅
Сервер в играх должен оповещать об изменениях и по возможности- симулировать игру для оценки поведения клиента. Как только появляются несостыковки- реагировать. Где подсказать клиенту, что он отстает от событий игры (не получил пакет или получил, но не вовремя (UDP)), где клиент охренел и пытается считерить (кто-то подгружает свои скрипты на страницу, вмешиваясь в логику игры)
Dreamerinnoise
регистрация хитов уж точно
Таймураз
И да, UDP в контексте браузерных игр неактуален, он запрещен
Таймураз
Но во всяких CS-ах, дотах и так далее используется он, если соединение хорошее
Alex
Ну вообще да зависит от реализации
Alex
Но общее правило для меня такое что чем меньше логики будеь на клиенте тем лучш
Alexander
Просто та игра была написана на actionscript. А тут js. Все открыто и видно
Alex
Просто та игра была написана на actionscript. А тут js. Все открыто и видно
Именно поэтому на клиенте я делаю минимум логики
Таймураз
Но общее правило для меня такое что чем меньше логики будеь на клиенте тем лучш
Если решение не требует большого количества логики. Ее должно быть именно столько, сколько требуется
Vlad
Да
Круто
Alex
Выливается в больший гемор при разработке
Alex
Но на длинной дистанции дает свои плоды
Таймураз
Выливается в больший гемор при разработке
Значит делаешь не по канонам
Vlad
Да
смотри, каждый раз когда я проигрываю, я буду менять у себя время на минуту вперед
Таймураз
Но на длинной дистанции дает свои плоды
Если бы ты писал однородный код с хорошей структурой, тебе бы было легко читать даже кучу логики
Vlad
в середине матча понимаю, что скорее всего проиграю
Vlad
перевожу стрелки
Таймураз
Так этот код и однороден)
Тогда мы говорим об одном и том же но разными словами
Vlad
матч заканчивается обрывом
Alex
Дошло
Vlad
делаю так со всеми неудачными матчами
Vlad
с удачными не делаю
Alex
Да, здесь мы пишем дополнительно проверку кто считерил в итоге
Alex
Пока решения нет
Таймураз
Пока решения нет
Тот, кто вылетел- его проблемы
Alex
Ну то есть есть, один глобальный таймер
Alex
Но хочется что то такое тоже, чтобы клиенты сами разруливали
Vlad
будет чувак которого нельзя будет победить
Alex
Ага
Таймураз
Если ты вылетел и не подключился- тебе проигрыш
Vlad
в середине матча понимаю, что скорее всего проиграю
Vlad
перевожу стрелки
Alex
Ну он переводит стрелкт, игра обрывает соедтнение, результат не засчитывается
Alex
Это проблема, да, пока думаем как бы поизящнее ее решить
Таймураз
Ну он переводит стрелкт, игра обрывает соедтнение, результат не засчитывается
Тот, у кого траблы со временем возникли- его проблемы
Таймураз
Это проблема, да, пока думаем как бы поизящнее ее решить
Смотри. Ты же проверяешь обоих игроков каждые 10 секунд в момент времени +/- 1 секунду?
Alex
Не понял
Alex
Каждые 10 секунд они стукаются на сервак для сверки таймеров
Alex
В остальное время обмениваются инфой другой
Таймураз
Не понял
Совпадает ли их таймер с серверным дельта времени совпадения от серверной- 1 секунда
Alex
Не так было
Alex
Но сейчас видимо все таки будет нужен хотя бы один глобальный таймер
Alex
Было так что : эй сервак у меня таймер 83 секунды
Alex
Сервак грит ок, жду второго сорерника
Alex
Соперник говорит : эй у меня таймер 83
Alex
Плюс минус одна
Alex
Сервак грит : ок вот вам след локация
Alex
Но тут да, возникает проблема
Alex
Сервер не знает чье время правильное
Alex
Что такое?)
Alex
Звучит дичавенько да
Таймураз
На деле еще хуже, определенно
Alex
Но работает, причем на прям уж костыль не похоже
Таймураз
Ну решения из говна и палок тоже работают (пойми меня правильно)
Таймураз
Блин, были крутые и почти доступные статьи о геймдеве
Alex
Ну эт ж не говно и палки
Таймураз
Ну как сказать...
Alex
Конкретно минусы серьезные в чем?)
Таймураз
Я уже раз 50 сказал о том, что симуляция игры должна на сервере проходить
Alex
Так она там и происходит