Войти
ПрограммированиеФорумСеть

Одноранговые (p2p) сети в играх (2 стр)

Страницы: 1 2
#15
12:44, 7 фев. 2019

Bishop
> А для всяких браузерных пошаговых стратежек... оно не надо просто.
Ещё как надо! Когда развиваешься в игре, а она бац и закрывается со всеми достижениями. Пиринговая же игра не закроется, пока в неё играет хоть один человек.


#16
16:40, 10 фев. 2019

tmtlib
> При большом количестве игроков может получиться. Видимо сначала нужно довести
> популярность игры до какого-то уровня с использованием серверов. А потом уже
> p2p подключать. И не только p2p, но и mesh. Подбирать несколько самых быстрых
> цепочек, штук пять на игрока, и по ним гонять данные. Может даже и больше, или
> прозапас держать обновляемый список. Т.е. игроку приходит пять копий данных,
> используется первый пришедший пакет. Из-за многократного дублирования расчетов
> и передачи данных у людей с быстрым интернетом и процессором будет забиваться
> канал и сильно греться процессор. Это может стать проблемой, как сделать так,
> чтобы не было недовольства и потенциального ухода из сети.
Из этого может получится только багнутое барахло,нормальная реализация которого обойдется в 1000 раз дороже,чем аренда серверов во всех регионах. Даже в 2 потока синхронизировать мороки много,когда один стек данных не совпадает. А если у вас стеков больше? Ну вот пришло на сервер или на клиенты 100 стеков,а данные в них на одни и те же отличаются в 10 стеках. И все,досвидос клиент,достиводос синхрон. Без выделенного сервера вы никак не узнаете,какие данные верные,а какие нет. И даже если брать от балды,обработчик на это сделать и то,сколько он в итоге жрать будет - это полная жопа. И не стоит оно того. В итоге этим можно только линию засрать больше,чем от этого толку. В обычной реализации клиент - сервер у вас связь идет между клиентом и сервером - клиент с клиентами при этом никак не контактирует. В реализации же через п2п у вас каждый клиент контактирует с каждым клиентом. Если у вас,скажем 8 пользователей и данных относительно немного,тогда да,проблемы особой нет,вы можете делать полный кеш состояния и сравнивать по нему,попутно по возможности заменяя все данные у стороны,у которой случились несовпадения с базовым кешем. Тем не менее даже при этом могут быть проблемы,например,когда у 4 несовпадение. При этом часто бывают ситуации,когда восстановить состояние невозможно,что приводит к отвалу клиента. А теперь представьте ситуацию,когда у вас клиентов,скажем 3к. Мало того,что такое кол-во потоков и данных забьет солвер и обработчик за секунду,вы при этом получите еще 33 вагона проблем даже на базовом уровне.Если копать глубже - то проблем будет еще больше. При этом стабильности у такой системы будет,как у плинтуса. В общем сплошные минусы. Реально только в пошаговом это можно хоть как-то с горем пополам использовать,но при этом вопрос - а нафига оно вообще? п2п использовался и используется - но смысла в нем мало,да и нормально использовать его можно только в небольших системах. В больших системах от него проблем куда больше,чем пользы. Да и один хрен сервер держать придется,потому что должна быть система,которая правильное состояние хранит и с ним сравнивать. В итоге это только больше сеть нагружать будет,дополнительный код и гемор с синхронизацией дает,и никаких плюсов. Тогда какой в этом смысл?

#17
16:45, 10 фев. 2019

Фред Канниг
> Ещё как надо! Когда развиваешься в игре, а она бац и закрывается со всеми
> достижениями. Пиринговая же игра не закроется, пока в неё играет хоть один
> человек.
Сохранение реализовать каждые 10-15 минут не проблема. Да и можно службой перезапуск сервера сделать,это не проблема. А вообще то,что ты говоришь - это полный бред. Пиринговая то не закроется,вот только толку от этого? Ну упала на серваке база,и куда твоя пиринговая хрень будет данные сохранять? Или ты до базы будешь всех юзеров допускать? Тогда у меня для тебя плохие новости. В любом случае смотреть на это надо комплексно,а не на отдельные части. С учетом кол-ва идиотов в такой игре не будет никого,кроме читеров,да и базу у тебя у будут ломать минимум пару раз в неделю. Или еще что похуже. Тупиковый путь,надо сказать.

#18
17:15, 10 фев. 2019

vugluskr86
> В идеальном случае они все являются серверами просто доверяют кому-то одному.

Ага, доверяют
Изображение

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

#19
9:44, 11 фев. 2019

Bioman
> Ну упала на серваке база,и куда твоя пиринговая хрень будет данные сохранять?
> Или ты до базы будешь всех юзеров допускать?
Смысл как раз в отсутствии центрального сервера.
Bioman
> С учетом кол-ва идиотов в такой игре не будет никого,кроме читеров,да и базу у
> тебя у будут ломать минимум пару раз в неделю.
Блокчейн тоже хранится на компьютерах пользователей, вроде никто не взламывает.

Страницы: 1 2
ПрограммированиеФорумСеть