Развитие ИИ?

Пользовательские карты и игротека
Добрый день.
Обладая большим желанием начать всерьез заниматься редактором, раз за разом натыкаюсь на одно и то же препятствие. Проблема, озвученная мною, может показаться очень простой знатокам редактора, но вот в чем парадокс - несмотря на то, что вопрос этот поднимался на форуме неоднократно, я ни разу еще не видел на него не то, чтобы внятного, но хоть какого-нибудь ответа. (меж тем даются ответы по вопросам гораздо более тонкого использования редактора). Здесь либо дело в неправильной постановке задаваемого вопроса (новички редактора не видят каких-то очевидных вещей), либо в игнорировании самого факта такой проблемы со стороны, скажем так, мэтров (т.е. люди, освоившие редактор, в принципе не замечают такой проблемы, потому что смотрят на все под другим углом зрения).

Сам вопрос чрезвычайно прост: как правильно прописать триггеры развития ИИ? Чтобы он регулярно строил войска, изучал грейды, атаковал базу время от времени, экспандился? Чтобы он, самое главное, выполнял эти действия по какому-то общему базовому принципу, а не по отдельному триггеру на каждое отдельное действие а-ля "таким-то триггером в такое-то время изучить такой-то грейд, таким триггером в такое-то время построить марика, направить этого марика туда-то по третьему триггеру" и т.п..

В чем разница между "Start AI in Campaign Mode" и "Start AI in Melee Mode", и самое главное, как заставить их работать? Поясню, что имеется ввиду:

- При задаче триггера "Start AI in Campaign Mode" комп как-будто бы развивается, но до ужаса пассивен, ничего не делает, только отстраивает юнитов вместо убитых (ровно то же количество) и пытается сопротивляться, только когда уже приходишь уничтожать его базу.
- При задаче триггера "Start AI in Melee Mode" похожая ситуация, с той разницей, что ИИ (зерг в моем случае) честно отправляет на меня данные ему в начале войска, сливает их, а затем кидает в атаку только зерглингов, коих штампует без конца.

1) Как заставить его адекватно развиваться по всему циклу, комбинируя связки войск в атаках (в нарастающей сложности), как это было в первом СК?
2) Нужно ли в СК2 задавать локации для триггеров развития ИИ (строительство базы), как в СК1?

Буду очень благодарен, если кто-нибудь даст четкий развернутый ответ.
нет под рукой редактора, поэтому не смогу ответить точно. Но вот суть, что вспомню, то скажу (могу ошибаться, поэтому не воспринимай это как истину в последней инстанции).: Start AI in Campaign Mode - запускает ИИ, который ты сам прописал в редакторе ИИ. Start AI in Melee Mode - стандартный ИИ, который присутствует во всех картах режима сражения (тот против которого ты играешь в "своей игре")

Исходя из того что ты написал, кажется, ты просто не создал волны атаки.

1. Пропиши в редакторе ИИ порядок действия для компа. Что, в каком количестве и когда он построит. Затем, нужно указать волны атаки. Например - в 5.60 атаковать волной 3 сталкера, зилот, два колосса. В 6.70 атаковать волной 40 баттлкрузеров и т.д. И надо указать с какой периодичностью будет повторяться последняя волна. Нужно учитывать довольно много аспектов: ресурсы, которые есть у ИИ, технологии, точки атаки, войска, поэтому лично я отключаю все эти требования к черту и руководствуюсь только временем атаки.

