Дороги
В игре по дорогам будут ездить грузовики, автобусы, ходить люди. Для того чтобы это всё работало, нужно дать возможность игроку создавать разветвлённые сети дорог, а игровому транспорту и пешеходам определять куда и как они будут идти.
Что сделано
Вот краткий список того что я успел сделать за неделю (да, он действительно краткий):
- Упростил установку длинных участков дороги
- Реализовал поиск пути между участками дороги
- Сделал отображение "сетки" дороги, по которой происходит поиск пути
- Добавил отображение маршрута, который можно проложить в режиме отладки
- Исправил баг вызывающий установку лишних участков дороги там где они не должны быть
Упрощение строительства дороги
Раньше для того чтобы строить дорогу нужно было её устанавливать по одной клеточке, а это очень долго, поэтому я сделал установку сразу большого числа сегментов дороги.
Отображение "сетки" дороги
В процессе разработке игры мне довольно часто приходиться сталкиваться с тем, что что-то не работает так как надо, поэтому я решил добавить в режим отладки отображение построенной "сетки" дороги, чтобы сразу видеть если что-то пошло не так. И это почти сразу мне пригодилось, с помощью этого я смог обнаружить, что дорога в некоторых случаях устанавливается некорректно - иногда накладывается сама на себя.
Поиск пути
Для того чтобы по дорогам мог ездить транспорт, а люди могли ходить по троутарам, нужно чтобы дорога была представлена в виде "сетки". Я сделал построение "сетки" по тем участкам дороги которые ставит игрок и использовал алгоритм поиск пути A* чтобы искать оптимальный маршрут между двумя участками дороги.
Отображение маршрута
Для того чтобы протестировать прокладку маршрута я решил также добавить в режим отладки кнопку, после нажатия на которую можно будет выбирать точки, по которым будет проложен маршрут, а затем он будет проложен и отображён.
Что будет дальше
На следующей неделе я планирую добавить прокладку маршрута по разным сторонам дороги, чтобы транспорт мог ездить по своим полосам. Также я хочу добавить сам транспорт, который будет ездить по маршруту.
Страница игры в Steam:
https://store.steampowered.com/app/1731560/North_Frontier/Страница игры в ВКонтакте: https://vk.com/north_frontier