Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

On-grid-бонусы: теорикрафтинг


  • Авторизуйтесь для ответа в теме
199 ответов в теме

#141
Ripple

Ripple

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1280 сообщений
165
  • EVE Ingame:Ripple S
  • Client:Eng

А ТД придумали от нефиг делать, ага.


В блоге про расчет бонусов не было ничего. Они же не рассчитываются каждый серверный тик.


В клиенте можно посмотреть количество пришедших на него event-ов. Андок с житы жжет.

Если они используют хоть какую-то реализацию event bus - флот в 250 корабликов умирает от смеха на расход ресурсов сервера для просчета бонусов. Любым способом. С любыми разумными костылями.

ТД - бой в 3к+ пилотов в LXQ я снимал в 3 акка, проблемы были не с расчетом, а с очередью их передачи на клиенты (хотя это тоже тормоза сервера, но далеко расчет расстояний между шипами).
  • 0
If you are going through hell, keep going.

#142
Eretic

Eretic

    Легат Возврата

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5197 сообщений
446
  • EVE Ingame:KB Eretic
  • Client:Eng
Можно по-русски, что ты сказать хотел.
  • 0
Ересь - иной взгляд на привычные вещи

Не зная ни сна, ни отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, что бы снова пустить их на ветер

Сражение, это странный опыт. Мы планируем действия за счет интеллекта, сражаемся за счет инстинктов, и только потом понимаем, что выжили лишь благодаря случаю.(с)Из письма Фиска Блэка своей сестре Люси.

#143
Milites

Milites

    The Great and Apologetic

  • Tech III Pilots
  • PipPipPipPipPip
  • 2414 сообщений
1231
  • EVE Ingame:Astirit
  • Client:Eng

Можешь. Поехали.

Т.е. идея шаро-бонусов (комманд аля ХД) таки имеет возможность реализации в современных реалиях без сильной нагрузки на расчетные мощности сервера или не имеет?
  • 0

EFT-warrior 80 level

trixie_sig_by_vinnieofsiftheads21-d5ej0q


#144
Ripple

Ripple

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1280 сообщений
165
  • EVE Ingame:Ripple S
  • Client:Eng

Можно по-русски, что ты сказать хотел.


Сложно по русски, кто занимается - поймет.
  • 0
If you are going through hell, keep going.

#145
Eretic

Eretic

    Легат Возврата

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5197 сообщений
446
  • EVE Ingame:KB Eretic
  • Client:Eng

Т.е. идея шаро-бонусов (комманд аля ХД) таки имеет возможность реализации в современных реалиях без сильной нагрузки на расчетные мощности сервера или не имеет?

Как ты будешь проверять, что ты в шаре? Точнее как ты поймешь, что надо проверять. Для бублей все просто. Одна проверка со стороны бубля, чтобы отсечь уже разгоняющиеся после команды отварпа шипы и далее проверка при попытке каждого конкретного шипа отварпать. Ну это самый простой из вариантов, что приходит в голову, возможно есть и проще. А для бонусов? Я кроме цикла на сервере или цикла/нажатия кнопочки руками в клиенте с последующей отправкой запроса на сервер не вижу способа, который бы гарантировал актуальность бонусов.

Сложно по русски, кто занимается - поймет.

"В клиенте можно посмотреть количество пришедших на него event-ов. Андок с житы жжет."

Ну если это текст для понимающих, то мой ответ "пыщь-пыщь, ололо посы жгут". Кто занимается - поймет. :troll:

Ибо я даже не понял, что ты оспариваешь.
  • 0
Ересь - иной взгляд на привычные вещи

Не зная ни сна, ни отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, что бы снова пустить их на ветер

Сражение, это странный опыт. Мы планируем действия за счет интеллекта, сражаемся за счет инстинктов, и только потом понимаем, что выжили лишь благодаря случаю.(с)Из письма Фиска Блэка своей сестре Люси.

#146
Ripple

Ripple

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1280 сообщений
165
  • EVE Ingame:Ripple S
  • Client:Eng

Ну если это текст для понимающих, то мой ответ "пыщь-пыщь, ололо посы жгут". Кто занимается - поймет. :troll:

Ибо я даже не понял, что ты оспариваешь.


ок

Я ничего не оспариваю, каждый тик приходит гораздо больше событий на клиент, чем максимальное количество кораблей во флоте. Поэтому даже при добавлении расчета расстояния от 3-х бонусников, даже если считать это каждый тик нагрузка не будет запредельной.

