Задумался, как например в EUIV и подобных играх хранят данные карты, конкретно границы провинций?
Просто списком кривых Безье или что-то более сложное? Получается, что границы будут дублироваться в базе для каждых соседствующих провинций. Мне сложно представить, какой геморрой это составлять в редакторе.
И ещё интересно: как они работают с координатами? Ведь речь идёт про глобус по сути.
- 01 августа 2019, 00:06
- 00
Можно сделать и прямыми линиями, а за счёт перепадов высоты будет казаться, что границы идут волнами. Или добавлять к этим линиям шум Перлина с постоянным зерном.
А хранить, наверное, лучше ближе к тому виду, в котором оно будет использоваться. То есть если нужен поиск пути, то имеет смысл сразу сделать как навмеш.
Вот тут скриншот с провинциями на зуме. Графически видно, что есть искривления, но непонятно, хранятся ли так границы или движок уже сам дорисовывает округлости, где надо. Так что идея с прямыми линиями может иметь смысл. И проверка попадания клика/тача будет чуть проще, наверное.
Поиск пути нужен, по карте перемещаются, например, войска. При этом время, затрачиваемое на переход, зависит от местности, но, как я понимаю, той провинции, куда этот переход совершается. Иногда ещё по границе может протекать река. Соответственно, это тоже должно быть отражено в исходной информации. Значит, привязку границ нужно делать ещё и к географическим сведениям карты.
Ещё есть идея нарисовать всю карту многоцветной маской в пиксель-арте, а потом обработать автоматически до получения линий.
В рантайме?
Границы должны быть понятны движку во время игры; выбор провинции приводит к выделению границ
Я имел в виду, что автор рисует пиксель-арт (как удобно автору), а потом в игре это уже становится навмешем (как удобно движку). Конвертировать между представлениями можно как при загрузке, так и при запекании.
Понял.
Я тут подумал, что линии вообще не нужны. Можно хранить опорные точки и всё.