2. Не понял вопрос. Стартовую позицию надо указать, если ты про это.
Спасибо за ответ. Я действительно не работал с волнами атаки вообще.
Мб корень проблемы в том, что я мыслю категориями редактора СК1 и пытаюсь перенести работающие там вещи в редактор второго старика. В первом тоже можно было создавать волны атаки по триггерам, но это были именно отдельные триггерные события, задаваемые по воле игрока, а все развитие и цикл атак ИИ на твою базу происходил по алгоритмам самого компа. Т.е. в редакторе первого СК это разные вещи - можно было просто поставить компу один триггер типа Execute AI Script Terran Campaign Insane At... и все - этого было достаточно для того, чтобы он развивался, занимал базы и постоянно атаковал тебя. Волны атаки там - вещь опциональная, а не обязательная, отсюда и мое отношение к ней.
Здесь волны атаки штука обязательная, ок. Но тогда возникает вопрос - если за агрессию компа отвечают волны атаки, за его развитие, предположим, еще какие-нибудь технологические триггеры, то что тогда вообще выполняет сам триггер Start AI in Melee/Campaign Mode, для чего он нужен?
И еще один вопрос, который неизбежно возникает: если все атаки компа прописываются через волны, то каков их предел вообще? А если карта планируется на несколько часов противостояния с компом? Вручную прописывать каждый его шаг, каждую атаку - не слишком ли муторно? Все это выглядит со стороны как-то слишком уж неавтоматизировано - даже по сравнению с редактором СК1.

>>1. Пропиши в редакторе ИИ порядок действия для компа. Что, в каком количестве и когда он построит.

Можешь написать простой пример, плиз, как это приблизительно выглядит?
Т.е. на уровне:

Event - .....,
Condition - ...... ,
Action - ....
?
Буду очень благодарен!

>>2. Не понял вопрос. Стартовую позицию надо указать, если ты про это.

В первом СК есть разные слои, как и здесь, в т.ч. слой локаций. И когда задаешь развитие для компа, то триггер Execute AI script должен быть привязан к базе компа. Рисуется локация на базе компа, называется, например, Red Terran Main Base, к ней привязывается триггер исполнения скрипта развития. Здесь рисовать локации (т.е. буквально растягивать эту локацию над вражеским СС ИИ, например) для этого не нужно, как я понял, достаточно только поставить стартовые точки?
В СК 1 стартовые точки вообще не имеют никакого отношения к развитию компа.
Привет.
С одной стороны, на редакторе СК2 можно сделать ВСЁ ЧТО УГОДНО, но с другой в нём нету каких-то базовых и элементарных вещей как в редакторах БВ и ВК3.

20/11/2014 23:46Размещено PolarFox
Можешь написать простой пример, плиз, как это приблизительно выглядит?

Есть несколько способов создать ИИ для карты:
1) ИИ кампании, ничего сам не умеет кроме как восстанавливать уже имеющиеся (юниты/здания).
Грейды, которые он делает (или доступны сначала) прописываешь сам.
Волны атаки прописываются вручную. Количество и разнообразность выбираешь сам (для каждого уровня сложности).
Через цикл. Создаешь 10 триггеров волн атаки, и зацикливаешь их как тебе хочется. Запуск следующей должен происходить из предыдущей. Первая волна, запускается на старте.
Подробнее можешь посмотреть любую миссию ВоЛа (в некоторых, волны атаки запихнуты в 1 триггер, как по мне это не удобно)

2) Мили ИИ, обычный ИИ режима схватки. Действует сам, и как ему взбредет в голову. Сложность регулируется либо в лоби, либо через триггер.

3) Редактор ИИ. Самый тупой вариант. В Хотсе добавили редактор ИИ (по аналогии ВК3), но он ВООБЩЕ ничего не умеет. просто тупо создает на карте из ничего нужное количество юнитов и посылает в атаку.

4) Геморойный вариант. Самому прописать через триггеры когда и чего ИИ будет строить. Для большей простоты, рекомендую сначала на карте расставить войска и базы, и убрать на них галку "изначально включен", а потом со временем активировать поочерёдно необходимые области через триггеры (вкл. Восстановление ИИ в Области)

