Size: a a a

2021 January 13

АП

Артем Петров... in unity3d.ru
Всем привет. У меня вопрос по поводу клиент северного взаимодействия в играх. Как оно устроено

Например представим что то вроде покупки оружия в counter strike. На клиенте игрока происходит покупка оружия и он отправляет серверу данные о покупке. Сервер проверяет хватает ли денег игроку (а то вдруг он их считерил). Если покупка прошла успешно он отправляет всем остальным игрокам на сервере что игрок купил оружие.

Но в случае если сервер отклонил покупку оружия то у игрока происходит отмена действия?

Не будет же во время покупки  игрок ждать ответа от сервера. Одобрил ли он покупку.

Это так работает?
источник

AP

Alexander P in unity3d.ru
Артем Петров
Всем привет. У меня вопрос по поводу клиент северного взаимодействия в играх. Как оно устроено

Например представим что то вроде покупки оружия в counter strike. На клиенте игрока происходит покупка оружия и он отправляет серверу данные о покупке. Сервер проверяет хватает ли денег игроку (а то вдруг он их считерил). Если покупка прошла успешно он отправляет всем остальным игрокам на сервере что игрок купил оружие.

Но в случае если сервер отклонил покупку оружия то у игрока происходит отмена действия?

Не будет же во время покупки  игрок ждать ответа от сервера. Одобрил ли он покупку.

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

АП

Артем Петров... in unity3d.ru
Alexander P
Нет, сервер не должен принимать клиентские решения. Понятие "считерил" нельзя ставить главным в архитектуре, иначе это не игра будет, а сплошной валидатор данных.
Но в таком случае ещё вопрос :)
Хочу понять что сервер имеет право обрабатывать

Почему в играх во время пинга бывает такое когда бежишь. Тебя телепортает обратно

Тоесть получается игрок отправляет серверу свою позицию. Сервер отправляет её всем остальным клиентам.

И почему так оно происходит и как это работает
источник

АП

Артем Петров... in unity3d.ru
Alexander P
Нет, сервер не должен принимать клиентские решения. Понятие "считерил" нельзя ставить главным в архитектуре, иначе это не игра будет, а сплошной валидатор данных.
Получается в онлайн играх все же происходит какая то проверка твоей позиции. В случае чего тебя телепортирует. Откуда берутся телепортиртирования обратно?)
источник

A

Alexander in unity3d.ru
Артем Петров
Но в таком случае ещё вопрос :)
Хочу понять что сервер имеет право обрабатывать

Почему в играх во время пинга бывает такое когда бежишь. Тебя телепортает обратно

Тоесть получается игрок отправляет серверу свою позицию. Сервер отправляет её всем остальным клиентам.

И почему так оно происходит и как это работает
Про бег и отбрасывание назад, то это интерполяция
источник

A

Alexander in unity3d.ru
На Хабре есть цикл из трёх статей
источник

A

Alexander in unity3d.ru
источник

АП

Артем Петров... in unity3d.ru
Спасибо
источник

Ж

Женек in unity3d.ru
Error Code
Ты был прав!
MoveTowards помог, к тому же, добавилась идея передвижения)
Ну отл.. )
источник

P

Phantom in unity3d.ru
Lucifero un figlio
Можно ли на unity написать месенджер?
Да, но нет
источник

P

Phantom in unity3d.ru
Lucifero un figlio
Да мне интересно может кто то уже делал совет даст
Здесь только один совет, не делай такого
источник

KX

Katana X in unity3d.ru
Где найти туториал, чтобы сделать игру типа такой? Ну хотя бы чтобы принципы были похожие.
источник

KX

Katana X in unity3d.ru
На инглише тоже пойдет
источник

NB

Nikita Borisenko in unity3d.ru
Артем Петров
Всем привет. У меня вопрос по поводу клиент северного взаимодействия в играх. Как оно устроено

Например представим что то вроде покупки оружия в counter strike. На клиенте игрока происходит покупка оружия и он отправляет серверу данные о покупке. Сервер проверяет хватает ли денег игроку (а то вдруг он их считерил). Если покупка прошла успешно он отправляет всем остальным игрокам на сервере что игрок купил оружие.

Но в случае если сервер отклонил покупку оружия то у игрока происходит отмена действия?

Не будет же во время покупки  игрок ждать ответа от сервера. Одобрил ли он покупку.

Это так работает?
Во время покупки как раз игрок и ждёт ответ от сервера, одобрение или отклонение
источник

f

formurik in unity3d.ru
Alexander P
Нет, сервер не должен принимать клиентские решения. Понятие "считерил" нельзя ставить главным в архитектуре, иначе это не игра будет, а сплошной валидатор данных.
В идеале, авторитарник именно так и работает. Клиент это всего лишь терминал передающий инпуты и отрисовывающий текущий стейт, на основе полученных от сервера данных. Но для того, что-бы не зависить от лагов, все хитрожопят и используют различные приемы, типа предикшена и пр. Ну, а инапы, конечно же должен валидировать сервак, если уж он есть.
источник

IS

Ivan Shish in unity3d.ru
Katana X
Где найти туториал, чтобы сделать игру типа такой? Ну хотя бы чтобы принципы были похожие.
источник

VA

Vitaliy Anapov in unity3d.ru
можно ли в scriptableObject вставить ссылку на объект со сцены
источник

BK

Barlas Karabulut in unity3d.ru
Guys , who can help me for my unity project?
источник

Пу

Плодово ягодное вино... in unity3d.ru
Barlas Karabulut
Guys , who can help me for my unity project?
It depends
источник

Пу

Плодово ягодное вино... in unity3d.ru
Vitaliy Anapov
можно ли в scriptableObject вставить ссылку на объект со сцены
Попробуй в тестовом SO и посмотри что будет
источник