| 
				
				Пишу AI. Кто хочет присоеденяйтесь
				 | 
 | 
| Povstalez | Дата: Суббота, 08 Марта 2014, 19:07 | Сообщение # 1 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Здравствуйте,   Заинтересовала такая тема как AI. Делаю уклон на стелс. Начал делать сегодня и уже есть:   1. Патруль по заданному пути.   2. Если бот видит игрока - начинает его преследовать.   3. Если бот преследуют игрока и перестает его видеть - он проверяет последнее место где видел игрока.   4. Если бот не обнаруживает игрока в последнем месте - бот продолжает патрулировать. 
   Кому интересна эта тема и хочет взять участие в коллективном написании - прошу в ЛС или же скайп haker954.
 |  
| 
 | 
 |    | 
| DantorS | Дата: Суббота, 08 Марта 2014, 20:37 | Сообщение # 2 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | С 4 пунктом у тебя может возникнуть проблема. Вообще незнаю. Ты знаешь (чисто теоритечески) алгорим того, как в играх: если бот обнаружил игрока, но тот скрылся, то бот начинает исследовать территорию (буквально ищет за каждым углом)? В какую сторону он должен направляться (от последней известной позиции)? Это же по сути random
 
 Сообщение отредактировал DantorS - Суббота, 08 Марта 2014, 20:37  |  
| 
 | 
 |    | 
| EchoIT | Дата: Суббота, 08 Марта 2014, 20:57 | Сообщение # 3 |  
 
старожил 
Сейчас нет на сайте 
 
 | Вообще всё это лучше делать на NavMesh (тьфу-тьфу) или на собственном аналоге поиска пути, тогда всё будет гораздо проще. А вайпоинты - это прошлый век.
  Долгожданный анонсик: State of War
 |  
| 
 | 
 |    | 
| Labirintik | Дата: Суббота, 08 Марта 2014, 20:58 | Сообщение # 4 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Цитата Povstalez (  )  уже есть:      Цитата DantorS (  )  С 4 пунктом у тебя может возникнуть проблема.   
 |  
| 
 | 
 |    | 
| buftler | Дата: Суббота, 08 Марта 2014, 21:19 | Сообщение # 5 |  
 
Добряк 
Сейчас нет на сайте 
 
 | в чем проблема написать самому? navmesh'+ raycast, дело на 2-3 часа
 |  
| 
 | 
 |    | 
| Sanchez06 | Дата: Суббота, 08 Марта 2014, 21:34 | Сообщение # 6 |  
| 
 участник 
Сейчас нет на сайте 
 
 | Ну добавь звук у патрулей, мол, если патруль что-то слышит, то поворачивается в сторону шума, или идет в тот участок пути, который ближе всего к источнику звука. Программно вряд ли смогу реализовать (не очень силен в юнити, буквально только скачал), но какой-никакой псевдокод под это написать смогу.
 |  
| 
 | 
 |    | 
| Povstalez | Дата: Суббота, 08 Марта 2014, 21:58 | Сообщение # 7 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Цитата DantorS (  )  С 4 пунктом у тебя может возникнуть проблема.     Проблем нету. Уже реализовано. 
   Цитата Sanchez06 (  )  Ну добавь звук у патрулей, мол, если патруль что-то слышит, то поворачивается в сторону шума, или идет в тот участок пути, который ближе всего к источнику звука.     также была такая идея. Даже в 1 проекте была мной реализована. 
   Цитата buftler (  )  в чем проблема написать самому?     Проблем нету писать одному. Вполне смогу написать и один. Просто решил помочь новичкам или же сделать группой. Думаю скилл в этом направлении никому не помешает.
 |  
| 
 | 
 |    | 
| DantorS | Дата: Суббота, 08 Марта 2014, 22:55 | Сообщение # 8 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | Цитата DantorS (  )  Ты знаешь (чисто теоритечески) алгорим того, как в играх: если бот обнаружил игрока, но тот скрылся, то бот начинает исследовать территорию (буквально ищет за каждым углом)? В какую сторону он должен направляться (от последней известной позиции)? Это же по сути random      Всю таки можешь ответить на мой вопрос. Можешь объяснить алгоритм. Не понимаю как это реализовывается в играх.
 |  
| 
 | 
 |    | 
| Povstalez | Дата: Суббота, 08 Марта 2014, 23:00 | Сообщение # 9 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Цитата DantorS (  )  Всю таки можешь ответить на мой вопрос. Можешь объяснить алгоритм. Не понимаю как это реализовывается в играх.     если же чисто по комнате обыскивать - думаю в комнате должны присутствовать вейпоинты (или же точки, которые бот должен проверить). Бот находит эти точки и идет в направлении каждой из точек. Если на пути попадается игрок - преследование.
 |  
| 
 | 
 |    | 