5) Самый геморный способ. Прописать ИИ через скрипт-редактор Galaxy В нем ты сможешь сделать реально всё что хочешь сделать с ИИ. Прописать частоту занятия баз, БО, тайминги, Микро ИИ и т.д.
Сложность в том, что прописывать придется именно скрипты, и гайдов на всё это дело фиг найдешь. Примеры:
Поищи GreenTea AI (карты в Хотсе или в Воле) бот написанный как раз в этом редакторе.
Другие наглядные примеры:
http://www.youtube.com/watch?v=mrbYd4OFrWE
http://www.youtube.com/watch?v=IKVFZ28ybQs&list=UUOBfAiPhRlKOhdJHaAJ2OpQ

20/11/2014 23:46Размещено PolarFox
Execute AI script

такого к сожалению нету в СК2

19/11/2014 19:25Размещено PolarFox
2) Нужно ли в СК2 задавать локации для триггеров развития ИИ (строительство базы), как в СК1?

Зависит от того, какой способ ты предпочтешь. Некоторые сами это делают, некоторым прописывать через триггеры надо, а если через Galaxy делаешь, то там и прописывается алгоритм занятия баз.

Перечитывать посты выше не буду, поэтому если ещё будут вопросы пиши ниже.
Насколько же опустел форум, что тема из этого раздела попала в Топ :)))) ЛОЛ
21/11/2014 01:01Размещено KorVeritas
Есть несколько способов создать ИИ для карты:

Спасибо за обзор!
KorVeritas, спасибо за развернутый ответ. На выходных посижу, посмотрю все.
Уточнишь еще пару моментов?
Какой из описанных тобою способов создания ИИ предпочитаешь сам, и какой порекомендовал бы новичку?
Волны нужно прописывать для всех типов создаваемого ИИ? Из твоих слов я понял, что Мили ИИ вроде не нуждается в этом. Но тогда что я делаю не так, когда Мили ИИ ведет себя описанным мною способом:

- При задаче триггера "Start AI in Melee Mode" похожая ситуация, с той разницей, что ИИ (зерг в моем случае) честно отправляет на меня данные ему в начале войска, сливает их, а затем кидает в атаку только зерглингов, коих штампует без конца.


Судя из такого поведения, что-то все-таки упущено при задаче его параметров развития. Или все-таки для него волны атаки тоже требуется?
21/11/2014 19:06Размещено PolarFox
Какой из описанных тобою способов создания ИИ предпочитаешь сам, и какой порекомендовал бы новичку?

Всё зависит от твоей карты и роли того или иного ИИ.
Для классической игры, игрок против ИИ с базой (Миссии ВоЛ) лучше подойдет ИИ кампании. программировать его не сложно но муторно, но на помощь всегда придёт Ctrl+C Ctrl+V.

Если карта типа "продержаться N минут" то проще будет использовать 3й вариант. Так же, его можно использовать для "неожиданных" тыловых атак, но как дополнение к нормальному ИИ (сделать отдельного игрока)

4й вариант, это своего рода извращения. Подойдет, если тебе нужно чтоб ИИ немного развивался, занимал базы итд, но в пределах которые тебя интересуют. (пример, Миссия освобождение фантомов, и Звезда телеэкрана)
21/11/2014 19:06Размещено PolarFox
Волны нужно прописывать для всех типов создаваемого ИИ?


Только для 1 и 4. 3й вариант, это и есть редактор волн ИИ. Удобен для создания, но не функционален.
МилиИИ ненужно ничего прописывать. Повторюсь, он сам решает что ему делать.
В 5 варианте, ты всё это задаешь при его написании. Его кстати можно обозвать тоже МилиИИ, созданный собственноручно.

21/11/2014 19:06Размещено PolarFox
Судя из такого поведения, что-то все-таки упущено при задаче его параметров развития. Или все-таки для него волны атаки тоже требуется?

