NavY
Не надо воспринимать в штыки. Может я чего не так понял - но вообще чем больше знаний (статей) тем лучше
(
Подправил пунктуацию...
Grettir
Прошу прощения, если это выглядело строго "в штыки" :(
Я ценю критику - потому и пытаюсь сразу найти слабое место либо в своих рассуждения, либо в рассуждениях оппонента. Для того и вступаю в спор.
Ничего не имел против Вас. Извините, если был слишком категоричен.
Спасибо. Хорошая статья.
Спасибо, буду использовать :)
Статья интересная, но оставляет много вопросов. Ладно, будем изучать.
Сам я использовал ветвление и генератор случайных чисел (унылая хрень). Need For Speed - типичный пример ветвления, кстати. Для аркад самое то :)
Но на будущее задумывался о таблице "качеств" ботов таких как "трусость", "агрессивность" из которых будут генерироваться параметры для таблицы с первой страницы "атаковать" или "спрятаться". Моральные качества расставляем заранее и смотрим, как продырявив бошку одному из трех врагов, мы видим, как один из них принялся в нас стрелять, а другой забился в угол ) Или кинув гранату, мы находим в укрытии трусливого врага, который вообще не получил повреждений :)
Все-таки состояние афекта у всех людей бывает разное, и живому человеку в этот момент никогда не приходит в голову расчитывать вероятность, как в преферансе, какие карты скинул игрок, а просто действовать - стрелять или спасаться :D При этом можно добавлять различный разлет пуль или и вовсе панические выстрелы в воздух, дабы отпугнуть игрока.
Кто-то тут начнет говорить, что главное для шутера - развитие навыков стрельбы и достойный отпор игроку, из-за чего модель поведения всегда равна "спецназовцу". Но ведь есть еще и фактор неожиданности, которого мы лишаем бота за счет прямолинейной логики. А может, бот не хочет умирать, потому что еще не написал свой самый лучший рассказ? Жена и дети, наконец? К тому же контуженный враг, не имея возможности убежать, однажды объединится с другими ботами и снова ринется в бой, либо очухавшись, кинется из-за угла с саперной лопатой и одержит-таки верх )
Еще, во время чтения статьи, мне пришла в голову мысль ставить на место игрока виртуального бота, который будет думать, что сделать, и при выпадании игрока из поля зрения, бежать за этим самым ботом. Как только игрок становится виден, мы убираем бота. Таким образом реализуется модель поведения "судить по себе". Опять же расчет вероятностей не нужен, так как для бота нет совершенно никакой разницы между комнатами, куда следует лучше всего побежать. Разве что, желая опередить игрока, он побежит в помещение, в которое выходит больше всего коридоров.
Может, я просто плохо понял технологию Марковских цепей и ее пользу, но, как я уже написал выше, будем изучать )
Что-то этот пример с дракошкой мне смутно напоминает. Поскольку программированием я серьезно увлекся в конце 2001 года, то скорее всего был описан косяк из Baldur Gate 1 или 2. И статью подобного плана я когда-то читал. Еще помню - удивился тому, что все так сложно и даже неслабо взгрустнулось слегка. Сейчас тоже подумываю, а не сваять ли мне в домашних условиях варгейм в качестве "унылого долгостроя"? Читаю АИ и практически везде идет описание подобного процесса. Сегодня засяду за Panzer Corps - смотреть как оно там, на практике выглядит.
Для чего это пишу - побольше бы таких статей.
Большое спасибо!
вероятности перехода из одного в другое за N шагов можно найти возведением матрицы в степень N
т.е. в случае трех выстрелов, возводим матрицу в третью степень. ячейки будут показывать вероятности переходов при трех выстрелах.
хорошая статья, спасибо
весьма интересно изложено) спасибо за статью)
Спасибо за вашу статью!
Надо картинки переделать чтобы в тёмной теме нормально отображалось.
cin2.0
Надо картинки переделать чтобы в тёмной теме нормально отображалось.
Не факт.
Светлым и светлые подходят.
Автор молодец, хотя и передрал.
Ну какая разница, как информация поступила?
Лишь бы напользу!