Game Maker - создание игр | HellRoom Games
Июнь 18, 2025, 23:20:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Пример поиска пути в TDS  (Прочитано 18228 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ETUN4
«Старожил форума»
******

Репутация: 50
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Game Maker, HTML, MobileBasic...
Сообщений: 855

Ну как-то так...


« : Сентябрь 18, 2012, 22:59:37 »

Мой пример поиска пути для игр видом сверху.
В самом начале, вам надо создать лабиринт, но что бы из него был выход к белой точке.
Потом нажать пробел, и пак-мэн пойдёт к белой точке.
Главная часть кода находится в obj_control в событии нажатия пробела.
Скриншот и пример во вложениях..

Добавлено: Сентябрь 18, 2012, 23:06:31
Завтра если что, то выложу пример уже в применении в игре..

path_finding.png
Пример поиска пути в TDS
* path_finding.png (33.47 Кб, 646x510 - просмотрено 2853 раз.)
* path_finding.gmk (11.71 Кб - загружено 982 раз.)
Zombie_example1.png
Пример поиска пути в TDS
* Zombie_example1.png (22.79 Кб, 646x510 - просмотрено 2907 раз.)
Zombie_example2.png
Пример поиска пути в TDS
* Zombie_example2.png (22.62 Кб, 646x510 - просмотрено 2764 раз.)
* Zombie example.gmk (10.86 Кб - загружено 1132 раз.)
Записан

onChyk
«Старожил форума»
******

Репутация: 170
Offline Offline

Пол: Мужской
API: GameMaker Studio Master
Деятельность: Программист GML AAA класса, пиксель-художник, геймдизайнер
Сообщений: 2318



WWW
« Ответ #1 : Сентябрь 19, 2012, 09:47:05 »

Неплохо, нет лишних значений и всё достаточно понятно.
Записан

Voldeniaar
Активный участник
*****

Репутация: 96
Offline Offline

Пол: Мужской
Награды:
За постоянность! [100 дней на форуме]
API: Love
Сообщений: 414


« Ответ #2 : Сентябрь 19, 2012, 09:52:47 »

Неплохо, нет лишних значений и всё достаточно понятно.
... но для новичков желательно было бы сделать комментарии, что конкретно делает каждая функция.
А так вроде неплохо. Этак для Tower Defence можно использовать.
Записан

"Даже сумасшедшие предприятия могут осуществиться, если сумасшествовать по обдуманному плану.." (С) А.Сапковский "Божьи Воины"

"Лучше без точно сформулированной цели двигаться вперед, чем без цели стоять на месте, и уж наверняка гораздо лучше, чем без цели пятиться назад." (С) А.Сапковский "Крещение Огнем"
onChyk
«Старожил форума»
******

Репутация: 170
Offline Offline

Пол: Мужской
API: GameMaker Studio Master
Деятельность: Программист GML AAA класса, пиксель-художник, геймдизайнер
Сообщений: 2318



WWW
« Ответ #3 : Сентябрь 19, 2012, 09:55:17 »

Неплохо, нет лишних значений и всё достаточно понятно.
... но для новичков желательно было бы сделать комментарии, что конкретно делает каждая функция.
Функции нахождения пути не для новичков. Для новичков есть lib, dll с встроенными pathfinderam'и и всё такое.
Записан

Voldeniaar
Активный участник
*****

Репутация: 96
Offline Offline

Пол: Мужской
Награды:
За постоянность! [100 дней на форуме]
API: Love
Сообщений: 414


« Ответ #4 : Сентябрь 19, 2012, 10:04:19 »

Цитировать
Функции нахождения пути не для новичков.
С каких пор? Новички на то и новички, что для них это впервые.
Если человек изучает что-либо, что раньше не изучал, то ему будет куда проще, если в примере будет внятно показано, что тут за какое действие отвечает. Иначе, он может тупо взять и скопировать код, не разобравшись, что к чему. А такое бывает сплошь и рядом, ибо не всем хочется лезть в справку за разъяснениями.
Записан

"Даже сумасшедшие предприятия могут осуществиться, если сумасшествовать по обдуманному плану.." (С) А.Сапковский "Божьи Воины"

"Лучше без точно сформулированной цели двигаться вперед, чем без цели стоять на месте, и уж наверняка гораздо лучше, чем без цели пятиться назад." (С) А.Сапковский "Крещение Огнем"
ETUN4
«Старожил форума»
******

Репутация: 50
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Game Maker, HTML, MobileBasic...
Сообщений: 855

Ну как-то так...


« Ответ #5 : Сентябрь 19, 2012, 15:50:55 »

Неплохо, нет лишних значений и всё достаточно понятно.
Может сделать пример, на пример с зомби?

Добавлено: Сентябрь 19, 2012, 15:53:33
Неплохо, нет лишних значений и всё достаточно понятно.
... но для новичков желательно было бы сделать комментарии, что конкретно делает каждая функция.
А так вроде неплохо. Этак для Tower Defence можно использовать.
К стати, о нём, я как раз вот думал и его пример сделать, часто есть свободное время, на пример когда с учёбы еду, или когда на переменах сижу, и ли даже когда на парах скушно, то пишу на листке приблезительные алгоритмы и куски кода......

Добавлено: Сентябрь 19, 2012, 15:54:58
он может тупо взять и скопировать код, не разобравшись, что к чему
Да, такое частенько бывает, раньше и сам так иногда делал...
Записан

AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #6 : Сентябрь 19, 2012, 20:32:25 »

Хороший пример, новичкам будет понятно, но коментарии были бы конечно кстати. Молодец, старался.
Записан
ETUN4
«Старожил форума»
******

Репутация: 50
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Game Maker, HTML, MobileBasic...
Сообщений: 855

Ну как-то так...


« Ответ #7 : Сентябрь 19, 2012, 21:53:57 »

Хороший пример, новичкам будет понятно, но коментарии были бы конечно кстати. Молодец, старался.
Спасибо!

Добавлено: Сентябрь 19, 2012, 22:01:23
Ну и как обещал, добавил пример умного зомби, и с использованием этого поиска пути...
Записан

geroy231
GM Pro user
*

Репутация: 137
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [100 дней на форуме]
API: Game Maker 8.0 Pro
Сообщений: 952



« Ответ #8 : Сентябрь 19, 2012, 22:09:37 »

пример хороший, но лучше отрисовывать путь, так сказать - для наглядности
Записан

ETUN4
«Старожил форума»
******

Репутация: 50
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Game Maker, HTML, MobileBasic...
Сообщений: 855

Ну как-то так...


« Ответ #9 : Сентябрь 19, 2012, 22:59:13 »

пример хороший, но лучше отрисовывать путь, так сказать - для наглядности
А ну это уже можна самому сделать с помощью "draw_path".
Записан

zhookevil
GM Pro user
*

Репутация: 94
Offline Offline

Пол: Мужской
Награды:
2 место в Дичайшем джеме #8За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Деятельность: Приуныл.
Сообщений: 356


Фотографирую. Занимаюсь дизайном. Делаю игры.


WWW
« Ответ #10 : Июль 18, 2013, 23:02:42 »

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

geroy231
GM Pro user
*

Репутация: 137
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [100 дней на форуме]
API: Game Maker 8.0 Pro
Сообщений: 952



« Ответ #11 : Июль 18, 2013, 23:15:07 »

Отлично, но когда много зомби, через пару минут начинает чудовищно лагать. Что попробовать сделать, чтобы исправить это?
перенеси создание пути из step'a в create. а в шаге (перед просчетом нового пути) используй path_clear_points(ind).
так же можно перенести поиск пути в аларм и запускать его например каждые ширина клетки div скорость
Записан

zhookevil
GM Pro user
*

Репутация: 94
Offline Offline

Пол: Мужской
Награды:
2 место в Дичайшем джеме #8За постоянность! [10 дней на форуме]
API: GameMaker Studio 2
Деятельность: Приуныл.
Сообщений: 356


Фотографирую. Занимаюсь дизайном. Делаю игры.


WWW
« Ответ #12 : Июль 19, 2013, 01:20:43 »

Отлично, но когда много зомби, через пару минут начинает чудовищно лагать. Что попробовать сделать, чтобы исправить это?
перенеси создание пути из step'a в create. а в шаге (перед просчетом нового пути) используй path_clear_points(ind).
так же можно перенести поиск пути в аларм и запускать его например каждые ширина клетки div скорость
Спасибо. Но mp_potential_step вроде бы не будет работать тогда.
Записан

Bovalex
GM Pro user
*

Репутация: 108
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!За участие в Весеннем конкурсе.
API: Unity 3D
Деятельность: Человек - оркестр
Сообщений: 731



« Ответ #13 : Июль 19, 2013, 13:04:28 »

отличный пример! Уважуха
Записан

Я ненавижу когда лама по имени Карл бьёт меня 37 раз и ест мои руки.
[img width= height= alt=Falcoware - Download Free Games]http://falcoware.com/DrawWayIco.gif[/img]
ETUN4
«Старожил форума»
******

Репутация: 50
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]
API: Game Maker 8.0 Pro
Деятельность: Game Maker, HTML, MobileBasic...
Сообщений: 855

Ну как-то так...


« Ответ #14 : Июль 20, 2013, 17:08:30 »

отличный пример! Уважуха
Спасибо)
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.577 секунд. Запросов: 32.