Помощь - Поиск - Пользователи - Календарь
Полная версия: Combat AI
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Anakondar
Во-первых, высказываем идеи как это должно работать: кто и когда должен кастовать, юзать айтемы, драться в дистанции или рукопашке.

Во-вторых, устраиваем состязание по следующей схеме:
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
Цитата
Высказываем идеи и меряемся
зачет! biggrin.gif
Anakondar
Предлагаю писать для максимально высокоинтеллектуального искусственного интеллекта (извините за тавтологию). А ухудшить его можно будет уже в процессе (типа тупые големы\животные\огры не пытаются убежать от заведомо смертельной опасности).
PaiNt
1. Вообще мне видится это архибезсмысленной затеей. Что что, а боевой AI надо создавать начиная с подробнейшего проектирования "архитектуры" а не создания готового кода, иначе он будет ничем не лучше, например, джасперовского или даже стандартного.
2. Тут нужно определить перечень тактических вопрос-ответов, которые я думаю частично можно выковыривать из каких-нибудь манче-форумов (типа Гемовского раздела "Повелители дайсов" smile.gif_) ну или из своего опыта. Второй этап как я уже сказал - это "архитектура" всего этого частично исходя из поставленных первым пунктом задач, а частично решающих их же.

короче я хотел сказать что долбанные пункты 1 и пункт 2 взаимосвязаны.
Anakondar
Естественно я не предлагаю сразу брать писать код. Тут несколько более творческий процесс. Когда у меня сосед начинал играть в НВН и создавал персонажей, я всегда задавал ему вопрос: "Что этот персонаж будет делать (во время боя)?" В зависимости от ответа, персонаж обрастал фитами, скилами и спелами. Теперь наоборот, есть персонаж с заданым набором фитов, скилов, спелов, нужно выбрать чем бы заняться.
PaiNt
Задача более верхнего уровня "боевого AI" - видоизмененное выражение теста Тьюринга.
-Победить человека, имея для принятия решений теже исходные данные и тот же ритм_принятия_решений/действий что и он. (состязание одинаковых AI при одинаковых начальных условиях должно решаться случайно).
Anakondar
Именно. Вот поэтому нам для сравнения нужны разные алгоритмы принятия решений (а также разные начальные условия, для теста).
denis0k
Просто мериться - неинтересно и, пардон-те, глупо. В самой дид такие бешеные разбросы на проверках атак, спасов и уроне, что победа одного моба над другим абсолютно ни о чём не говорит. Они могут тупо жахнуть исааками друг в друга, но один на 40д6 выкинет 100, а другой - 200. Второй умнее?

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

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

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


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

Это различие существует лишь за счёт самописных скриптов этих серверов, в часности криптов заклинаний. В этом же случае происходит изменение только скриптов на существах, читай выше. А уж изменить готовый аи под свои нужды - дело десятое.
denis0k
Цитата
Это различие существует лишь за счёт самописных скриптов этих серверов, в часности криптов заклинаний. В этом же случае происходит изменение только скриптов на существах, читай выше. А уж изменить готовый аи под свои нужды - дело десятое.
Уверен? А я вот нет smile.gif Фикс пары спеллов может привести к переписыванию половины спеллкастерского ии, равно как это же заставляет самих игроков в корне менять тактику smile.gif Если конечно ии не заключается в касте всех заклинаний подряд, начиная с высших кругов, как это делается по дефолту.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.