forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Ищу помощи знающего человека\группы людей (http://forum.boolean.name/showthread.php?t=9128)

Crystal 12.09.2009 14:16

Ищу помощи знающего человека\группы людей
 
Здравствуйте.

Я как таковой не программист вовсе, и многие сложные вещи сам реализовать не могу.
Мне надо, что бы кто-нибудь со скиллом повыше помогал.

Вот в данный момент, нужно писать систему поиска пути по нерегулярной
сетке. Я думаю тут надо применять А*, я в нём не шарю абсолютно.



Такая система должна быть в 3D мире, и иметь возможность
свободно менять зоны проходимости на сетке в реалтайме.

Мб есть виртуозы желающие помогать мне с проектами?
Кто-то может давно хотел написать нечто, но не было повода?

johnk 12.09.2009 14:50

Ответ: Ищу помощи знающего человека\группы людей
 
http://forum.boolean.name/showthread.php?t=935

Crystal 12.09.2009 14:58

Ответ: Ищу помощи знающего человека\группы людей
 
Я об этой либе знаю. Это не то, что мне надо.
Там сетка регулярная, и строится по картинке.
Мне нужна нерегулярная, с возможностью её
изменения в реалтайме, строящаяся не по картинке,
а например по попаданию в определённые координаты
объекта.

ffinder 12.09.2009 19:36

Ответ: Ищу помощи знающего человека\группы людей
 
поиск пути - это всегда обход графов
если сетка регулярная - то у каждого узла четыре ребра
если нерегулярная - то произвольное количество ребер
в остальном принцип не отличается

Crystal 13.09.2009 09:06

Ответ: Ищу помощи знающего человека\группы людей
 
Мой скилл не позволяет реализовать данное.
Ищу того, чей скилл позволяет, или уже реализовал.

Crystal 13.09.2009 14:34

Ответ: Ищу помощи знающего человека\группы людей
 
Надежду найти героя ещё не теряю )

Illidan 14.09.2009 00:21

Ответ: Ищу помощи знающего человека\группы людей
 
поясни подробно как и что тебе нужно сделать. насамом деле поиск это проще паренной репы и на регулярные нерегулярные делить не стоит

Nex 14.09.2009 08:19

Ответ: Ищу помощи знающего человека\группы людей
 
Crys3D, если тебе кто нибудь поможет, то скинь мне пожалуйста код\архив, а то у меня тоже с этим проблема...

Crystal 14.09.2009 12:45

Ответ: Ищу помощи знающего человека\группы людей
 
Я опишу часа эдак через 3-4, когда вернусь с работы. Сейчас не успеваю.

Crystal 14.09.2009 16:49

Ответ: Ищу помощи знающего человека\группы людей
 
Фуууффф, устал мля... Сейчас постараюсь накатать.

Итак. Опишу сразу конечный вариант системы:

1. Постройка сетки в 3D мире по 2D координатам (по плоскости).
2. Возможность визуализации сетки линиями.
3. Ручное выставление зон непроходимости мышью,
с визуализацией зоны, например: спрайтом.
4. Сохранение сетки с зонами непроходимости в файл.
5. Загрузка сетки с зонами непроходимости из файла.
6. Возможность добавлять, и удалять зоны непроходимости,
например: поставили грузовик закрывающий путь,
бочка прилетев от взрывной волны закрыла проход.
7. Поиск ботом пути от пункта А до пункта Б.
8. Постоянная проверка сетки на проходимость.
(Если бот двигался, и путь перекрыли, бот должен
остановиться у перекрытой точки, и попробовать найти
другой маршрут, если это возможно, по которому и следовать)

В общем, сам я это реализовать не могу, сил, навыков, и терпения
не хватит. Да и с работы последнее время прихожу ппц уставший,
голова не варит абсолютно. Вот такие пироги.

P.S. В идеале система должна находиться в отдельной библиотеке. (Либа)

Illidan 14.09.2009 17:08

Ответ: Ищу помощи знающего человека\группы людей
 
если еще не посмотрел, вот эту темку
http://forum.boolean.name/showthread.php?t=1603
все довольно просто, но я не советовалбы использовать тот алгоритм в чистом виде.
как конкретно ты будешь использовать сетку? будешь подгонять весь уровень под квады или как?игра пошаговая и рилтайм?
если тебе нужен поиск в 4рех направлениях, тогда можешь подождать немного, я для своего проекта скоро начну писать подобную систему, и могу поделиться исходниками под бмакс.

