Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2011, 16:58   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
Вопрос Компьютерный AI в играх. Боты - как они работают?

Доброго времени суток!

Играя в cs 1.6 от скуки и счастья, что сдал экзамены.
Задался вопросом о том, как работают тамошние боты(zBot - кажись).

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

Да и вообще к другим играм это тоже относится.

Последний раз редактировалось Человек_Борща; 27.12.2011 в 17:01.
Человек_Борща вне форума Ответить с цитированием
Старый 27.12.2011, 17:02   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

игрушечных ботов модно на питоне ваять, уже в нескольких местах видел
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 27.12.2011, 17:12   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Просто интересно, как они работают?
Человек_Борща вне форума Ответить с цитированием
Старый 27.12.2011, 17:19   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Поищи игрушку Colobot, там на простом С-подобном языке можно ваять свои программы для управлением ботами в 3д мире. Многое станет сразу понятнее.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 27.12.2011, 17:31   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Человек_Борща, сайт последнего конкурса на создание лучшего бота http://pkonkurs.ru/ (там есть и документация и исходники ботов). Бот для Fortress 2 - самый простой вариант реализации модели взаимодействия игры с ботом.

надо ещё? вот конкурс по игре FERZ (там также приведена документация, но исходников ботов нет). Между прочим разработка бота к игре FERZ, очень интересная задача, и хороша тем что писать много кода не надо, а главное надо очень хорошо подумать: задача чисто на размышлялку, а не на кодинг. Также примечательна тем что даже самый простой бот легко обыгрывает человека

в этих ваших cs 1.6 примерно тоже самое, только сложнее и навороченнее раз в 100.

Последний раз редактировалось rpy3uH; 27.12.2011 в 17:38.
rpy3uH вне форума Ответить с цитированием
Старый 27.12.2011, 20:08   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Алекс Дж. Шампандар - Искусственный интеллект в компьютерных играх. Как обучить виртуальные персонажи реагировать на внешние воздействия.

почитайте.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.12.2011, 20:46   #7
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Флоиду напишите - он точно знает

Всё до идиотизма просто:
- При первой загрузке карты производиться анализ крупных "твёрдых" структур. Карта делиться на участки: ровная поверхность, уступы, лестницы, зона переключателей, зона спасения заложников и т.д.
- На полученных участках размещаются "поинты" указатели действий ботов.
- Между "поинтами" строятся связи используя алгоритм поиска пути. Получается карта для ботов.
- После построения карты для ботов генерируются сами боты.
- Бот анализирует нахождение игрока противника путём обработки памяти игры.
- После того как противник найден, бот накладывает ограничения "человечности" - радиус видимости, наличие препятствий, ошибку попадания и т.д.
- Если выстрел сделать можно, то бот атакует.
- Если выстрел выполнить нельзя, то бот выполнят дополнительную задачу. Например, спасает заложников.

В общем вот так всё просто.
Виталий Желтяков вне форума Ответить с цитированием
Старый 27.12.2011, 21:12   #8
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Боты делятся на тех, кто использует waypoints, и тех, кто не использует. Из первых на вскидку назову zBot и PODBot, из вторых - RealBot.
ds.Dante вне форума Ответить с цитированием
Старый 27.12.2011, 21:37   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

В большинстве случаев боты абсолютно тупы и в том же CS многое зависит от везения. Если Вы заметили - существует куча стратегий. Первое например - не играть первые несколько партий. То есть тупо ждать несколько раундов - цель получить бабки. Соответственно - остальные практически всегда тратят деньги на вооружение (а при их убийстве они теряют экипировку). Нужно подобрать число раундов, через которое Вы сможете получить приемлимое вооружение, тогда как большинство ботов будут пользоваться средним или плохим обмундированием. Элитное вооружение (крутые автоматы, пулемет) получат только единицы - лидеры рейтингов.
Вот Вам уже кое-что от тупости . Дальше контрики с щитами относительно легко умирают при стрельбе в ноги - если он на открытом пространстве, а у Вас например обычная Гадюка, считайте что он труп с полмагазина максимум. Короче ИИ в играх очень уныл и при многократной практике оказывается что интеллектом там, даже и не пахнет.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.12.2011, 22:09   #10
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
В большинстве случаев боты абсолютно тупы и в том же CS многое зависит от везения. Если Вы заметили - существует куча стратегий. Первое например - не играть первые несколько партий. То есть тупо ждать несколько раундов - цель получить бабки. Соответственно - остальные практически всегда тратят деньги на вооружение (а при их убийстве они теряют экипировку). Нужно подобрать число раундов, через которое Вы сможете получить приемлимое вооружение, тогда как большинство ботов будут пользоваться средним или плохим обмундированием. Элитное вооружение (крутые автоматы, пулемет) получат только единицы - лидеры рейтингов.
Вот Вам уже кое-что от тупости . Дальше контрики с щитами относительно легко умирают при стрельбе в ноги - если он на открытом пространстве, а у Вас например обычная Гадюка, считайте что он труп с полмагазина максимум. Короче ИИ в играх очень уныл и при многократной практике оказывается что интеллектом там, даже и не пахнет.
Вы описали модель поведения zBot. Так там специально такая тупость вводиться.

Не знаю точно по поводу zBot (Я как раз, когда они появились, бросил играть), а вот PODBot допиливывали и переписывались местными умельцами до такой степени, что и профессионалам с ними было сложно играть.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма как в играх casio23 Общие вопросы Delphi 0 12.11.2011 16:55
боты для мосвара роман1975 Софт 2 04.09.2011 20:47
Как обращаться к Checkbox, если они вызываются программно??? 555Ksenia555 Microsoft Office Excel 1 24.07.2011 15:05
События и делегаты в C# как они работают _PROGRAMM_ Общие вопросы .NET 11 04.02.2010 06:44