|
|
|||||
Регистрация: Mar 2007
Сообщений: 319
|
Домотать логику обычно не составляет проблем, к примеру тик симуляции считается в худшем случае 2 мс то симуляция 5 минутного геймплея будет не больше 18 сек, после пяти минут сервер спрашивает у всех клиентов состояние мира, если оно у всех одинаковое продолжает игру и сохраняет его для следующих новых игроков
__________________
RocketJump |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Nooob,объясни с чем может быть связано такое острое нежелание хранить полный стейт на сервере?Уж если клиент может считать симуляцию, то сервер сможет и подавно.
Ты описываешь какие-то дикие велосипеды с сомнительной надежностью(например что делать если выяснится таки что не все единогласно сходятся по поводу стейта игрового мира.Как решить кто прав?) |
|
|||||
Цитата:
Такая модель может дать эти преимущества: 1. Обмен данными очень минимальный, сводится только к передаче вносимых изменении. Все события, состояния и даже рандомы - клиенты получают у себя самостоятельно и у всех они одинаковые, нет нужды пересылать это. (1+1 всегда равно 2) 2. В случае потери сервера, любой клиент мгновенно может взять на себя его роль. Игрок, создавший игру, в случае лива не угробит игру всех остальных. Потому что нет центрального места где ведутся расчёты, все клиенты знают, как изменяется мир. Я знаю, что такой метод используется в стратегиях реального времени. Представь себе карту, на которой 1к юнитов и 12 игроков. Каждый игровой шаг (~10 раз в секунду) тебе надо будет отослать 12 игрокам положение, направление, скорость движения (состояние) всех 10к юнитов. Какое количество трафика это будет? Вместо этого, ты можешь отослать этим 12 игрокам "приказ движения" 10к юнитам в указанную точку. А дальше они сами посчитают, где и как будет находиться каждый конкретный юнит.
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
Цитата:
|
|
|||||
Цитата:
Цитата:
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
Цитата:
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
предложи свой вариант,гарантирующий 100% синхронизацию без сервера.
Добавлено через 3 минуты и не забываем что группа юзеров вполне может на время перестроения сети отвалиться и потом назад приконнектиться. |
|
|||||
Синхронизировать 2 разобщённые игры, развивавшиеся отдельно - невозможно, это будут 2 разные игры. Вообще, всё зависит от нужд самого приложения, в конечном итоге у нас есть такие варианты:
1. Продолжить свою игру с оставшимися игроками/одному. (В дальнейшем к нам смогут подключиться и продолжить нашу игру другие игроки) 2. Принудительно завершить игру. (В дальнейшем мы сможем снова подключиться к игре, когда у нас появиться связь) 3. Остановить игру и ждать, пока связь со всеми игроками не восстановится. Обычно используются все 3 варианта. Сперва игра ставится на паузу, затем, если связь не восстановлена, следует пункт 1 или 2, в зависимости от каких-то обстоятельств. Можно дать игроку выбрать.
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
возаращаясь к первоначальному посылу, какие это дает преимущества по сравнению с сервером?
|
Часовой пояс GMT +4, время: 18:27. |
|
« Предыдущая тема | Следующая тема » |
|
|