Crystal 14.09.2009 17:16

Ответ: Ищу помощи знающего человека\группы людей
 
Я сейчас просто это не осилю. Писал уже выше...

Поиск нужен как по четырём сторонам, так и по диагонали.
Смириться могу и с поиском по четырём направлениям,
лучше чем боты бьющиеся лбом об стену.

P.S. Реалтайм.

P.P.S. Мне надо под B3D...

IGR 14.09.2009 19:42

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

Вот в данный момент, нужно писать систему поиска пути по нерегулярной
сетке.
а на картинке сетка регулярная...

Цитата:

1. Постройка сетки в 3D мире по 2D координатам (по плоскости).
2. Возможность визуализации сетки линиями.
3. Ручное выставление зон непроходимости мышью,
с визуализацией зоны, например: спрайтом.
4. Сохранение сетки с зонами непроходимости в файл.
5. Загрузка сетки с зонами непроходимости из файла.
6. Возможность добавлять, и удалять зоны непроходимости,
например: поставили грузовик закрывающий путь,
бочка прилетев от взрывной волны закрыла проход.
7. Поиск ботом пути от пункта А до пункта Б.
8. Постоянная проверка сетки на проходимость.
(Если бот двигался, и путь перекрыли, бот должен
остановиться у перекрытой точки, и попробовать найти
другой маршрут, если это возможно, по которому и следовать)
из самого алгоритма ПП тут пункты 7 и 8 !! остальное это удобства для работы с алгоритмом !! это ужу те прийдетсяя делать самому и в этом нет ничего сложного, хотя очень таки много времени займет я думаю !!
а поповоду самого алгоритма (пункты 7-8), если же те нужна все таки регулярная сетка тот можна заюзать астар или что то еще !! куча примеров и библиотек в сети !!
если же нерегулярная, то можно свою простенькую систему написать !! например, алгоритм Дейкстры !! можеш глянуть еще здесь: http://forum.boolean.name/showthread.php?t=7727

если ничего непонял там, то завтра принесу огрызок кода, где ПП работает в три-де !! ;)

Crystal 14.09.2009 20:02

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

а на картинке сетка регулярная...
Мне надо было сделать GIF анимацию? =)

Мне определённо нужно построить такую систему, а не только алгоритм поиска пути.
С А* пробовал, не вышло. Много накодено, всё не разберёшь.

P.S. Уже говорил. Либу дипломата не предлагайте мне.

P.P.S. Ну давай пример поиска по нерегулярной сетке в 3D.

IGR 14.09.2009 20:30

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

P.P.S. Ну давай пример поиска по нерегулярной сетке в 3D.
хм... неужели ты там по ссылке ничего непонял ?? ;)

Crystal 14.09.2009 20:42

Ответ: Ищу помощи знающего человека\группы людей
 
Если честно, не смотрел. Щас сижу в зомбячем состоянии с квадратными
глазами правлю сетку ламборджини диабло что мне сделал член команды.

Вообще хотелось бы всегда иметь под рукой человека помогающего
с реализацией проектов. В одиночку что-то мутить это гиблое дело.
Хотелось бы, появление сея человека. А насчёт ПП, если буду
браться за него лично я, это будет ой как не скоро. Без ПП дел дофига...

Illidan 14.09.2009 20:48

Ответ: Ищу помощи знающего человека\группы людей
 
о! круть, спасибо))

IGR 14.09.2009 20:51

Ответ: Ищу помощи знающего человека\группы людей
 
я так понимаю ты хочеш что бы тебе кто-то помог сделать, а самому за понимание сего ПП времени нет !! :)
ну что ж тогда извени... :@


Цитата:

о! круть, спасибо))
??

Crystal 14.09.2009 20:54

Ответ: Ищу помощи знающего человека\группы людей
 
Да, тема собственно именно об этом.
В любом случае, если не так, то реализовать придётся самому.
Правда возьмусь не раньше чем через год.

Illidan 14.09.2009 21:15

Ответ: Ищу помощи знающего человека\группы людей
 
IGR, интересный алгоритм, пропустил я его было

IGR 15.09.2009 14:28

Ответ: Ищу помощи знающего человека\группы людей
 
