[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1248125529026.jpg -(51кб, 342x305) Показана уменьшенная копия, оригинал по клику.
51 №2060  

Программач, нужна библиотечка поиска пути на подобии: http://www.dtf.ru/articles/read.php?id=46788. В ней меня не устраивает лишь одно, там .dll без исходников. А хотелось бы в красноглазом линупсе использовать. Был вариант обернуть её и таки сделать какой-нибудь .so, но после проверки зависимостей была обнаружена множественная завязка на винду, прошу посмотреть знающих людей, может не все потеряно и от зависимостей можно, лол, избавиться.

Писать самому алгоритм как-то не хочется, наверняка кто-то уже выкладывал достойную реализацию. Заранее благодарен за любую помощь.

>> №2062  

Давай замутим игрулю, а?

>> №2063  

>>2062
Вообще я как бы сам её делаю, так что вместе не вариант.

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

>> №2065  
Файл: 1248135255507.gif -(1кб, 140x100) Показана уменьшенная копия, оригинал по клику.
1

>>2060
Тут описание: http://www.codenet.ru/progr/alg/way.php
Ссылки на вариации с исходниками:
http://ishodniki.ru/list/alg/alg-games/
http://code.progler.ru/tags/Алгоритмы/2
Разобраться как работает, таки лучше, чем тупо копипастить, не?

>> №2069  
Файл: 1248167295904.png -(1кб, 150x150) Показана уменьшенная копия, оригинал по клику.
1

>>2065

>http://www.codenet.ru/progr/alg/way.php

К сожалению данный алгоритм не подходит, ибо он волновой. В приведенном мною примере был алгоритм трассировки луча с огибанием препятствий. Посмотри на приложенную картинку: слева предложенный тобою вариант, а справа то, что я ожидал.

>Разобраться как работает, таки лучше, чем тупо копипастить, не?

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

>> №2070  
Файл: 1248167351164.jpg -(16кб, 362x173) Показана уменьшенная копия, оригинал по клику.
16

>>2069
Упс, не тот пик.

>> №2071  

>>2070

>WouwPathFind.dll

Не факт, что здесь все отлажено. Да и количество расчетов слишком большое, если я правильно все понял. Как тебе вот это:

>Все руки двигаются по периметру своего препятствия на один шаг. Левые руки двигаются против часовой стрелки, правые - по часовой
>проверяя через каждый шаг юнита

Автор с одной стороны пишет о трассировке луча и геометрических периметрах, с другой стороны вводит "сетку", т.н. "шаг юнита". Больше всего это похоже на сферический велосипед от нехуй делать.

>> №2072  

>>2071
При обходе препятствия он точки перегиба ищет и точки пересечения с трассирующим лучом. Вообще мне его идея понравилась, когда читал не усмотрел косяков.

Ты закачивал пример? Просто exe, там можно посмотреть работу алгоритма и потестить производительность.

Похоже придется, таки, самому писать. Но я все равно буду ждать от анонов ссылок.

>> №2077  
Файл: 1248173085126.gif -(5кб, 320x200) Показана уменьшенная копия, оригинал по клику.
5

>>2072
Знает хуй. Но по ресурсам, вычисления точек пересечения и вращение векторов, более емки, чем переборы массивов. Я ковыряю сейчас волновой алгоритм, как закончу выложу пруфы с замерами, что-то мне подсказывает, что лучше его пока что ничего не изобрели. На подумать, а сработают "руки" на случае в пикче?

>> №2080  

>>2077
Вообще на подобной пикче они сработают, но мне не нужны такие длинные пути, после какого-то количества итераций со спокойной душой можно прервать процесс. Основное моё требование это то, что объект может находиться в любой точке пространства, а не только в центре клетки. Плюс карта проходимости периодически меняется.

>> №2081  
Файл: 1248179266483.png -(7кб, 410x274) Показана уменьшенная копия, оригинал по клику.
7

>>2077

>На подумать, а сработают "руки" на случае в пикче?
>> №2082  

>>2081
Выглядит красиво, лучи добра тебе.
c: co, говорит, что все должно получиться.

>> №2084  

>>2080
Центр клектки - это относительное понятие, автор алгоритма оперирует таким термином как "шаг юнита", что подразумевает дискретность, алсо, даже в 3д клетки есть, дело в их размерах же.

>> №2085  

>>2084

>клектки

клетки
опечатка

>> №2086  

>>2084
Ты употребляешь "шаг" как что-то плохое?
Я так понял он находит ключевые точки, а затем объект начинает к ним последовательно двигаться с определенном шагом, дескать просто вектор скорости. Или "шаг" в чем-то другом?

>> №2088  

>>2084
Ну допустим в WouwPathFind положение юнита никак не зависит от параметров клетки, она хоть может быть со слона размером, все равно юнит может находиться где угодно. Размер клетки определяет лишь точность карты прохождения. Как бы вот это бы хотелось. Плюс в приведенном алгоритме хорошо сделан расчет размеров объекта, я может нуб, но пока не могу представить как считать путь волновым алгоритмом, если объект занимает 4 клеточки.

>> №2089  

>>2088

>если объект занимает 4 клеточки.

Все, представил, лол.

>> №2090  

ОП, опиши игру.
Еще интересует на чем пишешшь, и чувствуешь ли в себе силы закончить проект в одиночку?

>> №2091  

>>2090
Игру описывать не буду, так как пока мало что готово. Пишу на C++ сервер, а на каком-нибудь flash-е сделаю клиент, так что братья анонимусы смогут заценить игрушку онлайн. Силы в себе чувствую, но вот ленюсь прямо ппц как.

Сервер хочу под линухом запустить, вот для этого библиотечку и ищу.

>> №2092  
Файл: 1248181442641.gif -(1кб, 59x21) Показана уменьшенная копия, оригинал по клику.
1

>>2086
Без "шага" алгоритм становится непрерывным, т.е. обработке подвергается каждая виртуальная точка (она может быть меньше пикселя выводимого на экран), втыкаешь, что за мощности тебе потребуются (особенно в 3д)? Путь юнита, все таки измерятся, шагами, значит размер отверстия куда проходит юнит тоже в шагах (не в мм же), значит и размер юнита тоже задается шагами. Дискретность таки есть (а это и подразумевает сетку). На подумать, путь отрисовывается вектором нулевой толщины, так вот, как по этому вектору пройдет худой тролль, а как толстый?

>> №2093  

>>2091

>Игру описывать не буду, так как пока мало что готово

Епт, я прошу описать саму задумку. На что игра будет похожа?

>> №2094  
Файл: 1248181840512.gif -(4кб, 320x200) Показана уменьшенная копия, оригинал по клику.
4

>>2092
кроме опечатки пикча впример
Согласись, не в размерах все-таки дело?

>> №2095  

>>2069
При уменьшении клетки результат работы волонового алгоритма будет сходиться к результату трассировки. Просто возьми клетку меньше, и захерячь волоновой.

>> №2096  
Файл: 1248182340303.png -(9кб, 578x178) Показана уменьшенная копия, оригинал по клику.
9

>>2094
На крузис.

>>2092
Пик рилэйтид, два тролля.

>> №2097  

>>2095
Уже склоняюсь к этому варианту.

>> №2099  
Файл: 1248182884576.jpg -(77кб, 600x606) Показана уменьшенная копия, оригинал по клику.
77

>>2096
Блджад, объясни чем у тебя измеряется размер юнита? Если то, что ты показал - правда, работа алгоритма, то я иду сосать хуйцы. Но! Почему тогда путь отрисовывается вектором? Может быть ты их сам рисуешь? Еще пикчу к примеру кинуть?

>> №2100  

>>2095
Тебя, иногда, очень трудно понять, но здесь ты все правильно сказал.

>> №2101  

>>2099
http://www.dtf.ru/articles/file.php?id=25845
Качай
@
Проверяй

Размер юнита - произвольная величина, она динамически проецируется на карту проходимости. Просто нужно изменить критерии обхода "руки" в зависимости от размера, это же элементарно.

>> №2102  

>>2100
Чем больше клеток, тем медленнее работает волновой алгоритм. Выходит трассировка дает лучший результат.

>> №2103  

>>2102
Не не не не не, трассировка "в вакууме" проверка каждой точки, каждого пересечения. В задачах отрисовки области (при построении видимого пространства),задача упрощается до пикселя экрана. Юнитов в 1 пиксель - не бывает, размер его ориентировочно, пускай будет 32х32х64(x,y,z). Так вот, зачем трассировать, если сработают нормально дискретные алгоритмы? Хотя, аноны, мы спорим только о предположениях, исходники никто не видел. Я обеими руками за, если этот хуец действительно придумал, что-то охуенно новое. Но я вижу невнятное ботаническое описание алгоритма, ссылающееся на WC3 без видимых пруфов, и да, Роман Будкеев работает не Blizzard, а в Bird's Eye View Games, которую видимо сам и организовал. Результат в чем? А не пускают ли нам пыль в глаза?
c:fep, fap?

>> №2104  

>>2103
Пытаюсь связаться с автором и заставить его ответить на ответы, но пока безуспешно.

>> №2106  
Файл: 1248190473265.gif -(97кб, 1232x1024) Показана уменьшенная копия, оригинал по клику.
97

скажем так недалеко он уходит... Думаю, на сложных маршрутах, волновой будет отрабатывать быстрее и надежнее

>> №2110  
Файл: 1248195764278.jpg -(43кб, 800x533) Показана уменьшенная копия, оригинал по клику.
43

>>2106
МУХАХА ДВАЧУЮ КАПЧУ ПИКРИЛЕЙТЕД ДИСКАЧ.

>> №2111  

>>2106
Осталось посмотреть на результат тестирования волнового. Боюсь ля любого алгоритма сия задача сложна.

>> №2112  
Файл: 1248199746106.gif -(59кб, 869x548) Показана уменьшенная копия, оригинал по клику.
59

>>2111
ну кодить/прикручивать волновой алгоритм я сейчас небуду, мне оно как бы нафиг не нужно. Но он как минимум 100% дойдет до конечной точки, и сдается мне что если взять/написать алгоритм с ассемблерными вставками, то дойдет он туда в приемлемые сроки.

пикрелейтед мой примерчик написаный за неск. часов, где то около года назад. Ниче из себя не представляет по сути, так, чисто разлекался. Я это к тому, что ничего сложного в волновом алгоритме нет, и разобраться в нем дело 2-3 часов, и + еще неск. часов на замену кусков С'шного кода асм вставки. А учитываю кучу готовых реализаций и того быстрее

>> №2113  

>>2112

> вставками
> учитывая
>> №2114  

>>2112
Напиши, как ты видишь, расчет пути юнити, занимающего несколько клеточек. Пожалуй буду использовать какой-нибудь A*.

>> №2115  

>>2114
често, хз... Пока приходит в голову только усложнение ф-ции распространения волны. Какой бы не был у тебя юнит, у него должна быть базовая точка. Вот эту точку ты и двигаешь(заполняешь матрицу распространении волны), только не бездумно, а с проверкой не уперлось ли остальная часть "тела" в стену, если уперлась то не прешь в ту сторону. Сторон то в любом случае 8 шт.

Кстати, как правило достаточно рассматривать не все поле, а прямоугольник постоеный из точки начала и точки конца. А если он ничего не нашел, то можно и все поле проверить

>> №2116  

>>2113
Грамар-наци сосут хуй в програмаче, прямая вам дорога в быдлокодинг/0. Нечего сказать по существу, уебывай в /б/ и там лечи школоту, и, олсо, не погань винрарные треды, чмошник.

>> №2117  

>>2114
Капча мне подсказывает, что весь мир нужно разделить на эти большие клеточки, а затем искать путь.

>> №2118  

>>2112
Великий, снизойдешь ли переписать быдлокол с Ц на АСМ буде предоставленны исходники тебе. Волновой алгоритм слоупочен слишком. Заканчиваю я его уже, есть в тебе сторона светлая силы?

>> №2119  

Лол, а все равно напишу трассирующий алгоритм, ибо мне он более симпатичен. Прозреваю, что в моём случае волновой будет сосать.

ОП

>> №2123  

>>2119
Ты меня радуешь же.

>> №2124  

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

>> №2133  

>>2116
Вот только не надо всех программистов выдавать за безграмотное быдло.

>> №2474  
Файл: 1249235154707.png -(26кб, 959x767) Показана уменьшенная копия, оригинал по клику.
26

Я опять выхожу на связь.

За пару дней сделал реализацию алгоритма в ОП посте, работает почти идеально, иногда находит не самый лучший путь. Но думаю после доработки он будет быстр и верен.

Вот вам картинка.

>> №2475  
Файл: 1249235281053.png -(24кб, 959x767) Показана уменьшенная копия, оригинал по клику.
24

А вот очевидный косяк.

>> №2487  

а в чем косяк?

>> №2500  

>>2487
Более длинный путь выбрал.



Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]