BrandFox / beavers-encounter

Automatically exported from code.google.com/p/beavers-encounter
0 stars 0 forks source link

Опция "анти-слив" для конкретных команд #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Предисловие: 
некоторые команды заподозрены в сливе 
заданий друг другу. Соответственно 
есть желание пустить эти команды по разным 
маршрутам, так, чтоб по 
возможности эти команды не выполняли 
задания, которые уже выполнены другой 
командой, для предотвращения слива задания.

Суть:
Есть команда А, которая получает "сливы" 
заданий от команды В.
Авторам игры нужна возможность для команды 
А установить признак "анти-слив" 
заданий от команды В.
Движок должен, при выборе нового задания 
для команды А, учитывать задания 
уже выполненные командой В и по 
возможности не выдавать такие задания 
команде А.
Предлагаю полностью не блокировать 
задания для команды А, выполненные 
командой B, а просто понижать приоритет 
таких заданий на 700 пунктов.

То же самое можно сделать и для команды В, 
для предотвращения взаимных 
"сливов".

Под конец игры, если заданий в игре мало, то 
неизбежно придется команде А 
выдавать задания выполненные командой В.

Original issue reported on code.google.com by RolleR.m...@gmail.com on 8 Oct 2009 at 10:05

GoogleCodeExporter commented 9 years ago
>...а просто понижать приоритет таких 
заданий на 700 пунктов.
А смысл, для чего это? Подстраховка, что бы 
предотвратить что-то, что пока не 
возможно спрогнозировать?

Original comment by demon...@googlemail.com on 8 Oct 2009 at 11:27

GoogleCodeExporter commented 9 years ago
Да, это подстраховка, если это можно так 
назвать.

Просто алгоритм выдачи нового задания для 
команды основан на так называемых 
приоритетах.
Изначально всем доступным для команды 
заданиям назначается приоритет 1000,
а далее в зависимости от различных правил 
применяемых к заданию приоритет либо 
понижается, либо повышается.
Например, если задание в данный момент 
выполняют N команд, то приоритет этого 
задания 
понижается на N*50.

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

Original comment by RolleR.m...@gmail.com on 8 Oct 2009 at 12:45

GoogleCodeExporter commented 9 years ago

Original comment by RolleR.m...@gmail.com on 9 Oct 2009 at 6:53

GoogleCodeExporter commented 9 years ago
Реализовано

Original comment by RolleR.m...@gmail.com on 9 Oct 2009 at 7:36

GoogleCodeExporter commented 9 years ago
Как предварительный способ - нормально.

Дальнейшее развитие - после реализации 
возможности принудительного назначения 
команде
связанной серии заданий.

Original comment by vozdvin@gmail.com on 9 Oct 2009 at 11:28