Я думаю проблема филд-бонусов связана не с сложностью/нагрузкой, а скорее с методикой раздачи бонусов и способность игроков ломать основы - грид усложняет задачу КАК это делать.

Сорри за капс.

Сообщение отредактировал Ripple: 08 November 2012 - 15:24

  • 0
If you are going through hell, keep going.

#147
Eretic

Eretic

    Легат Возврата

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5197 сообщений
446
  • EVE Ingame:KB Eretic
  • Client:Eng
Тогда почему до сих пор существуют легкие подтормаживания и смена сессии даже просто при перемещении из сквада в сквад? Значит что-то не так просто. В любом случае, лишней нагрузки лучше избегать. А проверка передачи бонусов каждый тик это достаточно лишняя нагрузка.
  • 0
Ересь - иной взгляд на привычные вещи

Не зная ни сна, ни отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, что бы снова пустить их на ветер

Сражение, это странный опыт. Мы планируем действия за счет интеллекта, сражаемся за счет инстинктов, и только потом понимаем, что выжили лишь благодаря случаю.(с)Из письма Фиска Блэка своей сестре Люси.

#148
CHoh

CHoh

    EVE Offline

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 14042 сообщений
2310

Как ты будешь проверять, что ты в шаре? Точнее как ты поймешь, что надо проверять.

Ну либо прикручивать к любому действию игрока/нпц (активация модулей, изменение вектора движения, получение дамага и т.п.)
Либо привязывать к расчёту координат, которые сервер и так постоянно считает для всех шипов. По паре координат расстояние между шипами вычисляется простенько.

Либо переносить расчёт "в гриде/нет" на сервер, а раздачу бонусов привязывать как и сейчас тупо к активации линков.
Только к проверкам в_системе/во_флите/в_космосе добавится в_гриде.
  • 0

#149
Ripple

Ripple

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1280 сообщений
165
  • EVE Ingame:Ripple S
  • Client:Eng

Тогда почему до сих пор существуют легкие подтормаживания и смена сессии даже просто при перемещении из сквада в сквад? Значит что-то не так просто. В любом случае, лишней нагрузки лучше избегать. А проверка передачи бонусов каждый тик это достаточно лишняя нагрузка.


Переход внутри флота - смена сессии, CCP писали что это дорого. Отсюда невозможность прохода в гейт при смене позиции во флоте.

Для бонусов не обязательно передавать на клиент включение/выключение линков или варп бонусника, достаточно передать наличие/отсутствие бонусов максимум 249 пилотам.

Либо переносить расчёт "в гриде/нет" на сервер


это так и считается на сервере, расчеты на клиентах ломаются на ура
  • 0
If you are going through hell, keep going.

#150
Milites

Milites

    The Great and Apologetic

  • Tech III Pilots
  • PipPipPipPipPip
  • 2414 сообщений
1231
  • EVE Ingame:Astirit
  • Client:Eng

Я кроме цикла на сервере или цикла/нажатия кнопочки руками в клиенте с последующей отправкой запроса на сервер не вижу способа, который бы гарантировал актуальность бонусов.

Вот и я его представляю себе именно так.
Определение дистанции ко всем нижестоящим шипам каждые 10 секунд цикла. В n-радиусе просчитать бонусы. Малый радиус действия линков (возможка градация радиуса действия по мета-уровню и/или бонус корабля - титан дует бонус-сферу больше) ограничил бы количество расчетов самих бонусов.
Ведь малый радиус подразумевает трудность плотного позиционирования из-за размеров больших суден (бамп 250-ти бш), угрозы больших потерь от бобров (радиус взрыва бомбы накроет приличную часть радиуса бонус-сферы) и вызовет необходимость проводить игроками свои расчеты позиционирования флота и даже его разделения для более эффективной раздачи бонусов или рисковать оставить приличную часть кораблей без оных.
Скрытый нерф блобов :troll:
Да и играть бонусниками начали бы живые игроки, а не альты во втором окне.

Проблема, как убеждают другие (лень рыться по теме на работе) в возрастании нагрузки на сервер. Вот мне и нтересно - какой она будет и будет ли заметна вообще.
  • 0

EFT-warrior 80 level

trixie_sig_by_vinnieofsiftheads21-d5ej0q


#151
Eretic

Eretic

    Легат Возврата

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5197 сообщений
446
  • EVE Ingame:KB Eretic
  • Client:Eng

