Здравствуйте коллеги.
Мои вопросы к Вам следующие:
Какой лучше метод(или модель) для проектирования ИИИ(Игрового AI) из существующих?
Какое лучше поведение ИИИ на Ваш взгляд: реалистичное или оптимальное?
Здравствуйте, Ball00, Вы писали:
B>Какое лучше поведение ИИИ на Ваш взгляд: реалистичное или оптимальное?
Конечно, реалистичное. Например, 3D шутеры — если у противника 100% попадания, он видит тебя сквозь все стены и всегда знает, сколько у тебя HP — то играть неинтересно, а именно такое поведение ИИ оптимально с точки зрения эффективности игры. И наоборот, в S.T.A.L.K.E.R. сделано с замашками на "реалистичность" — мне очень понравилось.
Здравствуйте, Сергей, Вы писали:
С>Конечно, реалистичное. Например, 3D шутеры — если у противника 100% попадания, он видит тебя сквозь все стены и всегда знает, сколько у тебя HP — то играть неинтересно, а именно такое поведение ИИ оптимально с точки зрения эффективности игры. И наоборот, в S.T.A.L.K.E.R. сделано с замашками на "реалистичность" — мне очень понравилось.
Ну а вообще получается что самое лучшее поведение ИИИ- это высоко реалистичная копия реального оптимального игрока. Или я чего то недогоняю ...
Здравствуйте, Сергей, Вы писали:
С>Здравствуйте, Ball00, Вы писали:
B>>Какое лучше поведение ИИИ на Ваш взгляд: реалистичное или оптимальное?
С>Конечно, реалистичное. Например, 3D шутеры — если у противника 100% попадания, он видит тебя сквозь все стены и всегда знает, сколько у тебя HP — то играть неинтересно, а именно такое поведение ИИ оптимально с точки зрения эффективности игры. И наоборот, в S.T.A.L.K.E.R. сделано с замашками на "реалистичность" — мне очень понравилось.
Если у тебя есть чел 50 и лет 10 на разработку ИИ, можешь писать суперреалистичное поведение, стоит ли того? Задача ИИИ — красиво проигрывать, пускай он при этом читерит, не страшно, уверен что и сталкеровские юниты читерят, красиво только.
Здравствуйте, AK85, Вы писали:
AK>Если у тебя есть чел 50 и лет 10 на разработку ИИ, можешь писать суперреалистичное поведение, стоит ли того? Задача ИИИ — красиво проигрывать, пускай он при этом читерит, не страшно, уверен что и сталкеровские юниты читерят, красиво только.
Да, действительно. Согласен. Приятно, что тут пишут люди правильно и адекватно понимающие смысл и предназначение ИИИ
Здравствуйте, AK85, Вы писали:
AK>Задача ИИИ — красиво проигрывать, пускай он при этом читерит
на минимальной сложности — пожалуй.
на максимальной, если в игре есть хоть какая-то соревновательная составляющая (счёт очков хотя бы, не говоря о сетевом режиме), должен честно выигрывать. чтобы хардкорщики тренироваться могли. ну и интересно по идее сильного бота писать.
Здравствуйте, Ball00, Вы писали:
B>Какой лучше метод(или модель) для проектирования ИИИ(Игрового AI) из существующих?
А какие они, существующие?
Обычно начинают с правил игры, потом на их основе клепают болванчика, пробуют с ним играть, дорабатывают напильником. Потом, если игрушку примут игроки, смотрят, как они играют, и ещё дорабатывают. Ну, если только сразу не получится шедевр.
B>Какое лучше поведение ИИИ на Ваш взгляд: реалистичное или оптимальное?
С точки зрения игрока лучше то поведение, когда будет интересно играть. Нужен баланс между "честностью", вычислительными возможностями, интеллектом игрока и трудом создателя этого конкретного ИИ.
Здравствуйте, akasoft, Вы писали:
A>С точки зрения игрока лучше то поведение, когда будет интересно играть. Нужен баланс между "честностью", вычислительными возможностями, интеллектом игрока и трудом создателя этого конкретного ИИ.
A1*<"честностью"> + A2*<выч.возможности> + A3*<интеллект игрока> + A4*<труд создателя> = GoodAI
если GoodAI принадлежит промежутку клёвости и не выходит из него то GoodAI действительно клёвый
Здравствуйте, yeti, Вы писали:
Y>Здравствуйте, AK85, Вы писали:
AK>>Задача ИИИ — красиво проигрывать, пускай он при этом читерит Y>на минимальной сложности — пожалуй.
Подумайте еще раз. Игры в которые нельзя выиграть никто не будет играть.
Y>на максимальной, если в игре есть хоть какая-то соревновательная составляющая (счёт очков хотя бы, не говоря о сетевом режиме), должен честно выигрывать.
Смотря как понимать "честно выигрывать". Если ваш бот будет обладать только той информацей что и человек сидящий за компом, сделать более-менее грамотного игрока какого-нить Unreal Tournament очень, очень сложно. Я сомневаюсь что это вообще по силом кому-либо. Да и не мается никто такой ерундой, ИИИ обычно предоставлено гораздо больше информации, а поведение его явно прописано.
Сделать непобедимого бота гораздо проще чем сделать с трудом победимого бота, имхо.
Здравствуйте, AK85, Вы писали:
AK>>>Задача ИИИ — красиво проигрывать Y>>на минимальной сложности AK>Игры в которые нельзя выиграть никто не будет играть.
пусть эти "никто" играют на минимуме. как минимум в Q3 (в более новые FPS не играл) боты выигрывать не стеснялись. шахматы всякие опять же.
впрочем, я имел в виду не "проходить всю игру на максимальной сложности", а например потренироваться между сетевыми встречами. до полного прохождения максимальную сложность можете заблокировать.
AK>Если ваш бот будет обладать только той информацей что и человек сидящий за компом, сделать более-менее грамотного игрока какого-нить Unreal Tournament очень, очень сложно. Да и не мается никто такой ерундой.
это и печально. судя по "мается ерундой", вы — "менеджер", и игра у вас аркадная. ничего не имею против такого способа зарабатывать, но я в такое не играю. я же рассуждаю с позиции разработчика (интересно сделать) и хардкорного игрока.
AK>Сделать непобедимого бота гораздо проще чем сделать с трудом победимого бота, имхо.
для того и ограничение честностью. в крайнем случае можно и без него (ограничения), но максимальная сложность должна быть. пусть даже она будет по силам 100 людям в мире.
P.S. кстати, а можно примеры удачных реализаций "с трудом победимых"?
Здравствуйте, yeti, Вы писали:
AK>>Игры в которые нельзя выиграть никто не будет играть. Y>пусть эти "никто" играют на минимуме. как минимум в Q3 (в более новые FPS не играл) боты выигрывать не стеснялись. шахматы всякие опять же.
Мы тут рассуждаем о подходе к реализации ИИИ, сложной должна быть игра или нет — другой вопрос.
Y>для того и ограничение честностью. в крайнем случае можно и без него (ограничения), но максимальная сложность должна быть. пусть даже она будет по силам 100 людям в мире.
Так вот я о том, что в рамках "честности" реализовать достойного противника практически нереально (хочу заметить что мы говорим об играх с развитым геймплеем, всякие шашки/шахматы не в счет, там грамотность ИИ определяется глубиной перебора и количеством шаблонных ходов). К примеру моя любимая Цивилизация IV имеет 9 уровней сложности, все на что способен ИИИ можно увидеть на 5-м уровне, последние 4 отличаются количеством бонусов компам/штрафов вам. Так вот этот 5-й уровень ничего серьезного из себя не представляет, к тому же я уверен, таки использует дополнительную информацию (читерит).
Вы все еще уверены что можно написать грамотный "честный" ИИИ в реальные сроки? Дерзайте, дадите потом поиграть в ваше творение.
Здравствуйте, AK85, Вы писали:
AK>>>Игры в которые нельзя выиграть никто не будет играть. Y>>пусть эти "никто" играют на минимуме. AK>Мы тут рассуждаем о подходе к реализации ИИИ, сложной должна быть игра или нет — другой вопрос.
AK>Цивилизация IV имеет 9 уровней сложности, все на что способен ИИИ можно увидеть на 5-м уровне, последние 4 отличаются количеством бонусов компам/штрафов вам.
вот как раз бонусы к реализации ИИ отношения не имеют. в отличии от мысли о том, что поведение ИИ должно существенно зависеть от сложности (причём не только игры, но и отдельных противников, "босс" должен быть самым умным, а не самым толстым). возвращаясь к исходному вопросу, на лёгких уровнях — даёт себя перехитрить (типичные ошибки слабого игрока), на сложных — оптимальное (в т.ч. например подсказки по эффективной тактике/стратегии на данной карте — это не читерство). и всегда — реалистичное (впрочем, это, имхо, само собой получится из сочетания эффективности и честности — ибо именно так и будет играть профессионал-человек).
AK>Вы все еще уверены что можно написать грамотный "честный" ИИИ в реальные сроки?
про реальные сроки я ничего не говорил, зато в историю можно войти.
AK>Дерзайте, дадите потом поиграть в ваше творение.
"спасибо, не дождётесь" (с)
я играми не занимался и не факт что когда-нибудь буду.
Y>>P.S. кстати, а можно примеры удачных реализаций "с трудом победимых"?
B>Я в эту игру не играю, но "с трудом победимых" есть в Heroes of Might and Magic |||
А поконкретнее?
Там на уровне ниже Impossible вообще проиграть компу достаточно сложно при прочих равных.
Здравствуйте, yeti, Вы писали:
Y>про реальные сроки я ничего не говорил, зато в историю можно войти.
В том и прикол, можно потратить 10 лет на "честный" ИИИ, а можно полгода на "нечестный", но играющий не хуже первого, разницу никто не заметит. Ищите смысл.
Здравствуйте, AK85, Вы писали:
AK>В том и прикол, можно потратить 10 лет на "честный" ИИИ, а можно полгода на "нечестный", но играющий не хуже первого
если "не хуже" значит "трудно выиграть", то можно. если "интереснее играть" — то нет.
процесс лично для меня важнее.
AK>разницу никто не заметит.
Разницу заметит любой. Если одинаковые юниты у игрока умирают с одного попадания, а у компа с двух, если за одинаковое время комп построил в полтора раза бОльшую армию (бонус ресурсов), если комп немедленно нападает на новую базу, но при этом единственная его тактика — тупо посылать на смерть бесконечные отряды (что лишний раз доказывает что на армию он не своим умом заработал, ибо ума не видно), то интерес умирает напрочь.
Здравствуйте, Ball00, Вы писали: B>Какой лучше метод(или модель) для проектирования ИИИ(Игрового AI) из существующих?
Если тебя интересует, как программировать ИИ бота, то обычно используют конечные автоматы и нейронные сети. Первый вариант проще, но тогда все они будут по одной логике действовать. B>Какое лучше поведение ИИИ на Ваш взгляд: реалистичное или оптимальное?
Имитируешь реалистичное поведение нужной сложности.
Здравствуйте, Turyst, Вы писали:
T>Если тебя интересует, как программировать ИИ бота, то обычно используют конечные автоматы и нейронные сети.
Пасиб. Я думаю нейро-сети лучше, так как они затрагивают развитие. Игры в которых ИИ не развивается его трудно назвать ИИ. Конечные автоматы тоже клёвая вещь (ибо я писал транслятор С-шки и тд и тп и хорошо с ними знаком ), их правильно пользовать для мало-интеллектуальных юнитов.
Здравствуйте, Ball00, Вы писали:
B>Пасиб. Я думаю нейро-сети лучше, так как они затрагивают развитие. Игры в которых ИИ не развивается его трудно назвать ИИ. Конечные автоматы тоже клёвая вещь (ибо я писал транслятор С-шки и тд и тп и хорошо с ними знаком ), их правильно пользовать для мало-интеллектуальных юнитов.
Задача построение нейронной сети с саморазвитием будет очень высокорисковой, т.к. до сих пор не существует достаточно хорошо обоснованных методов построения подобных нейронок. Есть лишь несколько адекватных архитектур, не более. Нейронные сети активно используются в системах финансового мониторинга. Даже в России есть компания НейроПроект, занимающаяся этим.