нужен алгоритм исскусственного интеллекта
Модератор: Spectre
нужен алгоритм исскусственного интеллекта
Нужен алгоритм исскусственного интеллекта для компа в коллекционной карточной игре типа MTG. Общие подходы. Есть у кого-нибудь соображения?
Улыбок вам ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Даю уточнение. Есть колода, состоящая из пяти мастей, по стихиям - огонь, вода, воздух, земля и некромантия. В каждой масти по 12 карт, каждая карта имеет уровень, который определяет затраты манны на вызов этой карты. Каждая карта имеет свои уникальные особенности.
Карты делятся на боевые еденицы(юниты) и заклинания(удары, оздоровление, гипноз и т.д.) При вызове боевой еденицы у игрока отнимается соответствующее количество манны соответствующей стихии и юнит занимает один из пяти слотов в шеренге. У юнита два численных показателя - хит-поинты (сколько жить осталось) и атака (наносимый противнику урон).
Манка каждого цвета прирастает каждый ход +1. За один ход игрок может разыграть в игру только одну карту, затем карты в шеренге наносят противнику удар, затем ход передается оппоненту. Одну и ту же карту игрок может выставлять до бесконечности, лишь бы манки хватало и были свободные слоты в шеренге (если это юнит).
В руке игрока может быть не более 20 карт. В руке игрока в каждой масти должно быть не менее 3 и не более 6 карт одной масти (стихии).
Надо алгоритм для компа что бы он мог строить свою тактику на пару ходов вперед, какую манну накапливать, а какой атаковать сразу.
Как вообще в карточных играх искуственный интеллект програмируется?
Карты делятся на боевые еденицы(юниты) и заклинания(удары, оздоровление, гипноз и т.д.) При вызове боевой еденицы у игрока отнимается соответствующее количество манны соответствующей стихии и юнит занимает один из пяти слотов в шеренге. У юнита два численных показателя - хит-поинты (сколько жить осталось) и атака (наносимый противнику урон).
Манка каждого цвета прирастает каждый ход +1. За один ход игрок может разыграть в игру только одну карту, затем карты в шеренге наносят противнику удар, затем ход передается оппоненту. Одну и ту же карту игрок может выставлять до бесконечности, лишь бы манки хватало и были свободные слоты в шеренге (если это юнит).
В руке игрока может быть не более 20 карт. В руке игрока в каждой масти должно быть не менее 3 и не более 6 карт одной масти (стихии).
Надо алгоритм для компа что бы он мог строить свою тактику на пару ходов вперед, какую манну накапливать, а какой атаковать сразу.
Как вообще в карточных играх искуственный интеллект програмируется?
Улыбок вам ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Пока что я додумался до такого - на каждую карту вычисляется ее рейтинг, можно к примеру оттолкнуться от формулы R=Atak+Helth/2-Mana это для общего случая, но каждая карта имеет какой-нибудь бонус, например бьет по всем, это тоже можно как-нибудь численно выразить и экспериментально подобрать. Далее из пяти стихий (при случайном раскладе) в некоторых будут юниты помощнее, а в некоторых - послабее, надо сразу выделить одну или две стихии в которым манна будет накапливаться, а до тех пор изматывать противника в других стихиях. Есть еще юниты увеличивающие прирост манны - их надо по возможности сразу выставлять, но тоже с умом, например не ставить напротив сильного юнита противника. И как оценивать заклинания? Тоже выбор - будь здоров - 19 карт из 60, почти треть. Если Армагеддон можно по количеству урона сравнить с камнепадом, и по затратам манны, то сравнить их с лечением или проклятием - не представляю как,
Точнее сам то я играю этими картами, но почему я ими играю - как я решаю когда их разыгрывать - загадка природы.
Но это все, если так можно выразиться, тактические заморочки, а самое главное - стратегия игры, например играть в защиту и воевать только молниями/армагеддонами/камнепадом ит.д. или валить гада сходу, начиная со слабых здоровьем но крепких в атаке юнитов...
Наконец - реакция на игрока - например замечено что он любит поставить что-нибудь помощнее + кучу лечилок - подкопить на глобальный БАБАХ и держать наготове ..... ну хрен знает, дальше моя фантазия буксует.
ЗЫ. Буду признателен за любые, даже самые бредовые идеи.
![Smile :)](./images/smilies/icon_smile.gif)
Но это все, если так можно выразиться, тактические заморочки, а самое главное - стратегия игры, например играть в защиту и воевать только молниями/армагеддонами/камнепадом ит.д. или валить гада сходу, начиная со слабых здоровьем но крепких в атаке юнитов...
Наконец - реакция на игрока - например замечено что он любит поставить что-нибудь помощнее + кучу лечилок - подкопить на глобальный БАБАХ и держать наготове ..... ну хрен знает, дальше моя фантазия буксует.
ЗЫ. Буду признателен за любые, даже самые бредовые идеи.
Улыбок вам ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
На кошках, это надо полагать, в крестики-нолики?Transman писал(а):Потренировался бы лучше на кошках. тьфу, на чем нибудь попроще, а то сразу на MTG потянуло. Вот к примеру Arcomage есть.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Вообще-то MTG была приведена для примера, на самом деле конечная цель - игра Астрал, может попадалась? Хочется портировать на спек, добавить элемент deck-building, немного стратегического и немного ролевого элемента. Рисунки карт частью переконвертированы, частью перерисованы, готово больше половины. Хотелось бы доделать, а не бросить на полпути.
Arcomage скачаю, посмотрю, только что толку? Или есть алгоритм ИИ для игры Arcomage? Так не стесняйся! ЛЮБОЙ алгоритм исскуственного интеллекта интересует, хоть в подкидного дурака. Важен сам принцип.
Улыбок вам ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Вот ссылка на их сайт http://www.astraltournament.com/
а могу и намылить, запакованный в зипе весит 6,3 метра. Единственное неудобство - английский язык, могу дать перевод если очень надо.
а могу и намылить, запакованный в зипе весит 6,3 метра. Единственное неудобство - английский язык, могу дать перевод если очень надо.
Улыбок вам ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
скачал версию 1.7 и кейген для 1.6 подошел ![Smile :)](./images/smilies/icon_smile.gif)
правда запустилась не с первого раза. вылетала при запуске боя без всяких сообщений.
Оно интересно, но достаточно сложно. имхо аркомэйдж проще в реализации. не знаешь, можно ли копаться в текстовых квестах из Космических рейнджеров 2? там аналогичная инра есть.
![Smile :)](./images/smilies/icon_smile.gif)
правда запустилась не с первого раза. вылетала при запуске боя без всяких сообщений.
Оно интересно, но достаточно сложно. имхо аркомэйдж проще в реализации. не знаешь, можно ли копаться в текстовых квестах из Космических рейнджеров 2? там аналогичная инра есть.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя