Воскресенье, 24 Ноября 2024, 10:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
AI для RTS
SaiteiДата: Воскресенье, 22 Июня 2014, 19:57 | Сообщение # 1
старожил
Сейчас нет на сайте
Что думаете по этому поводу?
"RTS", конечно же, обширное понятие, спору нет. Однако всё равно хотелось бы обсудить основные концепции искусственного интеллекта для игр типа Warcraft, Starcraft и пр.
Мне кажется, что здесь должно искореняться применение рандома. Когда я писал программу для построения и визуализации деревьев (я о графах говорю, а не реальных деревьях, конечно же), то в голову стукнула мысль: "а почему бы не научить компьютер строить его возможные действия и на основе состояния сооружений, юнитов и пр. игрока давать оценку возможным действиям и поступать так, как "лучше"?".
Идея мне показалась разумной, но я так и не смог придумать алгоритма для этого. Шахматы же, вроде, тоже так пишутся?: строится дерево возможных событий с глубиной N и выбирается самый благоприятный узел("node")?

В общем не знаю... В голове полно мусора и недодумок, ну а более-менее "не тупой" ИИ хочется реализовать
OrdanДата: Понедельник, 23 Июня 2014, 03:06 | Сообщение # 2
Главный зомби
Сейчас нет на сайте
Можешь сделать пародию на нейронные сети но тут нужен кое какой опыт в ИИ, либо делай сценарии. Проще говоря сценарий шаблон действий, очень удобная и универсальная вещь. либо можно просто же сделать информационную систему или как там её называют не помню уже sad
Короче спрашиваешь ИИ:
1- У тебя есть ресурсы? Да-2 Нет "Ждать когда появятся, либо увеличить производство."
2- У тебя есть казарма? Да - 3 (Построить казарму)
3- Ты знаешь примерную численность войск врага? Да - 4 Нет (послать разведчика)
4- У врага больше войск чем у тебя? Да - (построить больше юнитов) Нет (напасть)

В общем можешь прогонять по вопросам ИИ и определять его действия либо задавать сценарий.

Ну, а сделать ИИ юнитов вообще плевое дело.


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
SaiteiДата: Понедельник, 23 Июня 2014, 03:14 | Сообщение # 3
старожил
Сейчас нет на сайте
Ordan, нейронные сети... Да я там максимум делал распознавание цифр)) Слишком круто и муторно, не гадится...

Цитата Ordan ()
Короче спрашиваешь ИИ:
1- У тебя есть ресурсы? Да-2 Нет "Ждать когда появятся, либо увеличить производство."
2- У тебя есть казарма? Да - 3 (Построить казарму)
3- Ты знаешь примерную численность войск врага? Да - 4 Нет (послать разведчика)
4- У врага больше войск чем у тебя? Да - (построить больше юнитов) Нет (напасть)

В общем можешь прогонять по вопросам ИИ и определять его действия либо задавать сценарий.

Ну, а сделать ИИ юнитов вообще плевое дело.

Кое-какой мудрый человек мне помог советами схожего плана. Надо же построить своего рода машину состояний и создать ф-цию, которая эти состояния обрабатывает и изменяет? Так?
OrdanДата: Понедельник, 23 Июня 2014, 03:24 | Сообщение # 4
Главный зомби
Сейчас нет на сайте
Saitei, что то типо того.
Еще можно сделать систему привлекательности, иногда её использую. Суть в выборе одного действия из многих. Той же информационной системой проводишь опрос ИИ, в зависимости от ответа даешь баллы привлекательности тому или иному действию. После опроса выбираешь действие у которого наивысший бал.
К примеру

Есть казарма? Нет - 10 баллов
Напасть ли на врага? (Сила армии ИИ) - (примерная сила армии игрока) = количество баллов
Достаточно ли месторождений? Да - 5 баллов
Скажем, что у игрока больше войск, в итоге ИИ выберет строительство казармы как задача с наивысшем баллом.


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
TiodorДата: Понедельник, 23 Июня 2014, 03:37 | Сообщение # 5
участник
Сейчас нет на сайте
А еще можно сделать несколько разных вариантов развития ИИ в стратегии: например в начале игры в зависимости от местоположения и количества ресурсов на карте он определяет - вдаваться в строительство или стоить армию и нападать.
Ну а еще взаимодействие с окружением.
Это так, к слову)

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


VK: Tiodor
OrdanДата: Понедельник, 23 Июня 2014, 03:48 | Сообщение # 6
Главный зомби
Сейчас нет на сайте
Цитата Tiodor ()
А еще можно сделать несколько разных вариантов развития ИИ в стратегии: например в начале игры в зависимости от местоположения и количества ресурсов на карте он определяет - вдаваться в строительство или стоить армию и нападать.
Ну а еще взаимодействие с окружением.
Это так, к слову)

Ну это обычный шаблон)

Цитата Tiodor ()
А вообще да, можно давать каждому действию определенное количество баллов, а дальше условия.
В целом я думаю, что ты прав: самый универсальный способ это учесть всевозможные варианты и уже из них исходить.

Минус этого метода, гемор прописывать все условия, я всегда стараюсь делать что то более универсальное, где не нужно все самому прописывать.

В игре "Колизей новой эры" я сделал два типа ИИ. ИИ командира и ИИ бойцов. Командир проводил анализ и давал бойцам список возможных действий, а они уже сами выбирали что им делать.


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
SnuuxДата: Вторник, 24 Июня 2014, 18:14 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Не уверен, но для почти любого ии можно использовать стейт машины. Гуглите FSM, GOAP. Хотя в большинстве своем, результаты в гугле описаны для одного персонажа. Но думаю под RTS можно тоже это сделать.

Кстати, тем кто увлекается ии, советую посмотреть игрушку codecombat.com (начинайте с Gold Rush или Dungeon Arena). Пишите, если понравится, можно вместе пообсуждать стратегии)

Добавлено (24.06.2014, 18:14)
---------------------------------------------
К слову, недавно в libgdx появилось новое ответвление классов для AI. И там мне понравилось, как реализован State Machine. Код открыт, можно смотреть. (Wiki, source).


Сообщение отредактировал Snuux - Вторник, 24 Июня 2014, 18:18
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг