Простенький ИИ

Простенький ИИ

Нет прав для скачивания
1,560
86
204
MaximPixel добавил(а) новый ресурс:

Простенький Искусственный Интеллект - Добавление искусственного интеллекта к своему мобу

Для начала выясним как работает ИИ в Minecraft.

В классе EntityLiving есть список возможных заданий (или действий) и у каждого задания есть свой приоритет. Сильнее приоритет, тот который меньше другого. Допустим чтобы моб не тонул, когда пытается ударить кого-то, то приоритет на плавание нужно поставить 0, а приоритет на преследование 1.

В обычном Minecraft есть следующие ИИ-задачи:
  • EntityAISwimming - плавать
  • EntityAIAttackMelee - атака врукопашную
  • EntityAIWanderAvoidWater...

Узнать больше об этом ресурсе...
 
5,018
47
783
Пока оценку ставить не буду, посмотрю что дальше будет. Сам немного в АИшках уже разобрался, интересно будет другую точку зрения почитать. Даешь гайд!
 
1,159
38
542
Инфы пока кот наплакал. Все то, что есть в гайде легко выясняется самому через поиск в IDE. Лично я жду от этого момента объяснения различных тонкостей, связанных с AI.
 
1,560
86
204
Нужно добавлять весь код с комментариями или добавлять коды с пошаговыми действиями?
 
5,018
47
783
Нужно добавлять весь код с комментариями или добавлять коды с пошаговыми действиями?
Там по сути всего три метода с которыми надо оперировать
shouldExecute, startExecuting, updateTack.И в них типа писать что надо делать мобу. Т.е условия и как действовать в зависимости от условий. Вот тебе и весь AI. Вот мне например интересно как сделать чтобы энтитя искала в радиусе например 16 блоков блок огня и залезала в него. Пытался вчера сделать, однако не понял про предикейты и как в этих предикейтах работает apply()
 
не понял про предикейты
Предикейт это обычный интрефейс который как и любые другие можно заимплементить классу и там реализовать.
Но предпочтительнее, намного, использовать лямбды. В его метод подается объект - он возвращает 'да' или 'нет'.
Фильтр например какой-то
 
7,099
324
1,509
Лучше смотреть на предикат, как на функцию A->Boolean, т.к. именно так они юзаются
 
Последнее редактирование:
4,044
63
645
Два вопроса:
1 - что есть citizen?
2 - при выяснении возможно ли действие и при его начале мы два раза обращаемся в созданию пути... А нельзя ли это оптимизировать как-то? Например, если путь не равен нулю, то запоминать его и брать уже из начала таска.
 
Сверху