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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2011, 22:27   #11
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
что и профессионалам с ними было сложно играть.
Там сложность вводится на реакцию человека - бот например постоянно хаотично перемещается (то есть Вы элементарно не успеваете прицелится), при этом проявляя чудеса меткости. Это уже не бой, а сюрреализм - в реальности на такое не способен никакой спецназ. Опять же чудеса тупости - когда один в корридоре способен уложить 5-6 ботов, что тоже смешно. В реальном бое у Вас не хватит времени и возможности выжить при таком количестве народу и плотности огня. Практически все боты тупят с гранатами и не стесняясь лупят по своим, если они на линии огня между ботом и противником.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 27.12.2011 в 22:30.
Utkin вне форума Ответить с цитированием
Старый 27.12.2011, 23:21   #12
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

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

Ичем в игре является бот? Каким обьектом?
Человек_Борща вне форума Ответить с цитированием
Старый 27.12.2011, 23:28   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Ичем в игре является бот?
кодом, скриптом
иначе не понял вопрос.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.12.2011, 23:49   #14
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
взаимодействует с другими ботами
Также как и Вы. Вы можете уведомлять свою команду специальными сообщениями - Прикрывай меня, сектор чист, я на позиции, требуется помощь и т.д. Эти же команды доступны и ботам - слушайте эфир. Иногда засев за каким-нибудь ящиком вызываешь подкрепление, через минутку две подтягиваются свои. Тут уже главное, чтобы по ошибке тебя недобитого не зашибли .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.12.2011, 00:10   #15
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
кодом, скриптом
иначе не понял вопрос.
Допустим в процессе можно создать поток(нить), и эта нить будет работать не зависимо от осн. потока(не вешая его работоспособность), выполняя собственный код.

Чем является бот? Тоже потоком в процессе?
Человек_Борща вне форума Ответить с цитированием
Старый 28.12.2011, 06:58   #16
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Для примитивных игр все выполняется в обычном цикле. Не думаю, что для каждого бота создается отдельный поток. Скорее всего потоки выделяются на основные компоненты - отрисовка графики, те же боты (но одной кучей) и т.д.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 28.12.2011, 08:38   #17
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

К версии 1.6 zBot использовал спортивную стратегию (т. е. глобальные действия похожи на те, что можно видеть в демках профессионалов). Особенно, если вручную прописать в конфигах бота максимальную сложность и правильный набор оружия (4 стрелка с M16/AK47 плюс один снайпер). Но в Source ботов переписали с нуля, они снова стали тупы как пробки. Однако, похоже, их продолжают доводить до ума.


Цитата:
Сообщение от Utkin Посмотреть сообщение
Для примитивных игр все выполняется в обычном цикле. Не думаю, что для каждого бота создается отдельный поток. Скорее всего потоки выделяются на основные компоненты - отрисовка графики, те же боты (но одной кучей) и т.д.
Во всех стрелялках ID Software, как минимум до Quake 3, ВСЯ игра работает в одном главном цикле. Причём цикл - обычный while, а не таймер, поэтому игра всегда грузит проц на 100%.

Последний раз редактировалось ds.Dante; 28.12.2011 в 08:41.
ds.Dante вне форума Ответить с цитированием
Старый 28.12.2011, 09:53   #18
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

В КС по-моему у ботов есть маршрут с ключевыми точками и возможно диапазоном для выбора маневра при находжении на маршруте. Ну а остальное от логики зависит. Видит игрока, начинает метаться туда-сюда, чтоб по нему не попали и сам треляет. Не так сложно всё. В WoW AI совсем глупый и заскриптованные босы: как попадаешь в радиус видимости моба, он тебя атакует, уходишь из радиуса - убегает. Интереснее, когда AI решает, когда атаковать, а когда защититься от атаки игрока. Завит от многих показателей: хп бота и игрока, положения в бою, уровня и т.д. : SkyRim, Blade of Darkness и т.д. На мой взгляд очень хороший AI в CoD'е.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 28.12.2011, 10:23   #19
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Чем является бот? Тоже потоком в процессе?
всё зависит от игры
rpy3uH вне форума Ответить с цитированием
Старый 28.12.2011, 13:29   #20
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Что такое бот в CS <=1.6 (в последние версии Я не играл):
- Вся работа с ботами осуществляется библиотекой (dll) аналогичной библиотеке работы с сетевой игрой. При игре с ботами "ботовская" библиотека заменяет библиотеку сетевой игры (CS <=1.4) или они совмещенны (CS >1.4).
В случаи игры с ботами создаётся стандартная сетевая игра, но игроков от данного компьютера создаётся больше - игрок + количество ботов.
После создания игры отдельный модуль библиотеки работает напрямую с памятью игры и управляет ботами.
То есть получается два модуля:
+ Модуль создания игры с ботами;
+ Модуль работы с памятью.

По поводу реалистичности ботов в CS:
- Для начала стоит вспомнить историю. В CS <=1.4 передовыми были PODBot, написанные Коунт Флоидом. Они имели ряд недостатков и ряд достоинств, о которых Я скажу ниже. Изначально Флоид был независимым разработчиком, энтузиастом, весьма талантливым картостроителем и ботописцем. Valve его заметила и наняла для написания ботов к новой версии CS 1.6.
Флоид начал работу над zBot. Имея в распоряжении ресурсы Valve, он исправил недочёт с генерацией карты путей для ботов и создал прототип поведения ботов. Потом произошел скандал между Флоидом и руководством Valve - руководство требовало немедленно закончить работу с ботами, а Флоид просил ещё полгода на доработку "реалистичности". В итоге программист уволился и ушел в другую фирму, а Valve выпустила на рынок CS 1.6 с недоделанными zBot.
Поэтому zBot весьма тупы и не обладают реалистичностью, а PODBot хотя и устарели, но имеют механизмы реалистичного поведения.

В чём различия между zBot и PODBot:
- zBot автоматически создаёт карту путей путём анализа каркаса карты. PODBot нормально в автоматическом режиме карту путей создать не может, требуется очень много времени на её ручное написание.
- PODBot не умеет кидать гранаты. Для zBot Фроид успел написать код.
- PODBot имел три "характера": хардкорщик, скаут, снайпер. Каждый бот имел свои предпочтения в оружии и стиле поведения. zBot имеют один тупой "характер".
- PODBot умел обучаться. Бот запоминал места, где его убивали, и оружие, из которого его убивали. В последующих раундах бот использовал, полученные ранее, данные. Эти данные были доступны всем ботам. В результате при многократной игре на одной и той же карте у ботов появлялась карта поведения игрока (-ов) и они начинали командно (!) нападать на игроков используя слабые места (!). В zBot функция обучения отключена.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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