50

Игра мечты [3] Математика гексов

Всем привет!

Меня зовут Владимир и я в режиме дневника пишу, как делаю свою игру.

Предыдущие посты:

Игра мечты [1]

Игра мечты [2]


Сразу после написания прошлого поста наткнулся на офигенную статью.

https://www.redblobgames.com/grids/hexagons/

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


Первым делом оказалось, что я неправильно раскладываю гексы по осям координат. Я как тупой бычок решил, что если поверхность 2д, то и гексы должны находиться на осях X и Y и иметь координаты типа (2;3). Но оказалось, что алгоритмам проще живется в 3д мире с XYZ осями и координатами типа (2;3;-1).

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


Например, теперь я могу спросить у любого гекса, кто его соседи:

Или даже дать всех соседей в определенном радиусе:

О, и даже получить все гексы, находящиеся на прямой между любыми двумя:

Можно даже получить гексы, видимые из определенной точки. На видео, например, точка видит горы, но не видит, что за ними:

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


Приветствуйте, царь всех зверей, алгоритм поиска пути A*.


На видео горы не проходимы, а у остальных ячеек есть циферка-сложность проходимости. Грубо говоря, чтобы пройти светло-зеленый гекс, надо потратить 1 действие, а воду 5, у зеленой и коричневой вроде 2. Вот алгоритм и пытается найти маршрут, который займет меньшее количество действий.

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


Ну и у меня есть вопросики для мудрецов. В цивилизации территории стран обведены жирной полосой, подскажите плиз, о чем почитать, чтобы смочь сделать также:

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества