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

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

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

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

Ответ
 
Опции темы
Старый 23.05.2006, 14:12   #1
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Доброе время суток, господа, дамы и товарищи!

Презентую Вам на суд свою новую разработку: алгоритм поиска пути DExeik, воплощенный тэк-скээть в бетаверсию подключаемой к Блицу ДЛЛ-библиотеки.

Тестите, рецензируйте и юзайте на здоров!
Сообщите мне, пожалуйста, о всех багах, глюках, крешах и катастрофах, возникших при работе с библиотекой, а также о своих идеях по их- библиотеки или даже самого алгоритма- улучшению. Буду просто дико рад такой поддержке.

____________
Архив удален. Обновления см. ниже.
(Offline)
 
Ответить с цитированием
Старый 23.05.2006, 14:25   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Учитесь как надо делать демки-тесты. Всё работает.
Только вот у меня не всегда удалялись меши-вейпоинты маршрута бота
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 23.05.2006, 18:48   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Неплохо

А можно в библиотеку добавить еще упрощенный алгоритм передвижения в четырех направлениях (исключить передвижение по диагоналям)?

Нашел один глюк: при попытке направить игрока в мертвую зону несколько раз, игрок бежит к неизчезнувшим кубикам прямо через стены и идет по ранее пройденному пути, который не исчез.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 24.05.2006, 20:11   #4
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
А можно в библиотеку добавить еще упрощенный алгоритм передвижения в четырех направлениях (исключить передвижение по диагоналям)?
Done!

Нашел один глюк: при попытке направить игрока в мертвую зону несколько раз, игрок бежит к неизчезнувшим кубикам прямо через стены и идет по ранее пройденному пути, который не исчез.
Fixed!


Спасибо за помощь!
Обновление качать там же.
(Offline)
 
Ответить с цитированием
Старый 24.05.2006, 22:47   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Работает . Респект за библиотеку!

А можно эту библиотеку потом в Bombers3D использовать?...


Вобщем есть пожелание: заменить функции ExeikSetMap%(X%,Z%,Value%) и ExeikFillMapBank%(Bank*) на ExeikSetMapBank%(Bank*). В этом случае по мойму не будет ограничений в размере карты... хотя незнаю (честно пока незнаю как с банками работать не в блитце...) Если не трудно, то в двух словах объясни как он в памяти организован (банк)... буду очень признателен
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 24.05.2006, 23:02   #6
jimon
 
Сообщений: n/a
прикольно
алгоритм мне вроде как понятен но иногда его колбасит
 
Ответить с цитированием
Старый 24.05.2006, 23:19   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Странный баг: игрок останавливается в тунеле недойдя до конца пути... да... в примере все еще остаются вейпоинты при направлении на новое место...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.05.2006, 00:14   #8
Diplomat
Дэвелопер
 
Регистрация: 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
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
а как запустить-то
(Offline)
 
Ответить с цитированием
Старый 25.05.2006, 14:08   #10
Diplomat
Дэвелопер
 
Регистрация: 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
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 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-полном цикле все нормально...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.05.2006, 20:33   #12
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Вот еще одно пожелание:

Можно усовершенствовать алгоритм (чтобы включалось опционально) так, чтобы "игрок" обходил углы под прямым углом.

Примерно так:
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.05.2006, 21:35   #13
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Как я понимаю это алтернатива A*, так?
(Offline)
 
Ответить с цитированием
Старый 10.06.2006, 18:12   #14
Diplomat
Дэвелопер
 
Регистрация: 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
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Аууу! Люди!
За два дня так никто ни разу не скачал, и даже не зашел!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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