Вложений: 1
Вообщем когда-то писал небольшую игрушку "Хеад Хантерс" !!
там короче нужно было найти свою голову, прибежать к аптечке и прикрутить ее себе !! таким образом зарабатываешь бал !!

так вот пример с нулю написать времени небыло, а ту игру я так доделывать и не буду !!
Вот вчера пропустил любимую серию "Кармелиты-2" и накидал из кусков пример !!
особо в код можешь и не вникать, тебе главное создание и переключение вейпоинтов, ну и ПП по ним !!

в коде достаточно много кометов, так что инфа съедобна даже для непросвещенных !!

Randomize 15.09.2009 15:59

Ответ: Ищу помощи знающего человека\группы людей
 
IGR,
Фига такой психодел XDD
Жуткая игра.

Crystal 15.09.2009 17:01

Ответ: Ищу помощи знающего человека\группы людей
 
Блин. Каким местом поиск по заложенным в левеле вейпоинтам относится
к поиску по нерегулярной сетке? Такую фигню я и сам могу реализовать,
и реализовывал...

Вон http://www.youtube.com/watch?v=YATflto_TkY
Прекрасно летают. Только это нафиг вообще не то, о чём тема.

IGR 15.09.2009 18:33

Ответ: Ищу помощи знающего человека\группы людей
 
Randomize, угу жуткость !!

Цитата:

Каким местом поиск по заложенным в левеле вейпоинтам относится
к поиску по нерегулярной сетке?
хе-хе... что ты подразумеваешь под поиском по нерегул. сетке тогда ?? ;)

Crystal 15.09.2009 18:46

Ответ: Ищу помощи знающего человека\группы людей
 
С каких пор маршрут из постоянных вейпоинтов,
стал сеткой с размеченными и изменяющимися зонами проходимости?
Должна быть система постройки вейпоинтов от
пункта А до пункта Б по сетке с учётом её проходимости.

Что в твоём примере с этим общего?
Кроме следования ботов по вейпоинтам, ничего.

Я это не просто так в первом посте вывесил:




Мне нужен поиск пути, а не следование по пути.
(постройка вейпоинтов по кротчайшему расстоянию через зоны проходимости)

IGR 15.09.2009 18:59

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

(постройка вейпоинтов по кротчайшему расстоянию через зоны проходимости)
зоны проходимости !!
хе-хе ... вот если узать так называемые зоны проходимости по террейну или в крайнем случаее индор то полюбому нужна регуларная сетка !!

если же сетка не регулярная, то тебе нужно ее построить (как в примере загружена с пивотов из макса) или же создать алгоритм автоматического создания вершин графа там где тебе это необходимо !!
а ПП будет в принципе одинаковым независимо от того каким образом у тебя созданна сетка !!

алгоритм ПП возвращяет список узлов по которым нужно пройти боту !!

Crystal 15.09.2009 19:01

Ответ: Ищу помощи знающего человека\группы людей
 
Да какая нафиг сетка из пивотов, ты что?

IGR 15.09.2009 20:01

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

Да какая нафиг сетка из пивотов, ты что?
не обязательно из пивотов !! это могут быть просто объекты, которые содержат позицию например !!
вообще, я ж тебе уже сказал, для того что бы осуществлять поиск пути по какой бы то не было сетке она должна предварительно существовать !!

ABTOMAT 15.09.2009 20:02

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

Мне нужен поиск пути, а не следование по пути.
Я тебе блин кидал семпл с уже готовым поиском по нерегулярной сетке - бери и юзай :wallbash: Развели флуда на 2 страницы

Crystal 15.09.2009 20:34

Ответ: Ищу помощи знающего человека\группы людей
 
Ведать то, что ты скинул,я даже не смотрел. И даже хз в какой комп скачал.
На том, где я сейчас сижу, ничего подобного нет. Как файл назывался?

ABTOMAT 15.09.2009 20:57

Ответ: Ищу помощи знающего человека\группы людей
 
Вложений: 1
....

jimon 15.09.2009 21:03

Ответ: Ищу помощи знающего человека\группы людей
 
Crys3D
нерегулярная сетка задаётся ГРАФОМ всегда !
вейпоинты тоже задаются графом, так что поиск по вейпоинтом это поиск по нерегулярной сетке

не страдай маразмом больше

Crystal 15.09.2009 21:22

Ответ: Ищу помощи знающего человека\группы людей
 
Я не пойму, вы массовый обряд травокурения устроили что-ли?

