Пишу 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
|
|
| |