Донат На хостинг |
ISK за переводы до 75kk за 1000зн. |
Хроники EVE Сборник |
Новичкам Полезная информация |
Группировка дронов в пачку
#23
Отправлено 11 October 2009 - 0:48
Сервер посылает клиенту
координаты себя и 4-х нпц
А зачем сервер посылает свои координаты вроде и так известно где он
нужно дополнительно передавать координаты каждого дрона, вектор движения, состояние шилда, армора и структуры + раз в 2 секунды обсчитывать выстрелы дронов по цели - т.е. нужно считать угловую скорость каждого дрона относительно цели на каждый выстрел дрона.
Клиент ни каких данных серверу не передает кроме команд игрока(нажал кнопочку, выбрал пунктик в меню).
Ну и в ССР не дураки сидят чтобы решать эти задачи в "лоб" да еще каждые 2 секунды
И вообще дронов уже давно распределяют по группам и пользуют горячие клавиши
Сообщение отредактировал Delit: 11 October 2009 - 0:49
#24
Отправлено 11 October 2009 - 17:57
Клиент ни каких данных серверу не передает кроме команд игрока(нажал кнопочку, выбрал пунктик в меню).
Ну и в ССР не дураки сидят чтобы решать эти задачи в "лоб" да еще каждые 2 секунды
И вообще дронов уже давно распределяют по группам и пользуют горячие клавиши
Может я конечно так непонятно написал, но имелось ввиду что сервер посылает клиенту координаты и прочие параметры объектов, в том числе и значения прошедшего дамага - т.е. обсчет попаданий тоже происходит на сервере, клиент не знает своих координат - ему их тоже сообщает сервер.
Еще разик, если в цель стреляют 100 дронов то раз в 2 секунды нужно обсчитать 100 выстрелов в цель дронами, каждую секунду нужно посылать всем участникам битвы вектор движения каждого из 100 дронов.
Я предполагаю что сервер клиенту сообщает координаты всех кораблей в гриде, а для залоченых кораблей докучи параметры размеров, хитпоинтов, и проч. Тоже самое передается и о дронах. Т.е. Подварп на противника с пущенными дронами вынуждает сервер отсылать такой же объем инфы как и подварп на группу из 6-ти кораблей без дронов. Естественно это чисто предположение - код серверной части евы я не видел и врядли увижу.
#26
Отправлено 12 October 2009 - 10:19
Не умею я объяснять, но попробуюЕще разик, если в цель стреляют 100 дронов то раз в 2 секунды нужно обсчитать 100 выстрелов в цель дронами, каждую секунду нужно посылать всем участникам битвы вектор движения каждого из 100 дронов.
Если для примера 100 дронов стреляют в одну цель при этом орбитят вокруг этой цели то дистанция и угловая скорость постоянна, а значит достаточно один раз посчитать суммарный дамаг всех дронов. Потом раз в 2 секунды этот дамаг умножать на рандомный модификатор(дамаг от дронов не постоянный в отличии от ракет) и считать скока хитпоинтов снялось у цели. Клиенту при этом передается только количество хитпоинтов цели, а как там орбитят дроны по часовой стрелки или против совершенно не важно. Так может продолжаться пока цель не будет уничтожена или кто то из игроков не пошлет новую команду серверу тогда сервер пересчитает все заново.
Я не знаю так ли это или нет, но думаю что у сср что то похожее сделано.
PS Кстати при больших лагах дроны не застывают на месте а продолжают летать только мы не можем изменить их состояние это говорит в пользу того что координаты дронов не передаются.
#27
Отправлено 12 October 2009 - 10:28
Не умею я объяснять, но попробую
Если для примера 100 дронов стреляют в одну цель при этом орбитят вокруг этой цели то дистанция и угловая скорость постоянна, а значит достаточно один раз посчитать суммарный дамаг всех дронов. Потом раз в 2 секунды этот дамаг умножать на рандомный модификатор(дамаг от дронов не постоянный в отличии от ракет) и считать скока хитпоинтов снялось у цели. Клиенту при этом передается только количество хитпоинтов цели, а как там орбитят дроны по часовой стрелки или против совершенно не важно. Так может продолжаться пока цель не будет уничтожена или кто то из игроков не пошлет новую команду серверу тогда сервер пересчитает все заново.
Я не знаю так ли это или нет, но думаю что у сср что то похожее сделано.
Круто, только ваш пример со стоящей на месте целью и орбитящими её дронами слишком простой. Цель не стоит на месте и летит по какой-либо траекотории - например по орбите 50км вокруг чего-либо и дамаг там не постоянный и скорость угловая тоже разная для каждого дрона. А клиенту передаются точные координаты - иначе это очень бы забавно выглядело для любого, кто решил бы отстрелять дрона
PS Кстати при больших лагах дроны не застывают на месте а продолжают летать только мы не можем изменить их состояние это говорит в пользу того что координаты дронов не передаются.
При этом на сервере продолжает идти полный обсчет дронов, а клиент получает расхождение в картинке с сервером - думаю что в случае когда в текущую секунду сервер не успел передать точные координаты дронов клиент просто досчитывает их сам, а в тот момент когда таки информация с сервера придет - дроны рывком перескакивают черт знает куда.
#31
Отправлено 14 October 2009 - 15:11
#32
Отправлено 14 October 2009 - 15:52
#33
Отправлено 14 October 2009 - 15:54
Ем... А что вы курили?) Я тоже такое хочу =)))ИМХО можно сделать чтоб дроны летали строем...... 1 дронкомандер и 4 дрона ведомых соответственно серв посылает только координаты главного дрона а местонахождение остальных клиент дописывает сам
0 посетителей читают тему
0 members, 0 guests, 0 anonymous users