|
Библиотеки Сторонние библиотеки для Blitz |
23.05.2006, 14:12
|
#1
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Доброе время суток, господа, дамы и товарищи!
Презентую Вам на суд свою новую разработку: алгоритм поиска пути DExeik, воплощенный тэк-скээть в бетаверсию подключаемой к Блицу ДЛЛ-библиотеки.
Тестите, рецензируйте и юзайте на здоров!
Сообщите мне, пожалуйста, о всех багах, глюках, крешах и катастрофах, возникших при работе с библиотекой, а также о своих идеях по их- библиотеки или даже самого алгоритма- улучшению. Буду просто дико рад такой поддержке.
____________
Архив удален. Обновления см. ниже.
|
(Offline)
|
|
23.05.2006, 14:25
|
#2
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Учитесь как надо делать демки-тесты. Всё работает.
Только вот у меня не всегда удалялись меши-вейпоинты маршрута бота
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
23.05.2006, 18:48
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Неплохо
А можно в библиотеку добавить еще упрощенный алгоритм передвижения в четырех направлениях (исключить передвижение по диагоналям)?
Нашел один глюк: при попытке направить игрока в мертвую зону несколько раз, игрок бежит к неизчезнувшим кубикам прямо через стены и идет по ранее пройденному пути, который не исчез.
|
(Offline)
|
|
24.05.2006, 20:11
|
#4
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
А можно в библиотеку добавить еще упрощенный алгоритм передвижения в четырех направлениях (исключить передвижение по диагоналям)?
|
Done!
Нашел один глюк: при попытке направить игрока в мертвую зону несколько раз, игрок бежит к неизчезнувшим кубикам прямо через стены и идет по ранее пройденному пути, который не исчез.
|
Fixed!
Спасибо за помощь!
Обновление качать там же.
|
(Offline)
|
|
24.05.2006, 22:47
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Работает . Респект за библиотеку!
А можно эту библиотеку потом в Bombers3D использовать?...
Вобщем есть пожелание: заменить функции ExeikSetMap%(X%,Z%,Value%) и ExeikFillMapBank%(Bank*) на ExeikSetMapBank%(Bank*). В этом случае по мойму не будет ограничений в размере карты... хотя незнаю (честно пока незнаю как с банками работать не в блитце...) Если не трудно, то в двух словах объясни как он в памяти организован (банк)... буду очень признателен
|
(Offline)
|
|
24.05.2006, 23:02
|
#6
|
|
прикольно
алгоритм мне вроде как понятен но иногда его колбасит
|
|
|
24.05.2006, 23:19
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Странный баг: игрок останавливается в тунеле недойдя до конца пути... да... в примере все еще остаются вейпоинты при направлении на новое место...
|
(Offline)
|
|
25.05.2006, 00:14
|
#8
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
А можно эту библиотеку потом в Bombers3D использовать?...
|
Можно конечно! Для чего ж я ёё и выкладывал!
Только лицензии на Пурик у меня нет (пока нет), так что если решишь продать игру- как-то ночью могут приехать на черном "воронке".
Впрочем, возможно ли отличить либу на платном Пурике от либы на бесплатном ДевС- доподлинно неизвестно.
заменить функции ExeikSetMap%(X%,Z%,Value%) и ExeikFillMapBank%(Bank*) на ExeikSetMapBank%(Bank*). В этом случае по мойму не будет ограничений в размере карты...
|
Нет, ограничение по размерам от этих ф-й не зависит: они сделаны просто как два различных независимых метода заполнения карты- один удобный и универсальный, другой быстрый. А вообще, ограничение по размерам крайне условно: я использую переменные и массивы word (так называется int в Пурике- от -32767 до +32767), а не, скажем, long, что экономит память вполовину, но и алгоритму не дает работать с большим количеством клеток.
Но если нужно, я могу изменить десяток строк и максимальный размер карты выростет до... щас... э-э-э... 46000х46000. Беда одна: для обработки понадобится что-то около 16Гб оперативной памяти )
Ну, это очень глупый алгоритм. Колбасня- это его верный друх и жыздненный спутнег. Но если поставить высококачественный режим поиска- 1 или даже 0 (впрочем, это излишний перегиб), колбасить будет поменьше...
Цена ДЕкзейка (да и Екзейка тоже) ведь в его скорости: 8мс на карте 128х128- ИМХО неплохо. Помню как несколько лет назад мы вострогались либой на ассемблере, которая считала карту 32х32 за 2мс.
Странный баг: игрок останавливается в тунеле недойдя до конца пути...
|
Ёй-ёй. Не должно так быть. И бага у меня не воспроизовдится. Расскажи, пожалуйста, поподробнее... Где, как, в каком режиме поиска, на какой карте?.. И как, ёё воспроизвести.
в примере все еще остаются вейпоинты при направлении на новое место...
|
Так они не остаются: они просто не перемещаются. Это ведь просто декорация для наглядности: создаваемый вначале примера массив из моделей кубиков, где количество элементов равно максимальной указанной пользователем длинне курса. Когда курс проложен, кубики расставляются вдоль пути. В результате, в случае, если проложенный функцией курс оказывается короче максимального указанного- ну добрались уже до точки, некуда дальше прокладывать- часть "лишних" кубиков просто остается на старых местах. К процессу поиска и прохождения пути модельки вейпоинтов отношения не имеют.
|
(Offline)
|
|
25.05.2006, 11:07
|
#9
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
а как запустить-то
|
(Offline)
|
|
25.05.2006, 14:08
|
#10
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
2 PAX: Бага найдена. Полностью рабочую библиотеку выложу на днях.
2 ZanoZa: Просто помести "DExeik.decls" в папку "Userlibs" Блица и запускай "Sample.bb".
P.S. Сори, что не выкладываю патч сегодня: поймал какого-то виря. Температура ядра мозга поднялась с 36.6 до каких-то невиданных высот... Сейчас ищу антивирус и кряк к нему. Как только верну себе умение ориентироваться в пространсве и связно мыслить- закончу работу над либой.
В любом случае- пишите. И спасибо за помошь в доводке.
|
(Offline)
|
|
25.05.2006, 15:18
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Originally posted by Diplomat@24.5.2006, 23:14
заменить функции ExeikSetMap%(X%,Z%,Value%) и ExeikFillMapBank%(Bank*) на ExeikSetMapBank%(Bank*). В этом случае по мойму не будет ограничений в размере карты...
|
Нет, ограничение по размерам от этих ф-й не зависит: они сделаны просто как два различных независимых метода заполнения карты- один удобный и универсальный, другой быстрый.
|
А можно не заполняя массив из банка просто пользоваться этим банком? просто если на карте будет одновременно 10-20 врагов, то боюсь каждый раз заполнять массиб будет проблематично... можно ли непосредственно с банком из блитца работать?
Можно конечно! Для чего ж я ёё и выкладывал!
Только лицензии на Пурик у меня нет (пока нет), так что если решишь продать игру- как-то ночью могут приехать на черном "воронке".
Впрочем, возможно ли отличить либу на платном Пурике от либы на бесплатном ДевС- доподлинно неизвестно.
|
А мой проект бесплатный я же от него исходники выложил
Да забыл про баг... в предидущем примере по умолчанию карта Map2.bmp, в первом длинном тунеле останавливается... на 1-ускоренном цикле и 2- упрощенном по четырем направлениям цикле. На 0-полном цикле все нормально...
|
(Offline)
|
|
25.05.2006, 20:33
|
#12
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вот еще одно пожелание:
Можно усовершенствовать алгоритм (чтобы включалось опционально) так, чтобы "игрок" обходил углы под прямым углом.
Примерно так:
|
(Offline)
|
|
25.05.2006, 21:35
|
#13
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
Как я понимаю это алтернатива A*, так?
|
(Offline)
|
|
10.06.2006, 18:12
|
#14
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Наконец родимая Булка снова в строю!
Итак, примеры, которые я не успел запостить раньше.
В прикрепленно файле DExeik.rar - стандартный сампл с колобком и лабиринтом. Функция обновлена и работает лучше (см. intro.txt)
Архив Tanks.rar содержит маленькую игрушку-пример, описывающую нелегкие будни танкистов и являющую собой примитивнейший пример практического применения ДЕкзейка.
А можно не заполняя массив из банка просто пользоваться этим банком? просто если на карте будет одновременно 10-20 врагов, то боюсь каждый раз заполнять массиб будет проблематично... можно ли непосредственно с банком из блитца работать?
|
По идее проблеммы возникать не должны. Возможно пример tanks.rar поможет.
Можно усовершенствовать алгоритм (чтобы включалось опционально) так, чтобы "игрок" обходил углы под прямым углом.
|
К сожалению, только в режиме поиска по 4 направлениям.
Как я понимаю это алтернатива A*, так?
|
Ни в коей мере не собирался создавать "убийцу Астара", или "конкурента ВолновогоАлгоритма" ! У ДЕкзейка своя специфика, своя область применения и свои недостатки. ИМО, он просто немного дополняет полупустую нишу алгоритмов, которые могут производить поиск пути на больших картах с регулярной сеткой относительно быстро и относительно правильно.
|
(Offline)
|
|
12.06.2006, 00:50
|
#15
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Аууу! Люди!
За два дня так никто ни разу не скачал, и даже не зашел!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:54.
|