| Sanchez06 | Дата: Суббота, 08 Марта 2014, 23:07 | Сообщение # 10 |  
| 
 участник 
Сейчас нет на сайте 
 
 | Цитата DantorS (  )  Всю таки можешь ответить на мой вопрос. Можешь объяснить алгоритм. Не понимаю как это реализовывается в играх.     Я бы попробывал это реализовать так - когда игрока видят, у моба записываются координаты каждый тик\обновление. Как только игрок выходит из зоны видимости - последняя оставшаяся координата и есть та, где нужно проверять.
 |  
| 
 | 
 |    | 
| DantorS | Дата: Суббота, 08 Марта 2014, 23:09 | Сообщение # 11 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | Бот преследовал-преследовал игрока движущего вправо. Потерял из вида. Столкнулся с вейпоинтом. И судя по твоему алгоритму бот идет уже в другую сторону от игрока. Или как ты определяешь в какую сторону идти? Или как например в Splinter cell conviction боты обходят стены,здания со вех четырех сторон.(что и значит просматривают каждый угол)
 |  
| 
 | 
 |    | 
| CyberGraph | Дата: Суббота, 08 Марта 2014, 23:09 | Сообщение # 12 |  
| 
 почетный гость 
Сейчас нет на сайте 
 
 | Пхахха ! я уже сделал эту систему на днях для научной конференции скажу тебе лишь одно ничего сложного нету
  Вакансия
 |  
| 
 | 
 |    | 
| DantorS | Дата: Суббота, 08 Марта 2014, 23:16 | Сообщение # 13 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | А если сделать что-то по типу триггера: последняя известная позиция = центр триггера. Когда все объекты бот обнаружил (за произвольные промежутки времени) создается следущий триггер, где нижняя грань второго триггера граничит с высшей гранью первого триггера? Добавлено (08.03.2014, 23:15) ---------------------------------------------
  Цитата CyberGraph (  )  Пхахха ! я уже сделал эту систему на днях для научной конференции скажу тебе лишь одно ничего сложного нету      Я не говорил что это сложно. Я сказал такая система не подходит для алгоритма Povstalez-аДобавлено (08.03.2014, 23:16) ---------------------------------------------
  Цитата DantorS (  )  А если сделать что-то по типу триггера: последняя известная позиция = центр триггера. Когда все объекты бот обнаружил (за произвольные промежутки времени) создается следущий триггер, где нижняя грань второго триггера граничит с высшей гранью первого триггера?     Но как создать взаимосвязанное построение триггеров
 |  
| 
 | 
 |    | 
| Sanchez06 | Дата: Суббота, 08 Марта 2014, 23:21 | Сообщение # 14 |  
| 
 участник 
Сейчас нет на сайте 
 
 | Думаю, можно сделать так - помечать те вейпоинты, которые боты уже прошли. Создать точки входа у вейпоинтов, чтобы боты выбирали ближайшую и заходили с нее (тогда они будут обходить здание) и поиск пути будет искать путь до ближайшей комнаты, после посещения которой необходимо стереть этот вейпоинт, или как-нибудь заблокировать.
 |  
| 
 | 
 |    | 
| DantorS | Дата: Суббота, 08 Марта 2014, 23:25 | Сообщение # 15 |  
 
заслуженный участник 
Сейчас нет на сайте 
 
 | Хороший вариант
 |  
| 
 | 
 |    | 
| beril | Дата: Воскресенье, 09 Марта 2014, 00:17 | Сообщение # 16 |  
 
Я не ленивый, я — энергосберегающий 
Сейчас нет на сайте 
 
 | Покажи пример !!!
 
         Накодил? Убери за собой!   Инвентарь в Unity(UI)   Инвентарь в Unity(GUI) 
 |  
| 
 | 
 |    | 
| Xfi | Дата: Воскресенье, 09 Марта 2014, 01:28 | Сообщение # 17 |  
 
был не раз 
Сейчас нет на сайте 
 
 | Povstalez, м-может просто выложить проект на github?
 |  
| 
 | 
 |    | 
| IlyaKos | Дата: Воскресенье, 09 Марта 2014, 03:01 | Сообщение # 18 |  
| 
 участник 
Сейчас нет на сайте 
 
 | Да ИИ хороший написать вообще проблем не составляет.
 |  
| 
 | 
 |    | 
| Sanchez06 | Дата: Понедельник, 10 Марта 2014, 17:53 | Сообщение # 19 |  
| 
 участник 
Сейчас нет на сайте 
 
 | Ну что, как там? Выложи пожалуйста то, что есть - интересно посмотреть.
 |  
| 
 | 
 |    | 
| Povstalez | Дата: Понедельник, 10 Марта 2014, 20:30 | Сообщение # 20 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Пока что вот:   https://github.com/Povstalez/AI
 |  
| 
 | 
 |    |