Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > Библиотеки

Библиотеки Сторонние библиотеки для Blitz

Ответ
 
Опции темы
Старый 28.06.2007, 00:38   #1
Черный крыс
 
Сообщений: n/a
Wave.dll - Волновой алгоритм поиска пути.

Вобсчем написал волновичокк....просьба потэстить на работоспособность. Версия библиотеки пока еще очень сырая....так что особо не ругать.....Также принимаюцца предложения по улучшению данной библиотеки.
В аттаче :
- DLL.
- DECLS.
- Руководство пользователя на русском.
- Пример использования.
Качать здесь (30 кб - Версия 0.3 ) :
http://ffa.ucoz.ru/Wave_beta.rar
 
Ответить с цитированием
Старый 28.06.2007, 06:36   #2
Xander
Оператор ЭВМ
 
Регистрация: 29.05.2007
Сообщений: 46
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

Было бы клево, ОЧЕНЬ клево:

Wave_SetPersPos(id%, x%, y%) - cделать такое же для Wall. Вдруг у меня там дверь или какой-либо перемещающийся обьект?!

Далее... ввести 3-ю координату Z (для 3-д приложений).

ВВести размеры X-YMap более 127 (например 500-600)

Все! И цены тебе бы небыло!!!
(Offline)
 
Ответить с цитированием
Старый 28.06.2007, 07:51   #3
jimon
 
Сообщений: n/a
Re: Wave.dll - Волновой алгоритм поиска пути.

Xander
если при таких условиях оно еще не будет тормозить
то тогда действительно цены бы ему небыло
 
Ответить с цитированием
Старый 28.06.2007, 08:12   #4
Xander
Оператор ЭВМ
 
Регистрация: 29.05.2007
Сообщений: 46
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

2 jimon: Главное чтобы эти параметры были. Тормоза будут покрыты тем что будет 3 координаты и больший размер карты. (кто не захочет тот не будет юзать!)
(Offline)
 
Ответить с цитированием
Старый 28.06.2007, 17:05   #5
HolyDel
 
Регистрация: 25.09.2006
Сообщений: 6,030
Написано 1,469 полезных сообщений
(для 2,690 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

600*600*600 = =-O
(Offline)
 
Ответить с цитированием
Старый 28.06.2007, 17:43   #6
jimon
 
Сообщений: n/a
Re: Wave.dll - Волновой алгоритм поиска пути.

HolyDel
угу, волновой алгоритм не предзначен для такого
для такого вообще ничего из "простых алгоритмов" не предназначено
 
Ответить с цитированием
Старый 28.06.2007, 21:24   #7
HolyDel
 
Регистрация: 25.09.2006
Сообщений: 6,030
Написано 1,469 полезных сообщений
(для 2,690 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

начнем хотябы с массива под ету хрень.
допустим 32битный 3х мерный массив. по 600 в каждом измерении. скока он займет памяти?
правильно: 600*600*600*4 = 823,974609375 метра. Не, мне конечно не жалко, но ето тока цветочки. Настоящее начинается при вычислении пути, предположим из одного угла в другой.
(Offline)
 
Ответить с цитированием
Старый 28.06.2007, 21:42   #8
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

Помню в универе на 4 курси по системам Искуственого Интелекта мы писали игру типа танчики каторые искали путь в лаберинте, так вот я использовал волновой алгоритм поиска пути. лаберинт был не больно 20 на 20 вроде так он оказался тормозной... вот тут алгоритм А* там в тексте есть линк на примеры и либы на Blitz написаные http://www.policyalmanac.org/games/a...torial_rus.htm
(Offline)
 
Ответить с цитированием
Старый 28.06.2007, 23:23   #9
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

Интересно, а как вы его запустили? У меня error!
(Offline)
 
Ответить с цитированием
Старый 28.06.2007, 23:48   #10
Черный крыс
 
Сообщений: n/a
Re: Wave.dll - Волновой алгоритм поиска пути.

to Xander.
1)А в чем проблемма? если тебе нужно переместить Ящик на поле - очищай ячейку откуда ящик передвигается (Wave_DeleteWall) и вставляй стену в ячейку куда ящик должен передвинуться (Wave_AddWall), предварительно проверив не стоит ли в этой ячейке кто (Wave_CheckNodePers).
А команда о которой ты сказал, у нее смысл гораздо глубже чем ты думаешь - она не тока меняет значения в основном массиве....тама еще паралельно производятся изменения в массиве "Персов".

2) =O-0
А как ты себе это представляешь? Путь вседга ищется в 2Д.....третья ось тока схавает лишних ресурсов....и легче от этого не станет.