Вот и я его представляю себе именно так.
Определение дистанции ко всем нижестоящим шипам каждые 10 секунд цикла. В n-радиусе просчитать бонусы.
Проблема, как убеждают другие (лень рыться по теме на работе) в возрастании нагрузки на сервер. Вот мне и нтересно - какой она будет и будет ли заметна вообще.

При 10 секундах проблема в актуальности бонусов. Лаг в 10 секунд это финиш, реально.
  • 0
Ересь - иной взгляд на привычные вещи

Не зная ни сна, ни отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, что бы снова пустить их на ветер

Сражение, это странный опыт. Мы планируем действия за счет интеллекта, сражаемся за счет инстинктов, и только потом понимаем, что выжили лишь благодаря случаю.(с)Из письма Фиска Блэка своей сестре Люси.

#152
Ripple

Ripple

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1280 сообщений
165
  • EVE Ingame:Ripple S
  • Client:Eng
Пример на кошках - Вася на интере стоит на вингкоме, флитком на локи раздает бонусы, васю чпокают альфой + яйко - результат для винга при текущей механике?

Хотя не совсем корректно, смерть шипа и яйца - смена сессии.

Сообщение отредактировал Ripple: 08 November 2012 - 15:59

  • 0
If you are going through hell, keep going.

#153
LapaM

LapaM

    #define TRUE FALSE

  • Tech III Pilots
  • PipPipPipPip
  • 1136 сообщений
69
  • EVE Ingame:LapaM
  • Corp:-
  • Ally:-
  • Channel:efs
  • Client:Eng

Пример на кошках - Вася на интере стоит на вингкоме, флитком на локи раздает бонусы, васю чпокают альфой + яйко - результат для винга при текущей механике?


У Васи произошла смена сессии и его винг лишился бонусов
  • 1
переубеждать тролля в том, что жираф на самом деле существует, если он не верит фоткам и видео - неразумно, потому что единственным нормальным методом будет анальное изнасилование жирафом этого тролля. С другой стороны, совершенно очевидно, что временные- и трудозатраты на то, чтобы возбудить жирафа, чрезмерны для цели переубеждения упертого дебила. Хотя жирафу будет приятно. возможно. (с) Clancy

#154
Ripple

Ripple

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1280 сообщений
165
  • EVE Ingame:Ripple S
  • Client:Eng

У Васи произошла смена сессии и его винг лишился бонусов


Но задержки и лага нет, нагрузка не запредельная.

ps успел быстрее чем я подредактировал пост= )

Сообщение отредактировал Ripple: 08 November 2012 - 16:03

  • 0
If you are going through hell, keep going.

#155
Podli

Podli

    Clone Grade Ksi

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 12440 сообщений
7292
  • EVE Ingame:Podli
  • Ally:Solo
  • Client:Eng
Блин, а почему бы не сделать просто бонусы на грид?
Считать растояния не надо. Информация о том, что бонусник в гриде уже передается на клиент в виде брекета этого самого бонусника, значит на сервере какбе присутствует.
  • 1

#156
BerDen

BerDen

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1100 сообщений
149
  • EVE Ingame:BerDen
  • EVE Alt:Denizza
  • Corp:SDN
  • Ally:Voodoo Technologies
  • Client:Eng
А разве сейчас, если убить сквад-кома (сквад-ком на яйце, в той-же системе и даже в том-же гриде) – то весь сквад вроде перестает получать бонусы?

Кроме того – очевидно есть проверка на активность линков (от того включены ли модули на линки зависит сила бонусов)

Информация о том, находится ли сквад-ком в гриде есть в клиенте (просто добавьте его в воч-лист например)

Короче, технические трудности с реализацией может и есть, но не думаю что это писец как невозможно (обсчет торп запускаемых файтер-бомберами например как мне видится на порядок более сложная задача)
  • 0
Изображение
ингейм рекрут канал: SDN

#157
Eretic

Eretic

    Легат Возврата

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5197 сообщений
446
  • EVE Ingame:KB Eretic
  • Client:Eng

Блин, а почему бы не сделать просто бонусы на грид?
Считать растояния не надо. Информация о том, что бонусник в гриде уже передается на клиент в виде брекета этого самого бонусника, значит на сервере какбе присутствует.

уже раз 5 повторили почему. Ищи.

А разве сейчас, если убить сквад-кома (сквад-ком на яйце, в той-же системе и даже в том-же гриде) – то весь сквад вроде перестает получать бонусы?

