Пилю A*, 2D и 3D Tile Map Editor

Проекты в стадии разработки.

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение bwolf88 21 май 2015, 13:00

getAlex писал(а):Проведи тест -сделай ботам разную скорость и разную сигнатуру, как во всех стратегиях. А ещё будут проблемы с туманом войны. Если преграды представить в виде деревьев, то в тумане войны кто-то мог вырубить пару деревьев, изменив маршрут, но вражеский юнит об этом не должен знать т.к. он не видит закрытые участки карты.


Что значит разную сигнатуру ? размеры разные ботам задать ? Скорость уже задается рандомно от 2 до 5.
На счет не видит препятсвия - я как то не замечал чтобы боты в старкарфте или варкрафте терялись на поле боя, если им указать точку где нб в тумане войны и она была проходима.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение getAlex 21 май 2015, 14:34

Сигнатура -поперечное сечение капсулы в 3д или площадь, образованная радиусом относительно центра юнита в 2д. Если будет так угодно -2д киркле коллайдер.
Размер юнита всегда можно было менять отдельно от его сигнатуры
getAlex
Адепт
 
Сообщения: 1775
Зарегистрирован: 10 авг 2013, 18:30

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Allods 12 апр 2016, 00:35

А как вы проверяете клетки в tile map editor ? Пытаюсь сделать что то похожее но никак не могу догнать, как проверять и исходя из проверки, на какой тайл заменить .
Allods
UNец
 
Сообщения: 5
Зарегистрирован: 12 апр 2016, 00:31

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение bwolf88 12 апр 2016, 00:39

Allods писал(а):А как вы проверяете клетки в tile map editor ? Пытаюсь сделать что то похожее но никак не могу догнать, как проверять и исходя из проверки, на какой тайл заменить .

Подробнее опишите что вы не можете заменить ? Сделать автоподстановку нужного тайла одного типа или просто заменить один тип тайла на другой ?
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Allods 12 апр 2016, 00:42

Сделать автоподстановку нужного тайла одного типа . У меня более простой эдитор в итоге должен получиться, только земля, трава да вода. Какой алгоритм проверки тайлов вокруг измененного тайла
Allods
UNец
 
Сообщения: 5
Зарегистрирован: 12 апр 2016, 00:31

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение bwolf88 12 апр 2016, 01:03

Простая проверка на рядомстоящие тайлы.
При классическом тайлинге у вас 16 вариантов подстановки. Вообще, если шарите в битовых операциях для примера можете глянуть моего тестового недопакмана, там реализована распаковка тайловой карты стен с похожей проверкой https://github.com/LuchunPen/PacMan-Unity/tree/master/Assets/Scripts/MapVisualizer
конкретно классы TEDouble16 - контейнер для тайлов и SpriteMapVisualizer.GetTile распаковщик стен.
Если не разберетесь попробую объяснить на пальцах.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Allods 14 апр 2016, 12:19

Я кидаю рейкасты вокруг тайла который меняю. Сверяю по именам и заменяю соответственно. Вообще у меня префабы , я не смещаю uv координаты.
Что значит обычная проверка ? Я просто не знаю как лучше всего к этому подойти.
Allods
UNец
 
Сообщения: 5
Зарегистрирован: 12 апр 2016, 00:31

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение bwolf88 14 апр 2016, 12:55

Allods писал(а):Я кидаю рейкасты вокруг тайла который меняю. Сверяю по именам и заменяю соответственно. Вообще у меня префабы , я не смещаю uv координаты. значит обычная проверка ? Я просто не знаю как лучше всего к этому подойти.

Какие рейкасты, у вас логическая сетка должна быть. Я же вам ссылку кинул, посмотрите как устроено там построение карты по сетке - все достаточно просто. В каждой ячейке записан тип тайла, например земля/воздух. В зависимости от разницы соседних типов меняется подбираемый кусочек. Если мне не изменяет память в том проекте я поделил тайлы стены на спрайты (специально, чтобы не задействовать меш систему) и подставлял их в виде объектов.

Первоначальный вариант такого тайлинга у меня был на 200+ строк со всеми возможными вариантами проверок - это был как раз тот редактор, что в треде. С помощью битовых операций я сократил его до ~20 строк. Скачайте проект и посмотрите наглядно.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Allods 14 апр 2016, 13:03

Просто я не хотел делать сетку, но да зря, скачал смотрю пакмана. Спасибо за линк и за ответы

PS вы продолжаете работу над тайл мап эдитором ?
Allods
UNец
 
Сообщения: 5
Зарегистрирован: 12 апр 2016, 00:31

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение bwolf88 14 апр 2016, 13:11

