Тёмный

Indie RTS Devlog #3: Group Pathfinding 

Eduard Permyakov
Подписаться 736
Просмотров 14 тыс.
50% 1

►►► EVERGLORY on Steam: store.steampow... ◄◄◄
Follow EVERGLORY development:
► Reddit: / everglorygame
► Twitter: / everglorygame
► Discord: / discord
► GitHub: github.com/edu...

Опубликовано:

 

12 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 25   
@miketacos9034
@miketacos9034 3 года назад
Super helpful. That chunk system is an elegant way to boost performance.
@mattanimation
@mattanimation 4 года назад
cool stuff man
@snarfymcsnarfface2323
@snarfymcsnarfface2323 2 года назад
You've made me realize how little I know about game development Nice
@gutzimmumdo4910
@gutzimmumdo4910 Год назад
i just check the anti collision paper holly shit that looks like a nightmare, kudos to you for implementing that thing! I have a question tho, why not just use a flow field? I was wondering if the ClearPath algorithm is worth the hassle if u don't really care about collisions, is there a boost from using that algorithm compared to just using a flowfield?
@mario_actually
@mario_actually 4 года назад
Fascinating. Thanks a lot for sharing. RU-vid compression does not love your gizmos. 😅
@M3t4lstorm
@M3t4lstorm 4 года назад
Would be interested in knowing the latency for each of the main parts (calculating the portals, finding a path, creating the flow field, etc)
@amirphl7834
@amirphl7834 2 месяца назад
This is fantastic.
@georgealeksandrov8718
@georgealeksandrov8718 5 месяцев назад
Awesome, still very helpful thanks!
@8Gothiclord
@8Gothiclord 3 года назад
Очень хороший ролик, много полезной информации для меня. Если я тебя внимательно слушал, то не было ни одного упоминания о A* алгоритме по поиску оптимального пути. Почему? Наслышан, что этот алгоритм используется в 90% всех стратегий в реальном времени.
@eduardpermyakov
@eduardpermyakov 3 года назад
Упомянул в 6:35. А* это хороший алгоритм для нахождения путей от точки до точки. Он имеет свое место, но ограниченно эффективен когда требуется много похожих путей. Не эффективно было бы вычислять индивидуальный А* путь для каждого война и заново вычислять когда воин «сбился». Для этой задачи подход «полей» лучше потому что хоть 500 воинов могут использовать одно «поле». Это относительно современная идея которая набирает популярность.
@8Gothiclord
@8Gothiclord 3 года назад
@@eduardpermyakov Ещё есть вопросы про то как происходит атака или следование за юнитом(ами). Я правильно понимаю, что при любом изменении координат преследуемого(ых) юнита(ов) "поле" полностью перасчитывается? Не создаст ли это проблемы если много "преследуемых" разными группами юнитов? И есть ли способ оптимизировать перерасчёт "поля"?
@eduardpermyakov
@eduardpermyakov 3 года назад
@@8Gothiclord Верно что нужно будет высчитывать новое поля для каждого «чанка» (комнаты) где юниты подвинулись. Если они в движении, то это происходит в каждом кадре. В этом случае всё равно вычисляется всего несколько полей потому что все юниты одной факции на одном чанке будут использовать одно поле. Десять или тысяча юнитов потребуют почти одно и то же количество вычислений если площадь под ними занимает столько-же чанков. Можно ускорить само вычисление, но не избавиться от этих вычислений потому что, фундаментально, когда меняются позиции юнитов, эффективные пути меняются. Можно как-то пожертвовать эффективностью путей, не сразу бросая старые поля. Можно побаловаться с параметрами (размер чанков). Но алгоритм как он есть нормально работает для моих целей.
@YagoAvilaMore
@YagoAvilaMore Год назад
Hi how do you do to make A* with flow fields, i mean how do you do to have every single grid with the direction?. Do you have a paper or references that you can give me? Im doing my final degree project about this. Im from Spain so sorry for my english
@donnyren9910
@donnyren9910 4 года назад
Could you have a second mode of pathfinding where the soldiers stay in formation? As in not clump together?
@donnyren9910
@donnyren9910 4 года назад
Very cool, btw
@eduardpermyakov
@eduardpermyakov 4 года назад
Currently, no. I had an idea to potentially add additional forces to constrain the units in a formation such that they try as much as possible to keep their position relative to other units. Say, there are 3 units. The left-most one will have a force pushing it left of the other two, the center one will be pushed right of its' "left neighbour" and left of of its' "right neighbour", etc. This way the units will keep their relative positions but still break formation of there are stronger forces (ex. they are forced to funnel through a narrow passage). I've not actually implemented this, so I'm not sure how well it will work in practice.
@McGono
@McGono 4 года назад
Very informative, thank you for making this! Time to go grok the code
@MarceldeJong
@MarceldeJong 4 года назад
In your last example of the goblins attacking those enemy units. Say the enemy player were to retreat those units. What happens then? Will the goblins keep chasing those units or do they give up at some point?
@eduardpermyakov
@eduardpermyakov 4 года назад
They keep chasing up to the point where there are no more enemies in a certain range. Then they give up. So the running units have to be faster than the goblins to "get away".
@MarceldeJong
@MarceldeJong 4 года назад
@@eduardpermyakov and with your fog of war system, units could retreat into that, I guess (if they're fast enough)
@charg1nmalaz0r51
@charg1nmalaz0r51 4 года назад
do you have links to where you learnt this or a tutorial. I get the concept but no idea on how to implement this in code
@eduardpermyakov
@eduardpermyakov 4 года назад
The code for the engine is on GitHub (link in the description of the video). Might take a bit of effort to study the C code, but it's there if you have the time and energy for it. There wasn't any one tutorial I followed. I skimmed through near everything I could find on the topic and ultimately the current result is a combination of what I learned from a lot of different (incomplete) sources, plus some of my own ideas. I had to iterate a bunch too before the code got to where it was. The video should give you enough ideas to start googling: "flow-field pathfinding", "clearpath", "flocking behaviours", "heierarchial pathfinding".
@alexpyattaev
@alexpyattaev Год назад
Could it be easier to simply subdivide chunks further?
@GameDevNerd
@GameDevNerd 2 года назад
This is your own engine? OpenGL-based?
Далее
Indie RTS Devlog #4: Fog of War
11:06
Просмотров 10 тыс.
The Truth about StarCraft's Pathfinding
9:36
Просмотров 36 тыс.
НЕВОЗМОЖНЫЙ ЭКСПЕРИМЕНТ
00:39
Просмотров 74 тыс.
Tutorial - Flow Field Pathfinding in Unity
24:49
Просмотров 25 тыс.
D.O.R.F. RTS game - Unit Pathfinding Behavior
3:09
Просмотров 24 тыс.
How do vector field Pathfinding algorithm work ?
7:12
Nice Game, Shame if Someone Exploited It
35:03
Просмотров 2,1 млн
A Comparison of Pathfinding Algorithms
7:54
Просмотров 715 тыс.
Just Boids | Useless Game Dev
12:10
Просмотров 60 тыс.
НЕВОЗМОЖНЫЙ ЭКСПЕРИМЕНТ
00:39
Просмотров 74 тыс.