|
•Для огня не совсем понятно - Hruks, 18.04.2013 14:56:50 |
|
|
Отключение если не хватает ресурсов - с этим понятно. А вот с огнём не очень. Если пушки/юниты мои и на моём ходу им становится доступно несколько целей, то автоматизировать процесс открытия огня не стоит - я сам лучше вручную отстреляю всеми юнитами.
Такая система приоритетов нужна для ответного огня. Когда во время хода противника мои юниты атакуют противника в ответ на их перемещение. По сути задача сводится к определению юнита, который выстрелит по цели, если по этой цели могут одновременно выстрелить несколько юнитов. К примеру танк или БТР на всём скаку влетают в центр базы или толпу защитников. Тогда по этому танку могут выстрелить сразу несколько стволов и возникает задача определить кто и в какой последовательности должен стрелять. По предложенному алгоритму в приведённой ситуации приоритет цели один и тот же, значит отличаться будут только приоритеты пушек. Стало быть огонь откроет пушка с минимальным приоритетом. То есть танк разрядит на себя все доты и примет огнь более толстых стволов, если доживёт. Логично было бы открыть огонь тем юнитам, которые способны уничтожить юнит. Так нет смысла разряжать 5 дотов, кторые не уничтожат танк, но покусают его сильно, а затем ракетомёт снесёт этот танк с огромным запасом. В итоге всё равно все стволы будт разряжены.
Ну и несколько целей вообще не могут оказаться в одно время в радиусе действия стволов. Это может произойти только если очень шустро управлять своими юнитами - двигать следующий юнит быстрее, чем стреляют по первому. Такое в походовой игре должно быть исключено.
Ну и в большинстве случаев юнит будут подставлять под огонь очнь аккуратно - клетка за клеткой, разряжая выбранные стволы один за другим, результате чего предложенная система приоритетов никак не поможет защитнику, а нападающему она и вовсе не нужна. Речь шла скорее о фильтрах и принятии решения об открытия огня той или иной пушкой и только потом о приоритетах. Например если пушке или чему-то важному не угрожает попавший в рендж скаут, то не открывать этой пушкой по нему огонь вовсе. При таком подходе тоже есть возможность во первых всё же разрядить пушки, подъехав к ним достаточно близко, и во вторых подвинуть свои войска в зону огня противника в надежде на следующем ходу нанести уже сокрушительный удар, воспользоавшись тем, что на этом ходу заряженные пушки так и не открыли огонь. Ну или там транспортный самолёт сам по себе вообще никому не угрожает, тем не менее сейчас это приоритет номер один для открытия огня защитниками.
В общем для отключения заводов в случае нехватки ресурсов в таком виде можно реализовать. Всё равно останутся моменты, когда в хранилищах достаточно ресурсов для производства на заводе даже при неработающей шахте, но при нехватке энергии отключится завод, а не шахта. Шахту нужно отключать только если заводам не хватит ресурсов, а для этого нужно считать сколько ресурсов есть и сколько останется после отключения шахты. Причём не того ресурса, что не хватает, а как раз тех, которые добывает шахта и расходуют заводы. Среди заводов нужно учитывать какому таки хватит ресурсов, среди шахт, какая более важна (производит именно те ресурсы, которых не хватает). Короче даже частисно это реализовать будет сложно.
|
|
| |