avx1024
Участник форума
- Регистрация
- 28 Дек 2017
- Сообщения
- 13
- Благодарности
- 43
- Баллы
- 165
Всем привет.
Играл давеча в g2(в2+аб) и что-то стало мне грустно от того что мобы тупые. Заманиваешь его к уступу, чтобы свалился или залезаешь сам и безнаказанно расстреливаешь. Нет конечно это абузы и все дела и их можно не юзать, но текущая система построения маршрутов, как я понял, работает по схеме: "прямой путь из точки А(моб) к точке Б(ГГ/моб)" и сильно страдает от отсутствия какой-либо интеллектуальности.
У меня возник вопрос, а как можно ее улучшить ? Тем более сейчас, когда появился Аст и Юнион, хукать можно все или почти все вызовы в движке и буквально 1 строчкой кода. После гугления на тему ИИ для построения маршрутов, чтения форума и исходников Регота я (на текущем уровне понимания) вижу 2 способа улучшить положение вещей:
Общее решение:
1. Построение навигационного меша из меша локации и вобов.
2. Построение путей на навигационном меше с помощью A* и его вариаций.
3. Доработка логики контроллера построения путей, для сглаживания пути и учета преодоления препятствий(запрыгнуть/облететь/переплыть/спрыгнуть и т.д.)
Решение это довольно трудозатратное, зато результат(в теории) должен быть очень неплохим.
Локальное решение(как в Реготе):
1. Трассировка, для определения можно ли пройти по прямой к целевой точке.
2. Если нельзя, то ищутся 2 ближайших вейпоинта к отправной и конечной точке (к которым можно пройти по прямой) и через алг. поиска пути на графе(Дейкстра или тот же A*) строится маршрут по которому моб и пускается.
3. Естественно нужно будет доработать контроллер, т.к. ГГ или другие мобы двигаются и пути нужно перестраивать.
Решение проще 1, т.к. есть готовые наработки, правда есть и открытые вопросы, ведь Регот написан с 0 и самостоятельно, а есть ли нужный функционал для трассировки(определения колиизий) в движке Г2, х его з.
Интересно мнение сведущих людей. Какие пути решения проблемы с построением путей они видят и есть ли какие-либо наработки по этой теме ?
Я так понимаю какие-то работы в этой области велись, т.к. Gratt выкладывал видео на эту тему(еще во времена AST):
Но почему-то работы не были продолжены.
Играл давеча в g2(в2+аб) и что-то стало мне грустно от того что мобы тупые. Заманиваешь его к уступу, чтобы свалился или залезаешь сам и безнаказанно расстреливаешь. Нет конечно это абузы и все дела и их можно не юзать, но текущая система построения маршрутов, как я понял, работает по схеме: "прямой путь из точки А(моб) к точке Б(ГГ/моб)" и сильно страдает от отсутствия какой-либо интеллектуальности.
У меня возник вопрос, а как можно ее улучшить ? Тем более сейчас, когда появился Аст и Юнион, хукать можно все или почти все вызовы в движке и буквально 1 строчкой кода. После гугления на тему ИИ для построения маршрутов, чтения форума и исходников Регота я (на текущем уровне понимания) вижу 2 способа улучшить положение вещей:
Общее решение:
1. Построение навигационного меша из меша локации и вобов.
2. Построение путей на навигационном меше с помощью A* и его вариаций.
3. Доработка логики контроллера построения путей, для сглаживания пути и учета преодоления препятствий(запрыгнуть/облететь/переплыть/спрыгнуть и т.д.)
Решение это довольно трудозатратное, зато результат(в теории) должен быть очень неплохим.
Локальное решение(как в Реготе):
1. Трассировка, для определения можно ли пройти по прямой к целевой точке.
2. Если нельзя, то ищутся 2 ближайших вейпоинта к отправной и конечной точке (к которым можно пройти по прямой) и через алг. поиска пути на графе(Дейкстра или тот же A*) строится маршрут по которому моб и пускается.
3. Естественно нужно будет доработать контроллер, т.к. ГГ или другие мобы двигаются и пути нужно перестраивать.
Решение проще 1, т.к. есть готовые наработки, правда есть и открытые вопросы, ведь Регот написан с 0 и самостоятельно, а есть ли нужный функционал для трассировки(определения колиизий) в движке Г2, х его з.
Интересно мнение сведущих людей. Какие пути решения проблемы с построением путей они видят и есть ли какие-либо наработки по этой теме ?
Я так понимаю какие-то работы в этой области велись, т.к. Gratt выкладывал видео на эту тему(еще во времена AST):
Но почему-то работы не были продолжены.