Нет, на тот момент я врятли смог бы довести его до завершенного состояния, а если бы и смог - вышло бы чудовище.
А сейчас он уже никому не нужен, а на ассет сторе полно подобных редакторов.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Allods 14 апр 2016, 13:40

Подобных видел только 1. И тот корявый. Другие тайл эдиторы не заменяют автоматически вокруг стоящие тайлы, а только указанный. Жалко, выглядит все красиво.
Вы все таки закончили саму систему постановки тайлов , все работает. Про не завершенное я так полагаю вы имеете в виду А* замки ,героев, ресурсы и прочее.
Allods
UNец
 
Сообщения: 5
Зарегистрирован: 12 апр 2016, 00:31

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение bwolf88 14 апр 2016, 14:14

Вы все таки закончили саму систему постановки тайлов , все работает. Про не завершенное я так полагаю вы имеете в виду А* замки ,героев, ресурсы и прочее.

Почему, это все там уже было, и поиск пути и расстановка объектов. Ресурсы, герои и остальное отличается только набором параметров и размерами и в рамках сеточной карты не имеет значения что находится в клетке. В последних видео я расставлял деревья и горы разных клеточных размеров - это были объекты. Я не закончил, потому что на тот момент это было неподдерживаемое, нерасширяемое чудовище, хотя рабочее :D, а навыка чтоб сделать красиво на тот момент не хватало.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Masancho 02 май 2016, 16:28

bwolf88 писал(а):Простая проверка на рядомстоящие тайлы.
При классическом тайлинге у вас 16 вариантов подстановки. Вообще, если шарите в битовых операциях для примера можете глянуть моего тестового недопакмана, там реализована распаковка тайловой карты стен с похожей проверкой https://github.com/LuchunPen/PacMan-Unity/tree/master/Assets/Scripts/MapVisualizer
конкретно классы TEDouble16 - контейнер для тайлов и SpriteMapVisualizer.GetTile распаковщик стен.
Если не разберетесь попробую объяснить на пальцах.


На том сайте можно отдельные файлы скриптов посмотреть или как-то можно весь проект скачать (что-то я не разобрался)?
Masancho
UNIт
 
Сообщения: 51
Зарегистрирован: 05 мар 2016, 12:14

Re: Пилю A*, 2D и 3D Tile Map Editor

Сообщение Diab10 02 май 2016, 18:00

Masancho писал(а):На том сайте можно отдельные файлы скриптов посмотреть или как-то можно весь проект скачать (что-то я не разобрался)?

http://joxi.ru/Bv29yboTOD872G
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Пилю A*

Сообщение Masancho 03 май 2016, 08:06

Скрытый текст:
bwolf88 писал(а):Сегодня попытался ускорить алгоритм, провозился с двусвязными списками, чтобы вообще убрать все переборы и ничего не добился, точнее по скорости в 3 раза быстрее, но путь не совсем красивый. Потом на бумажке все расписал, по логике не получается сделать умную вставку в список, чтобы не приходилось прогонять его на поиск минимального значения, как не пытался. Так что на сегодняшний день это почти предел моей оптимизации. Пока что забил с этим, зато сделал первичную поддержку юнитов не единичных размеров. Размеры юнита задаются изначально обычными переменными и исходя и них автоматически определяется проходимость коридора. На видео первичный тест: кроме юнитов единичных размеров есть 2х1, 2х2, 3х3. У каждого получается своя зона проходимости, которая считается автоматом при построении пути. На производительности это вроди не очень сильно сказывается. ТАк что теперь можно делать игру с гигантскими юнитами (derp)
Это первый пробный тест, еще не до конца реализовано определение динамических препятствий. На видео бот 3х3 при появлении препятствия немного проходит в него, затем перестраивает путь как нужно.

PS: внизу глюк, из за записывающей проги.
Добавлено: сейчас еще раз посмотрел, для юнитов с одной единичной координатой (2х1 или 1х2 например) почему то не правильно коридор строит. Буду разбираться.
Добавлено: все, теперь все работает, как обычно моя невнимательность, с 3 утра сижу @-).



На 3 странице обсуждений показано как автор реализовал ИИ с разным размером агентов. У Вас в итоге получилось нечто похожее на НавМешАгент (они ведь обходят коллайдеры соседей)? К чему я это спрашиваю, в документации сказано, что навмеш использует А-Стар, вот думаю на чем для себя остановиться.
Masancho
UNIт
 
Сообщения: 51
Зарегистрирован: 05 мар 2016, 12:14

Пред.След.

Вернуться в Кузня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3