27

Дороги и как они работают

Дороги и как они работают

Я решил начать писать Devlog чтобы было больше новостей о разработке игры, пока не появится больше действительно красивеньких картинок и гифок чтобы их показать.


Текущее состояние игры

Перед тем, как я напишу, что было сделано за последнюю неделю, я хочу немного описать состояние в котором находится игра.

Разработка игры началась относительно давно (почти год назад), но велась с большими перерывами. Также в конце лета я понял, что фреймворк который я использовал в игре мне не подходит, так как он слишком медленный и мне сейчас приходиться переписывать всю игру с нуля. Так что все красивые скриншоты и видео были созданы в прошлой версии игры ещё на старом фреймворке. Но есть и хорошие новости - к концу октября я планирую, по крайней мере в техническом плане, обогнать предыдущую версию и добавить механики, которых не было там.

Дороги

В игре по дорогам будут ездить грузовики, автобусы, ходить люди. Для того чтобы это всё работало, нужно дать возможность игроку создавать разветвлённые сети дорог, а игровому транспорту и пешеходам определять куда и как они будут идти.


Что сделано

Вот краткий список того что я успел сделать за неделю (да, он действительно краткий):

- Упростил установку длинных участков дороги

- Реализовал поиск пути между участками дороги

- Сделал отображение "сетки" дороги, по которой происходит поиск пути

- Добавил отображение маршрута, который можно проложить в режиме отладки

- Исправил баг вызывающий установку лишних участков дороги там где они не должны быть


Упрощение строительства дороги

Раньше для того чтобы строить дорогу нужно было её устанавливать по одной клеточке, а это очень долго, поэтому я сделал установку сразу большого числа сегментов дороги.

Отображение "сетки" дороги

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

Поиск пути

Для того чтобы по дорогам мог ездить транспорт, а люди могли ходить по троутарам, нужно чтобы дорога была представлена в виде "сетки". Я сделал построение "сетки" по тем участкам дороги которые ставит игрок и использовал алгоритм поиск пути A* чтобы искать оптимальный маршрут между двумя участками дороги.

Отображение маршрута

Для того чтобы протестировать прокладку маршрута я решил также добавить в режим отладки кнопку, после нажатия на которую можно будет выбирать точки, по которым будет проложен маршрут, а затем он будет проложен и отображён.

Что будет дальше

На следующей неделе я планирую добавить прокладку маршрута по разным сторонам дороги, чтобы транспорт мог ездить по своим полосам. Также я хочу добавить сам транспорт, который будет ездить по маршруту.

Страница игры в Steam: https://store.steampowered.com/app/1731560/North_Frontier/

Страница игры в ВКонтакте: https://vk.com/north_frontier

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"