Мили ИИ очень плохо реагирует, если у него есть Здания и Юниты. Он же заскриптован как ему развиваться, а ты лишаешь его этой возможности, поэтому может получиться то, что у тебя получилось. С другой стороны, этим можно воспользоваться. Если ты создашь такого ИИ, и у него будут только риперы, гелионы и викинги, то он всю игру будет строить только их (возможно ещё что-нибудь добавит, но не факт).

З.Ы. Каждый вариант ИИ, несовместим с другим. Если ты хочешь использовать несколько вариантов, то необходимо закрепить их на разных игроках.
Укажите ошибку в коде, плиз.
ИИ (Campaign Mode) таскает минералы, но упорно не атакует меня.

В данный момент у меня два триггера для ИИ, первый, на общее развитие, выглядит так:
"
Melee Initialization
Events
Game - Map initialization
Local Variables
Conditions
Actions
Player - Modify player Zerg Base* Minerals: Set To 1000
Player - Modify player Zerg Base* Vespene: Set To 700
AI - Start the campaign AI for player Zerg Base*
Trigger - Run Attack Waves* (Check Conditions, Don't Wait until it finishes)
"
* - глобальные переменные

На волны атаки выглядит так:
"
Attack Waves
Events
Local Variables
Conditions
((Current trigger) is on) == True
Actions
AI - Add (1 / 2 / 4) Zergling to the attack wave
AI - Send the attack wave from player Zerg Base* to attack in 10 seconds and Wait
"
* - глобальные переменные

Всю эту кучу волн, их зацикливания друг на друга пока не писал, т.е. хочу начать с самого простого, чтобы ИИ направил на меня хотя бы одного этого зерглинга. Но он этого не делает - почему?
Что упущено в коде или на карте? Точки старта стоят (не знаю, влияют ли они вообще на такие вещи). Что еще должно быть?

KorVeritas
программировать его не сложно но муторно, но на помощь всегда придёт Ctrl+C Ctrl+V.


Можешь скинуть строчку кода как образец?
Ты сделал триггеры, которые запускают ИИ из редактора ИИ. Сам-то ИИ сделал? У меня это выглядит следующим образом:
1. http://s017.radikal.ru/i418/1412/71/144d2f01f1a3.jpg
2. http://s020.radikal.ru/i701/1412/03/eb8e13c2301b.png
3. http://s018.radikal.ru/i501/1412/63/f5e8b4a33494.jpg

из триггеров:
1. ИИ - Запустить ИИ для всех компьютерных игроков
2. ИИ - Запустить волны атаки для всех ИИ
3. Задать значения ресурсов для игрока 3

Как видишь, ничего сложного.
01/12/2014 07:33Размещено elTomato
Ты сделал триггеры, которые запускают ИИ из редактора ИИ. Сам-то ИИ сделал?


Бинго, вот оно! Фраза "сделать сам ИИ" никогда ничего не говорила мне, поэтому мои триггеры ссылались на пустой модуль ИИ.
Наконец-то. Огромное спасибо, чувак :)
не за что. Надеюсь, все заработало.
2) Мили ИИ, обычный ИИ режима схватки. Действует сам, и как ему взбредет в голову. Сложность регулируется либо в лоби, либо через триггер.

Через какой именно триггер регулируется сложность Мили ИИ?
Триггер "Set Player Difficulty Level".
Важно: менять таким способом уровень сложности желательно ДО запуска ИИ (до Start Campaign/Melee AI for Player/All Players).
После запуска ИИ, коме уровня сложности требуется менять также и опции ИИ с помощью триггера "Set Difficulty Parameter". Эти опции задаются триггером, запускающим ИИ в зависимости от уровня сложности.
Задача, сделать союз из тебя (террана) и компьютера (протоса) против компьютеров×2 (зергов), после танцев с бубном такие результаты: варианты:
1.Победа и ии в ступоре
2. ии сидят на базах солдатиками
3 все против всех
4 все ии против меня.
кто может сказать вчём проблема?
каждый пуск игры, разные варианты поведения, где-то заныкан большой косяк, но где?

Обсудить

К форуму