Должно создаваться координатное поле с определённым
количеством ячеек заданным по длине и ширине.
Должен задаваться размер ячеек. Должен устанавливаться
флаг проходимости: 0 - свободно, 1 - занято.

Вы хотите сказать, что этак в каком-нибудь старкрафте 2
карту накрывали несколькими тысячами пивотов?
Посчитайте размер поля 256*256 секторов,
это я 65536 пивотов должен нахерачить?

Трава у вас реально жестокая...

P.S. Может вы не верно поняли моё выражение "нерегулярная сетка".
Имелась ввиду сетка с возможностью постоянного изменения флага на ячейках,
ну и масштаба ячеек...

IGR 15.09.2009 21:31

Ответ: Ищу помощи знающего человека\группы людей
 
ти все перепутал короче и всех запутал !!
разберись сначало что такое сетка !!
и какая разница межу ругул. и не регул. !!

Crystal 15.09.2009 21:35

Ответ: Ищу помощи знающего человека\группы людей
 
Блин я же на всякий случай в первом посте изобразил как это выглядит.

Вот, так будет точнее:


jimon 15.09.2009 21:41

Ответ: Ищу помощи знающего человека\группы людей
 
Crys3D
тот же A* и Дейкстра работают только по графам
а 2д сетка это частный случай графа - каждая вершина графа это клетка, каждая вершина внутри сетки имеет 4 ребра (можно 8, тогда будет искать по-диагоналям тоже), вершины по краям сетки имеют 3 или 2 ребра
так что не страдай глупостями, смешно же

ты просто почему-то не понимаешь что искать по графу и хранить граф в виде вершин это разные вещи, ты же хранишь сетку, а ищешь по графу

IGR 15.09.2009 21:42

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

Блин я же на всякий случай в первом посте изобразил как это выглядит.
не мороч голову !!
я у тебя переспросил !! сетка регулярная или нет !!
ты сказал что на скрине фигня, а сетка нужна нерегулярная !!

пост №14 !!

Crystal 15.09.2009 21:50

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

P.S. Может вы не верно поняли моё выражение "нерегулярная сетка".
Имелась ввиду сетка с возможностью постоянного изменения флага на ячейках,
ну и масштаба ячеек...
Уж извините. Не по месту применил жаргонизм "нерегулярная сетка".
В итоге меня неверно поняли.

Randomize 15.09.2009 21:55

Ответ: Ищу помощи знающего человека\группы людей
 
Цитата:

Сообщение от Crys3D (Сообщение 118666)
Вы хотите сказать, что этак в каком-нибудь старкрафте 2
карту накрывали несколькими тысячами пивотов?
Посчитайте размер поля 256*256 секторов,
это я 65536 пивотов должен нахерачить?

В Starcraft, Warcraft2 и Warcraft3, Diablo1 и Diablo 2 именно так и было, только это были не пивоты а двумерный массив в котором позиция ячейки массива означала его координату которую домножали на размер тайла при приведении в мровую систему координат.
Вы можете сделать также.
А в старкрафте первом (открывая ScmDraft) 256*256 как и в Warcraft 3 тоже.
65536*4 их было.Для A* покрайней мере.
В вышеупомянутом SC и WC это работает превосходно при этом в играх присутствует ещё и сетевой режим такчто эти карты проходимости ещё и синхронизируются по сети.
Такчто A* может помочь решить любые ваши проблемы с поиском пути.
На память скажу что на булке есть 2 либы AStar и штуки 3 ветки форума где обсуждается поиск пути (http://forum.boolean.name/search.php?searchid=149003).
Если этой инфы мало то могу посоветовать очень полезный сайт: http://pmg.org.ru/ai/index.html
Если разработка ведётся на BlitzMax, то могу своим AStar pathfinder`ом поделится.
Хотя такие вещи спрашивают не у людей, а у гугла.
Поиск пути это не локальный нюанс это общая проблема геймдевелоперов не привязаная к языку программирования такчто найти об этом статьи вобще не проблема.

SBJoker 15.09.2009 22:08

Ответ: Ищу помощи знающего человека\группы людей
 
В старкрафте ЕМНИП использовались укрупнёные клетки для поиска пути, а сами тайлы были в несколько раз меньше. Разница в низкой точности точки назначения юнита.. но собственно там по прибытии делался уже маааленький поиск в приделах укрупнёного квадрата сетки до конкретной точки на экране.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot