Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Город Мастеров _ Neverwinter Nights Aurora Toolset _ Combat AI

Автор: Anakondar Oct 23 2012, 09:13

Во-первых, высказываем идеи как это должно работать: кто и когда должен кастовать, юзать айтемы, драться в дистанции или рукопашке.

Во-вторых, устраиваем состязание по следующей схеме:
1) Каждый участник присылает файлы ai_xxx_yyy.nss, где xxx - латинские буквы однозначно определяющие участника, а yyy - attacked, endround, heartbeat, blocked, conversation, damaged, death, disturb, perseption, rested, spawn, spellcastat, userdefined. Запрещено использовать в текстах скриптов то, что НПС не могут "сами по себе" (ApplyEffectToObject(0, EffectDeath(), GetNearestEnemy()); и т.п.).
2) Скрипты каждой пары игроков вешаются на группы НПС, состоящую из "бойца" (weapon - ориентированный НПС, не обязатально мили), "хайдера" (sneak или hide -ориентированный НПС), "боевого мага" (harmful spell или spell-like - ориентированный НПС) и "саппорта" (benefical spell или spell-like - ориентированный НПС).
3) НПС помещаются на арену - локацию с Check Modifier = 0, содержащую тайлы, блокирующие Line of Sight.
4) Теги своих и чужих неизвестны. Фракции неизвестны. Положение на арене - произвольное. Чужие - враждебны, свои - нейтральны. Задача: убить всех чужих, "выжить" всех своих.

Автор: PaiNt Oct 23 2012, 09:19

Цитата
Высказываем идеи и меряемся
зачет! biggrin.gif

Автор: Anakondar Oct 23 2012, 09:24

Предлагаю писать для максимально высокоинтеллектуального искусственного интеллекта (извините за тавтологию). А ухудшить его можно будет уже в процессе (типа тупые големы\животные\огры не пытаются убежать от заведомо смертельной опасности).

Автор: PaiNt Oct 23 2012, 09:27

1. Вообще мне видится это архибезсмысленной затеей. Что что, а боевой AI надо создавать начиная с подробнейшего проектирования "архитектуры" а не создания готового кода, иначе он будет ничем не лучше, например, джасперовского или даже стандартного.
2. Тут нужно определить перечень тактических вопрос-ответов, которые я думаю частично можно выковыривать из каких-нибудь манче-форумов (типа Гемовского раздела "Повелители дайсов" smile.gif_) ну или из своего опыта. Второй этап как я уже сказал - это "архитектура" всего этого частично исходя из поставленных первым пунктом задач, а частично решающих их же.

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

Автор: Anakondar Oct 23 2012, 09:37

Естественно я не предлагаю сразу брать писать код. Тут несколько более творческий процесс. Когда у меня сосед начинал играть в НВН и создавал персонажей, я всегда задавал ему вопрос: "Что этот персонаж будет делать (во время боя)?" В зависимости от ответа, персонаж обрастал фитами, скилами и спелами. Теперь наоборот, есть персонаж с заданым набором фитов, скилов, спелов, нужно выбрать чем бы заняться.

Автор: PaiNt Oct 23 2012, 09:46

Задача более верхнего уровня "боевого AI" - видоизмененное выражение теста Тьюринга.
-Победить человека, имея для принятия решений теже исходные данные и тот же ритм_принятия_решений/действий что и он. (состязание одинаковых AI при одинаковых начальных условиях должно решаться случайно).

Автор: Anakondar Oct 23 2012, 09:57

Именно. Вот поэтому нам для сравнения нужны разные алгоритмы принятия решений (а также разные начальные условия, для теста).

Автор: denis0k Oct 23 2012, 17:47

Просто мериться - неинтересно и, пардон-те, глупо. В самой дид такие бешеные разбросы на проверках атак, спасов и уроне, что победа одного моба над другим абсолютно ни о чём не говорит. Они могут тупо жахнуть исааками друг в друга, но один на 40д6 выкинет 100, а другой - 200. Второй умнее?

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

Добавил:
Как говорил Сид Мейер, ИИ должен красиво отдаваться игроку. И не более того. С чем я полностью согласен.

Автор: Anakondar Oct 23 2012, 18:40

Цитата(denis0k @ Oct 23 2012, 18:47) *
В самой дид такие бешеные разбросы на проверках атак, спасов и уроне, что победа одного моба над другим абсолютно ни о чём не говорит. Они могут тупо жахнуть исааками друг в друга, но один на 40д6 выкинет 100, а другой - 200. Второй умнее?

Это АИ, игрок не нужен, поэтому можно просто запустить модуль на 1000 боёв, а потом просмотреть статистику побед и поражений. Это будет объективно.


Цитата(denis0k @ Oct 23 2012, 18:47) *
Половина принятых решений будет зависеть от механики конкретного сервера, неписи сиалы, гема, экзиса и амена должны действовать по-разному.

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

Автор: denis0k Oct 23 2012, 19:03

Цитата
Это различие существует лишь за счёт самописных скриптов этих серверов, в часности криптов заклинаний. В этом же случае происходит изменение только скриптов на существах, читай выше. А уж изменить готовый аи под свои нужды - дело десятое.
Уверен? А я вот нет smile.gif Фикс пары спеллов может привести к переписыванию половины спеллкастерского ии, равно как это же заставляет самих игроков в корне менять тактику smile.gif Если конечно ии не заключается в касте всех заклинаний подряд, начиная с высших кругов, как это делается по дефолту.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)