3) Даже максимум - 127 для волновичка это уже много. Ты погоди, доделаю эту либу - возьмусь за АСтар! Вот тама будет где разгуляться фантазии! Хоть тыщу ставь!

To WaReZ_MEN - значит у тебя волновичок реализован криво.... у меня на функцию Wave_FindPathFast() - ушло 59 строк кода...... и тесты показали что на поле 100*100 время на поиск пути уходит от 9 до 12 миллисекунд....это если старт находиться в одном углу, а финиш - в другом. если растояние до финиша меньше там уже просчет этой команды - не чувствуется (от 0 до 5 мс).
 
Ответить с цитированием
Старый 29.06.2007, 06:30   #11
Xander
Оператор ЭВМ
 
Регистрация: 29.05.2007
Сообщений: 46
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

2 Diablo1909:

Ок, по первому пункту ты прав!

Насчет размера есть вопрос-предложение. Возможно ли сделать чтобы задавалось большее поле, но я мог устанавливать поиск пути в определенные пределы. Тоесть например поле у меня размера 600х600, а указано искать в педелах 125, от начала точки поиска до конца.

Также встречный вопрос - как в 3Д искать путь с помощью твоей библы? например на терайне мне надо найти точку... Координата Y-высота... Z - глубина. X-длинна. Вроде правильно написал.
(Offline)
 
Ответить с цитированием
Старый 29.06.2007, 07:01   #12
Черный крыс
 
Сообщений: n/a
Re: Wave.dll - Волновой алгоритм поиска пути.

To Xander
- Так это можно реализовать самому. Сначала вытаскиваешь координаты перса командами Wave_GetStepNodeX( id, чтобы получить Х перса - здесь обязательно ставь 0 !!! ) также и с Y. Затем вычисляй dis=sqr(x1-x2)^2-sqr(y1-y2)^2 - где x2 и y2 - это точка назначения. dis = это и будет расстояние до нужной тебе точки. Если она меньше некоего предела то ищи путь, если больше - уменьш x2 и y2. Волновой алгоритм не будет просчитывать все поле, он сам остановится если найдет целевую точку. В принципе можно поставить и побольше, максимум поставлю X\Y=1000.

В 3Д ищется путь также как и в 2Д. А насчет высоты гор и стен и так далее - то это уже забота программистов и гейм-дизайнеров. =)))

Ок. Седня вечером будет большой апдэйт. =)))
 
Ответить с цитированием
Старый 29.06.2007, 10:39   #13
Xander
Оператор ЭВМ
 
Регистрация: 29.05.2007
Сообщений: 46
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

Люди обьясните плиз, как найти 3Д путь с помощью двух координат х и у? С помощью этой библы.
(Offline)
 
Ответить с цитированием
Старый 30.06.2007, 12:42   #14
Черный крыс
 
Сообщений: n/a
Re: Wave.dll - Волновой алгоритм поиска пути.

http://www.dtf.ru/articles/read.php?id=46788
 
Ответить с цитированием
Старый 04.07.2007, 09:15   #15
Xander
Оператор ЭВМ
 
Регистрация: 29.05.2007
Сообщений: 46
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Wave.dll - Волновой алгоритм поиска пути.

Сообщение от Diablo1909
Седня вечером будет большой апдэйт. =)))
м-м-м-м...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритм поиска пути ии mifos JAVA Micro Edition 10 12.07.2011 13:34
Волновой алгоритм, помогите Putin 2D-программирование 2 04.02.2009 10:21
А* - самый эффективный алгоритм поиска пути. Черный крыс Библиотеки 4 31.03.2008 10:47
Пути elmortem 2D-программирование 11 30.08.2007 08:18
Алгоритмы поиска impersonalis C++ 0 18.09.2005 14:51


Часовой пояс GMT +1, время: 10:11.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com