powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как реализовать старания каждого члена отряда занимать свое место в шеренге
5 сообщений из 5, страница 1 из 1
Как реализовать старания каждого члена отряда занимать свое место в шеренге
    #39231228
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Представьте маленький отряд , как в играх аля ДаркОмен или ТоталВар

Отряд изначально стоит в четком порядок (например кубиком) пусть будет еще командир впереди отряда.

хххххх
хххххх
ххххххх
хххххх
хххххх

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

т
т
т т

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

Мне вот интересно насколько сложный алгоритм задействован. Есть ли приемлемый вариант с затратами , которые потянет даже скажем планшет.
...
Рейтинг: 0 / 0
Как реализовать старания каждого члена отряда занимать свое место в шеренге
    #39231308
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АСУ ТПшникМне вот интересно насколько сложный алгоритм задействован.
Вполне возможно, что там обычный path finding, реализованный для каждого члена отряда индивидуально. А конечная точка каждого бойца задаётся с там же смещением от базовой, что и стартовая. А дальше уже тервер и статистика.
...
Рейтинг: 0 / 0
Как реализовать старания каждого члена отряда занимать свое место в шеренге
    #39231330
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На Хабре была недавно статья на эту тему, лень искать. Вроде бы тоже разработка для мобильных устройств.

Если "порядок" дополнительно упорядочить так, чтобы образовалась цепочка (или дерево), например:
Код: plaintext
1.
2.
3.
4.
         цепочка                            дерево
         1  2  3                             1(х)
4  5  6  7  8  9  10                        2(1)     3(1)
        11     12                         4(2)  5(2)   6(3)
, то PathFinding можно запускать для первого юнита, остальные же пытаться двигать относительно первого, или предыдущего юнита, и только если не получается - ища путь в лоб. Плюс в том, что PathFinding работает не для каждого участника, а по мере необходимости, в основном же новые позиции просчитываются как в рыбьем косяке, т.е. довольно быстро.

Плюс, засекаем время "отсутствия присутствия" юнита в строю. Если юнит надолго ушёл в самоволку, а лидер топчется на месте, то ищем BestPosition вокруг лидера и запускаем PathFinding до неё. Таким образом, юниты не встрянут с открытыми ртами по трактам Ымперии, а гарантированно подтянутся к лидеру, дошедшему до цели.
...
Рейтинг: 0 / 0
Как реализовать старания каждого члена отряда занимать свое место в шеренге
    #39231332
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самый смак в том, что автоматом имеем порядок прохождения "бутылочных горлышек". Сразу понятно, кто кому должен уступать дорогу. Жёлтые штаны, там, два раза ку, вот это вот всё.
...
Рейтинг: 0 / 0
Как реализовать старания каждого члена отряда занимать свое место в шеренге
    #39231464
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В играх применяются спец-эффекты. Например в StartCraft-е Джим Рейнор катается на машинке.
Но при этом расчет траектории ее движения идет по квадратикам, хотя машинка ездит
плавно и разворачивается плавно. Ее движение между квадратиками - интерполировано.

В случае пионеров уклоняющихся от кустов я-бы предложил не менять порядок строя.
Тоесть все пионеры сохряняют свои места. Но ввести некую функцию f(x,y) которая
определяет близость к кусту или к кустам. Функция должна быть нелинейной. На удалении
от куста она должна выдавать 0. а непосредственно в окрестности должна давать бесконечность.

При прохождении сквозь кустарник пионеры, сохраняя порядок строя тем не менее могут
на пол-шага отойти в сторону и обогнуть куст когда "наступают ногой" на ненулевую окрестность
f(x,y) что создает эффект огибания.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как реализовать старания каждого члена отряда занимать свое место в шеренге
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]