DeletedUser13435
Guest
Добрый день. Неоднократно сталкивался с серьезной на мой взгляд проблемой в игровой механике связанной с поведением искусственного интеллекта обороняющейся армии. Проблема заключается в поведении оборонительной армии когда на нее нападает игрок с армией из 7 разбойников и одного любого юнита(в большинстве случаев быстроходного и часто с умением Контакт - юнит отвечает ответным огнем). Такая армия становится практически непобедимой и не несет потерь. Обороняющаяся армия имеет шанс победить только если на нее напала армия из низшей эпохи и с гораздо меньшими бонусами атаки/защиты. Опишу более подробно:
Имеем следующую ситуацию:
Атакующая армия состоит из 7 разбойников и любого юнита.
Обороняющаяся армия состоит из любых юнитов.
Поведение обороняющейся армии противоречит здравому смыслу - юниты начинают первым делом атаковать разбойников. Порядок атаки абсолютно не зависит от того какие юниты в обороняющейся армии (эффективны против тяжелых юнитов либо против пеходы либо против быстрых и т. д., разницы нет), они в любом случае атакуют первыми разбойников. Причем после того как атакован первый разбойник - он превращается в другого юнита и следующий юнит оборонительной армии атакует следующего разбойника и так далее пока все разбойники не превратятся. Таким образом атакующая армия заведомо получает преимущество перед оборонительной. Семь юнитов оборонительной армии теряют возможность первого хода. Вдобавок к этому если атакующая армия имеет юнитов с умением контр-атаки (называется Контакт) то при атаке разбойников, разбойники превращаются в данных юнитов и сразу осуществляют контратаку. Таким образом атакующая армия получает второе сильное преимущество.
На практике такое поведение искусственного интеллекта обороняющейся армии ведет к ее уничтожению в 99% случаев без единой потери среди атакующей армии.
Предлагаю реализовать поведение обороняющейся армии более схожее с настоящим игроком:
В случае если нападает армия в которой 6-7 разбойников и 1-2 других юнита (назовем оставшихся юнитов А и Б) то юниты оборонительной армии первым делом стараются уничтожить юнитов А и Б. Таким образом если все юниты кроме разбойников будут уничтожены первыми то разбойники будут умирать при первой же атаке. Такое поведение больше похоже на поведение адекватного игрока и, на мой взгляд, без проблем может быть реализовано программистами.
Имеем следующую ситуацию:
Атакующая армия состоит из 7 разбойников и любого юнита.
Обороняющаяся армия состоит из любых юнитов.
Поведение обороняющейся армии противоречит здравому смыслу - юниты начинают первым делом атаковать разбойников. Порядок атаки абсолютно не зависит от того какие юниты в обороняющейся армии (эффективны против тяжелых юнитов либо против пеходы либо против быстрых и т. д., разницы нет), они в любом случае атакуют первыми разбойников. Причем после того как атакован первый разбойник - он превращается в другого юнита и следующий юнит оборонительной армии атакует следующего разбойника и так далее пока все разбойники не превратятся. Таким образом атакующая армия заведомо получает преимущество перед оборонительной. Семь юнитов оборонительной армии теряют возможность первого хода. Вдобавок к этому если атакующая армия имеет юнитов с умением контр-атаки (называется Контакт) то при атаке разбойников, разбойники превращаются в данных юнитов и сразу осуществляют контратаку. Таким образом атакующая армия получает второе сильное преимущество.
На практике такое поведение искусственного интеллекта обороняющейся армии ведет к ее уничтожению в 99% случаев без единой потери среди атакующей армии.
Предлагаю реализовать поведение обороняющейся армии более схожее с настоящим игроком:
В случае если нападает армия в которой 6-7 разбойников и 1-2 других юнита (назовем оставшихся юнитов А и Б) то юниты оборонительной армии первым делом стараются уничтожить юнитов А и Б. Таким образом если все юниты кроме разбойников будут уничтожены первыми то разбойники будут умирать при первой же атаке. Такое поведение больше похоже на поведение адекватного игрока и, на мой взгляд, без проблем может быть реализовано программистами.
Последнее редактирование модератором: