Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / CrystalPathFinding (CPF) - экстремально быстрый и простой A*/WA* для карт на тайлах (4 стр)

CrystalPathFinding (CPF) - экстремально быстрый и простой A*/WA* для карт на тайлах (4 стр)

Поделиться

Страницы: 1 2 3 4 5 6 ... 16 ... 28 29 30 Следующая

DevilDevilПостоялецwww28 мая 201122:56#45
TarasB
а ты не можешь расстояние выводить
по рисунку пока слабо понимаю кто прав )
1 frag / 2 deathsУчастникwww29 мая 20111:07#46
DevilDevil
> по рисунку пока слабо понимаю кто прав )

У тебя вес белой равен 200, а не 1, так?
Должен быть 200.

По рисунку мой ответ верный.

DevilDevilПостоялецwww29 мая 20111:18#47
TarasB
должно быть 200
разные тесты пробовал
есть предположение что разнится на грани
поэтому лучше выводи длинну - чтобы быть более уверенным
это сложно ?
1 frag / 2 deathsУчастникwww29 мая 20111:23#48
DevilDevil
> это сложно ?

Да, это надо Дельфи запускать, файл сюда перезаливать.
Проще сравнить на доске 5х5.

DevilDevilПостоялецwww29 мая 20111:55#49
TarasB
на доске 5х5 всё ровно
МухПостоялецwww29 мая 20117:57#50
не хило ты тему почистил. И не лень было.
DevilDevilПостоялецwww29 мая 201110:52#51
Мух
старую ветку закрыли модераторы
удалил, создал новую
благодарю, что не удалили эту
DevilDevilПостоялецwww30 мая 20112:51#52
[A][R][T]
> cpf не нашел путь на этом изображении в режиме simple
Alex_M
> C этим изображением cpf проигрывает :(
Alex_M
> Ясно. Кстати, если в input_1 и input_2 поменять местами синюю и зеленую точки,
> то cpf не находит diagonal.
All

Обновил архивы. Тестовые примеры теперь ищут из синей в зелёную, а не наоборот. Cpf тоже работает из синей в зелёную. Баг исправлен, пути считаются. Правда input_4 почему-то очень долго

качать по прежнему здесь: http://devilhome.narod.ru/cpf.zip
а тесты здесь : http://devilhome.narod.ru/cpf_tests.zip

CHEAT_MODE:
cheat_mode | CrystalPathFinding (CPF) - экстремально быстрый и простой A*/WA* для карт на тайлах

STANDARD_MODE:
standard_mode | CrystalPathFinding (CPF) - экстремально быстрый и простой A*/WA* для карт на тайлах

Лично мне видно, что cpf даже в худшем случае работает в 2-5 раз быстрее. Ну и путь ищет значительно точее

ThergПостоялецwww30 мая 201112:39#53
О этот ужасный значок Дельфи 7 в заголовке окна. А еще замес английского и русского в интерфейсе как бы намекает.
Igor'Постоялецwww30 мая 201112:55#54
OldEuristic | CrystalPathFinding (CPF) - экстремально быстрый и простой A*/WA* для карт на тайлах
Вот пересобрал с старой евристикой ITALY, надо искать нормальную евристику для MP, в старой теме она была но тему снесли...
1 frag / 2 deathsУчастникwww30 мая 201113:01#55
А можешь чисто cpf-тест сделать? Без МП.

Запустил на атоме 1600.

input_1.bmp (2500x800)...
cpf. simple: 110ms(p:14038 d:14037.00), diagonal: 235ms(p:9559 d:11413.26)
MP. simple: 2531ms(p:14038 d:14037.00), diagonal: 2859ms(p:9559 d:11412.89)
PF.4:  time = 672 ms, length = 14037.00000; 8:  time = 797 ms, length = 11394.39000

input_2.bmp (2500x800)...
cpf. simple: 234ms(p:11292 d:11291.00), diagonal: 813ms(p:7635 d:9116.47)
MP. simple: 10406ms(p:11302 d:11301.00), diagonal: 12860ms(p:7681 d:9166.23)
PF.4:  time = 1282 ms, length = 11291.00000; 8:  time = 1703 ms, length = 9101.39000

input_3.bmp (2500x800)...
cpf. simple: 0ms(p:3299 d:3298.00), diagonal: 0ms(p:2500 d:2829.96)
MP. simple: 47ms(p:3299 d:3298.00), diagonal: 0ms(p:2500 d:2829.94)
PF.4:  time = 62 ms, length = 3298.00000; 8:  time = 657 ms, length = 2826.59000

input_4.bmp (2500x800)...
cpf. simple: 172ms(p:3535 d:3534.00), diagonal: 9031ms(p:2500 d:2926.88)
MP. simple: 57781ms(p:3535 d:3534.00), diagonal: 41328ms(p:2544 d:2958.44)
PF.4: time = 2235 ms, length = 3534.00000; 8:  time = 2860 ms, length = 2923.12000
У меня длина в диагонали различается из-за округления к целым.
1 frag / 2 deathsУчастникwww30 мая 201113:05#56
Для того лабиринта 5К на 5К время у моей проги такое:
Enter file name: mega.bmp
Loading...
weights...
finding path, 4 directions...
drawing path...
saving file...
complete. Total (finding+drawing) time = 22985 ms, length = 235946.00000
finding path, 8 directions...
drawing path...
saving file...
complete. Total (finding+drawing) time = 27750 ms, length = 190839.32000
Press ENTER to exit.

Чужой тест на нём обомался.

Вот сама программа (с выводом длины, проверьте на картах с весами и полупроходимостями):
PathFinder

DevilDevilПостоялецwww30 мая 201114:20#57
Therg
у тебя фобия ?
замес - это запуск из IDE CodeBlocks

Igor'
чтож вы за нелюди то такие )
а где исходники ?
это вчерашний пример ты собрал или ранее ?
(я спрашиваю потому что поменял порядок поиска. не с зелёной в синюю, а из синей в зелёную. и на input_2 к примеру MP с манхеттеном уходил в минуты)

и это
эвристика замечательная, только почему для input_2 cpf в диагонали находит путь вдвое короче ?

TarasB
на огромном битмапе cpf считал за 7 секунд на Athlon 1700

у тебя округления... а мог бы ты выложить без округления, прям в double. Просто так точнее - нужно всё-таки тот примерчик помучать. Может у меня баги. Или у тебя

>А можешь чисто cpf-тест сделать? Без МП.
в TMPTestLib есть пометки STANDARD_MODE/CHEAT_MODE. Компилируй в CHEAT_MODE - скорость будет быстрее

Правка: 30 мая 2011 14:27

Igor'Постоялецwww30 мая 201114:26#58
DevilDevil
> а где исходники ?
> это вчерашний пример ты собрал или ранее ?
Исходники в посте 52, там же брал для сборки.
DevilDevilПостоялецwww30 мая 201114:28#59
Igor'
ну дак если ты "эвристику поправил"

Страницы: 1 2 3 4 5 6 ... 16 ... 28 29 30 Следующая

/ Форум / Программирование игр / Игровая логика и ИИ

2001—2017 © GameDev.ru — Разработка игр