Добрый день! Всю неделю ломал голову как же все таки зделать поиск пути. И вот оно, свершилось чудо)
Волновой алгоритм.
.
Для начала реализовал волновой поиск пути, где "0" это елемент массива по которому волна идет во все четыре стороны, "-1" - елемент по которому волна неидет (стена так сказать или же пол). елемент "-2" - наш монстр, елемент "-3" наш ГГ. Реализовав поиск радовался как дите, это же мой первый поиск пути, это не хухры-мухры вам). Если б это был вид с верху то можно б было пихать в игру, а так у нас есть гравитация, что делать? Решил я добавить елемент "-4" по которому волна идет только вниз (так сказать гравитация), если под елементом "-4" есть пол "-1" или лесница/труба "0" - тогда волна расходится влево/вправо. После того как реализовали волну прокладываем путь где приоритет идет вверх-вниз-влево-вправо.
И того в общей сложности что у нас получается? все поле у нас заполнено елементом "-4" - гравитация, кирпичи у нас "-1", лесницы и трубы - "0".
Ну и такой вот вид прототипа поиска пути
А вот небольшое видео с приминением этого алгоритма
Волновой алгоритм.
.
Для начала реализовал волновой поиск пути, где "0" это елемент массива по которому волна идет во все четыре стороны, "-1" - елемент по которому волна неидет (стена так сказать или же пол). елемент "-2" - наш монстр, елемент "-3" наш ГГ. Реализовав поиск радовался как дите, это же мой первый поиск пути, это не хухры-мухры вам). Если б это был вид с верху то можно б было пихать в игру, а так у нас есть гравитация, что делать? Решил я добавить елемент "-4" по которому волна идет только вниз (так сказать гравитация), если под елементом "-4" есть пол "-1" или лесница/труба "0" - тогда волна расходится влево/вправо. После того как реализовали волну прокладываем путь где приоритет идет вверх-вниз-влево-вправо.
И того в общей сложности что у нас получается? все поле у нас заполнено елементом "-4" - гравитация, кирпичи у нас "-1", лесницы и трубы - "0".
Ну и такой вот вид прототипа поиска пути
А вот небольшое видео с приминением этого алгоритма
Ну на даный момент пока все.
Мне нравиться)
ОтветитьУдалитьМолодец, работаешь! Я пока застопорился на физике.
ОтветитьУдалитьОчень надеюсь, что на конкурс придет хотя бы 3-4 работы :)
Пока локация мала и обрабатываемых объектов мало, такой подход сойдет.
ОтветитьУдалитьЯ как-то эксперемнтировал на карте 1024х1024 : делал поиск пути по A* с тупым использованием
NavigationMesh. Результат не очень=)
perfect daemon, не парься, работ 5 может придет=))
Раз в конкурс не попала работа, то можно работу "пощупать"?
ОтветитьУдалить