Re: Куча юнитов через модем
От: AshenAngel  
Дата: 10.01.05 13:17
Оценка:
CDI>Вопрос в следующем: реально ли эту битву передать по модему со скорость 56кбс без лагов?

Думаю вполне реально, однако, попотеть придётся.

Для начала поделим все пакеты на update и control.

Посылать update-данные будем каждые 40млсек.
В них мы указываем какому юниту какой приказ дан.
Понадобиться максимум 1 байт и 3 float'а (координаты цели например).
Если приказ с предыдущего раза не изменился, ничего посылать не надо.
Получив такой пакет мы будем просто отдавать этот приказ своей копии
юнита (т.о. игра идёт в реальном времени на каждом клиенте).
Пиковая нагрузка (почти невозможна):
Исходящий поток: 50*sizeof(updatepack_t) = 50*(1+3*4) = 650 байт
Входящий поток: 18*50*sizeof(updatepack_t) = 11700 байт
Компрессия в модеме срежет эти цифры раза в 4 минимум.

Однако тут есть проблема, а именно рассинхронизация миров на разных
клиентах. Для её решения делаем ещё control-пакеты.
Эти пакеты будем отсылать каждую секунду, данные в пакете характеризуют
полное состояние юнита (координаты, скорость, текущие действия и приказы...)
Трафик можешь сам посчитать исходя из особенностей геймплея.

PS: некоторые замечания по геймплею. К сведению, число атакующих должно
быть в 5-7 раз больше числа осаждённых, иначе осада не имеет смысла.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.