Нет, не перестает. Перестают только бонусы от линков идти, если грохнуть команд с линками.
  • 0
Ересь - иной взгляд на привычные вещи

Не зная ни сна, ни отдыха, при лунном и солнечном свете мы делаем деньги из воздуха, что бы снова пустить их на ветер

Сражение, это странный опыт. Мы планируем действия за счет интеллекта, сражаемся за счет инстинктов, и только потом понимаем, что выжили лишь благодаря случаю.(с)Из письма Фиска Блэка своей сестре Люси.

#158
Brilliant

Brilliant

    Clone Grade Delta

  • Tech III Pilots
  • PipPip
  • 223 сообщений
27
  • EVE Ingame:Inion Avalhar
  • Client:Eng

Кроме того – очевидно есть проверка на активность линков (от того включены ли модули на линки зависит сила бонусов)

зачем делать проверку на включены ли модули если можно просто ожидать пакет о том что они выключены после включения, пакет на то что они выключены расчетов не требует и генерируется сам вместе с нажатием клавиши "выключить" пилотом, смертью команда, варпом команда... очень верю что именно так и сделано, еще не забылся лаг когда пушки "залипали" в больших зарубах...

кстати нажатие кнопки пилотом и раздача бонусов всем не важно на какое растояние(грид, рендж...) на 5 секунд даже разгрузили бы сервер если сравнивать с постоянной работой модуля с учетом расстояния, т к нет "выключения" модуля, бонус просто рассчитывается на 5 секунд и сам пропадает либо заменяется заново новым нажатием, такие вещи обычно очень легко и продуктивно оптимизируются и затачиваются до очень низких вычислительных действий.

Сообщение отредактировал Brilliant: 08 November 2012 - 17:38

  • 0

#159
Gueld

Gueld

    Clone Grade Beta

  • Tech III Pilots
  • Pip
  • 86 сообщений
-38
  • EVE Ingame:Gueld
  • Corp:Gueld F&E GmbH
  • Client:Eng
Если мне не изменяет память, когда-то девелоперы рассказывали, что перерасчет происходит по тику или такту, который происходит раз в секунду или типа того. Лучше всего наблюдается по пропрыгам флотов в гейт, когда игроки нажимают пропрыг в какое-то свое уникальное время, а корабли прыгают порциями каждую секунду. И соответственно, все вычисления должны в эту секунду уместиться. Временные рамки для допустимого времени расчета установлены. Как мне кажется, грид был придуман для того, чтобы ограничить количество задействованных объектов. Даже когда в системе тысячи человек, если где-то на отшибе тусуется небольшая группа со схожими интересами, то обсчитываются взаимодействия только между ними, что значительно снижает количество обрабатываемой информации. Поэтому вопрос номер один - как ограничить количество объектов до интересующих нас в данном контексте. Если ответ дается без костылей в виде грида - от грида можно отказаться и ввести влияние бонусов от расстояния. Подобная идея мне лично нравится и кажется логичной. Теперь далее, номер 2 - сервер все равно знает координаты всех кораблей, почему бы ему не бросать события типа "вошел в зону действия" и "вышел из зоны действия". Если активируется модуль, на который накладываются бонусы (как одно из событий, запускающих процесс перерасчета характеристик), высчитывается значение, которое кэшируется и не требует вычислений до изменения одного из параметров. Причем если после изменения набора параметров выясняется, что значение для него уже вычислялось, то тупо брать его из кэша, где оно уже сохранено. Как конкретно считать бонусы - отдельный вопрос, который обсуждается отдельно. Напрашиваются, на первый взгляд, декораторы, но это очень сильно зависит от того, как это сейчас реализовано и на что еще повлияет. Насколько это массивные вычисления - вопрос, на который с разбегу не ответишь. Нужно написать модель и потестить, выявить потолок игроков, при котором данный подход загнется. Может так статься, что этот потолок выше существующих ныне ограничений и вполне приемлем.
  • 0

#160
Gadsky

Gadsky

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1904 сообщений
415
  • EVE Ingame:Gadsky
  • EVE Alt:Gadsky II
  • Corp:Afrorussians
  • Client:Eng
Мне вот в контексте беседы интересно, как ССП решает проблему с бампами кораблей. Т.к. при наивном подходе там вообще квадратичный алгоритм получается, а это ж совсем печально.
  • 0




1 посетителей читают тему

0 members, 1 guests, 0 anonymous users