24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Карта

 Аноним 20/06/16 Пнд 13:42:14 #1 №266161 
14664193342710.png
14664193342901.jpg
14664193343052.jpg
Возник интерес к разработке парадоксоподобных игор (Hearts of Iron/Victoria/Europa Universalis). Сразу же возник вопрос с картой (пикрилейтед пример). Карта состоит из неравномерных кусочков, не разбита по рядам и столбцам. Если правильную карту можно представить в виде двухмерного массива и так же отрендерить, то как хранить и отображать подобную карту? Самый простой вариант - одномерный массив со с списком соседних локаций, но тогда как делать отображение? Пилить карту вручную, а потом связывать каждую локацию с элементом массива? И какой движок лучше всего подходит для подобного? Юнити скорее всего сильно просядет по производительности, а ЮЕ скорее для шутеров - в стратегиях не нужен графон.
Аноним 20/06/16 Пнд 14:02:26 #2 №266163 
Возможно, тебе поможет эта статья.
http://www.ckiiwiki.com/Map_modding
Аноним 20/06/16 Пнд 14:06:27 #3 №266165 
Карта в виде дерева. В клетках инфа о соседях для поиска пути и т.д. Сама карта, должно быть, сделана вручную, но в европке4 есть опция генерировать Новый Свет, то есть набор "клеток" для генерации тоже имеется.

>Юнити скорее всего сильно просядет по производительности
В каком плане? Тем более ты ставишь уичку по производительности выше, интересно почему?
Аноним 20/06/16 Пнд 15:29:44 #4 №266183 
14664257845920.png
А по-моему, даже на скринах отчётливо видно, что карта разбита на диагональные столбцы. Все "неравномерные" кусочки это просто набор предварительно созданных кусочков, на карте есть почти идентичные и с некоторыми различиями. Это скорее всего благодаря тому, что некоторые кусочки рисуются внахлёст и с другим скейлом. Юнити под такое вполне подойдёт, не вижу причин для просадки производительности.
Аноним 24/06/16 Птн 08:57:50 #5 №267338 
>>266183
Кстати да. Там ряды идут ровно, только под углом.
Аноним 24/06/16 Птн 15:00:40 #6 №267393 
>>266183
>>267338
Не вижу никаких профитов в "ровных рядах по диагонали". Когда число соседей разное и форма абсолютно произвольная у клеток. То что там 2 спрайта похожи просто совпадение. Средний спрайт даже не похож.
Аноним 24/06/16 Птн 19:41:46 #7 №267442 
14667865063360.png
>>267393
>Не вижу никаких профитов
А они есть.
>форма абсолютно произвольная
Все формы - квадраты.
>просто совпадение
Это отрицание или проблемы со зрением?
Аноним 24/06/16 Птн 22:21:47 #8 №267617 
Бля, пацаны, там Hearts of Iron 4 вышел, а я тут сижу.
sageАноним 25/06/16 Суб 11:27:01 #9 №267834 
>>266161 (OP)
>представить в виде двухмерного массива
ААААААААААА!!!
Ну серьезно, как можно быть таким дауном?
Карта в парадоксах тайловая, для каждого тайла есть n путей к соседям. Программно это реализуется любым видом графа, например деревом, как уже выше подсказали.
Аноним 25/06/16 Суб 15:33:51 #10 №268046 
>>267834
>деревом
Черно-красным?
Аноним 25/06/16 Суб 16:20:00 #11 №268097 
14668608007760.png
>>267834
Какое дерево, там циклы есть. И массив со списком соседних локаций - это и есть граф (ну можно множество вместо списка взять).
Лично я бы генерировал подобную карту так: случайно расставляю на плоскости точки, каждой точке отходит ближайшая к ней область, потом границы искривляются каким-нибудь алгоритмом.
Аноним 25/06/16 Суб 16:51:43 #12 №268114 
>>268097
https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D0%BE%D0%B3%D0%BE
Аноним 25/06/16 Суб 17:21:41 #13 №268118 
>>268114
Спасибо, я хотел сослаться на что-нибудь такое, но забыл название.
Аноним 26/06/16 Вск 14:22:45 #14 №268628 
14669401656860.png
>>268097
Я надеюсь, ты понимаешь, что у опа никакой не вороной, а обычные гексы.
Аноним 26/06/16 Вск 14:40:40 #15 №268636 
>>268628
вороной есть генерация карт когерентного шума по типу хаймепа из гексов, так что ЭТА НЕ ПОМИДОР, ЭТО ОВОЩ
Аноним 26/06/16 Вск 14:50:14 #16 №268639 
>>268628
Как сгенерировать такие няшные гексы?
Аноним 26/06/16 Вск 14:50:45 #17 №268640 
>>268639
гугли вороной
Аноним 26/06/16 Вск 14:59:57 #18 №268642 
>>268639
Это не гексы.
Аноним 26/06/16 Вск 15:20:55 #19 №268643 
Карта в парадоксодрочильнях вроде хранится примерно как растровая картинка, потом она просто визуализируется хитро. Инфа о провинциях и их соседях прописана явно в виде списка. Погугли как делать моды на парадоскодрочильни, там всё это есть, я уже не помню.
Аноним 26/06/16 Вск 15:38:23 #20 №268651 
14669447038950.png
14669447039061.jpg
14669447039072.png
>>268639
Диаграммы вороного. Возможно, их использовали при генерации карт из оп-пика. Но у оп-игр, очевидно, мир не генерируется каждый раз. Он был предварительно сгенерирован для того, чтобы работать с простейшей гексагональной механикой. Хотя скорее всего, там даже и вороного не было, тайлы всё-таки одинаковые. С трушным вороным такой фокус не пройдёт.
Аноним 26/06/16 Вск 18:47:43 #21 №268707 
Я тут порассматривал карту и возникла одна идея. Карту состоит из ромбов (не гексов даже), и каждый (почти) ромб имеет четыре границы. Форма каждой границы случайно выбирается из доступных вариантов, и в итоге получается фигура.
Аноним 29/06/16 Срд 19:03:50 #22 №270449 
Интересно.
Аноним 30/06/16 Чтв 16:31:52 #23 №270710 
Поделюсь и я своей примитивной но рабочей идеей. Нужно базовый слой где помечены территории провинции.>>266163
Также нужно поделить карту на провинции для зарисовки. Действия с картой происходят в таком порядке: рисуется базовый слой для отслеживания пикселя -- накладывается видимый слой провинций -- при нажатии на провинцию, снимаем координаты мыши и сравниваем с цветом базового слоя (по цвету базового слоя определяем провинцию) -- исполняем действия, например для закраски провинции нужно просто изменить цвет спрайта (да-да неэффективно, но мне лень придумать что-то лучше, все равно 1000 провинций более-менее прорисовываются за допустимый час) сама провинция загружается в таком формате: само изображение только одной провинции (никаких других и ничего больше), размер провинции, расположение на глобальной карте (можно добавить загрузки еще каких-то объектов). Плюсы этого - работает. Минусы - медленно работает с количеством провинций больше 1000 или еще с дополнительными объектами на карте типа городов и тд. Реквестирую хороших методов зарисовки провинций.
Аноним 01/07/16 Птн 21:28:18 #24 №271305 
>>270710
Ого ты умный.
Аноним 03/07/16 Вск 16:57:41 #25 №272306 
14675542615210.jpg
Аноним 03/07/16 Вск 21:59:19 #26 №272432 
14675723601330.jpg
Аноним 06/07/16 Срд 11:02:50 #27 №273252 
14677921709580.jpg
Аноним 14/07/16 Чтв 08:39:40 #28 №278194 
Бамп.
Аноним 26/07/16 Втр 19:51:34 #29 №284515 
Хуй.
Аноним 27/07/16 Срд 11:39:27 #30 №284886 
>>284515
Ты. Что, так и никто не додумался как такое заделать? Ебаный стыд!
Аноним 29/07/16 Птн 17:49:33 #31 №285931 
14698037734120.png
Вот так выглядит мапа у парадоксов (Crusader Kings II). В отдельном txt-файлике прописаны провинции в следующем формате: цвет на мапе, море/суша, расположение в ней города относительно геометрического центра, всякая мета-игровая инфа, типа начального владельца, кол-ва нигр, регилия и т.п.
На выходе получается, что все, что ты на мапе покрасил в R G B будет отображаться как провинция, у которой в файлике прописан цвет R G B.
При первой загрузке на сколько я понял (инфа не 100), клаужевитц (движок) строит варианты путей из каждой провинции в каждую. Хз, каким образом, можешь попробовать кривые Безье.
Больше идей нет, разве что можешь на форум мододелов для гейропки 4 или CK II заглянуть и посмотреть как они модифицируют карту. Такие дела
Аноним 31/07/16 Вск 13:26:57 #32 №286377 
>>285931
>При первой загрузке на сколько я понял (инфа не 100), клаужевитц (движок) строит варианты путей из каждой провинции в каждую
Охуеть. То то он столько грузится.
Аноним 31/07/16 Вск 15:09:42 #33 №286497 
>>286377
Ты правда поверил этому шизофренику?
Аноним 31/07/16 Вск 17:28:30 #34 №286672 
>>285931
>попробовать кривые Безье.
Эээ... юнцы, извените что вмешиваюсь в вашу беседу, я как правило тут не пишу. Но может вам стоит попробовать обычный А? Это же типичная задача поиска путей на связанном графе. Ее до дыр затерли. Собвенно можно даже просто СКАЧАТЬ А и все заработает. И не надо строить ВСЕ СО ВСЕМИ... ну вы и лалки. Ладко, удачи вам, хорошего настроения.

вы бы ахуели еслиб узнали кто я но я слишком скромен
Аноним 31/07/16 Вск 17:30:21 #35 №286680 
>>286672
>вы бы ахуели еслиб узнали кто я но я слишком скромен
Риточка?
Аноним 02/08/16 Втр 10:14:08 #36 №287673 
Бокал вина и еды и не только в том числе и в чём проблема с тобой не разговариваю.
Аноним 10/08/16 Срд 01:18:13 #37 №291120 
А что насчёт гексов?
sageАноним 10/08/16 Срд 10:45:35 #38 №291255 
>>267442
>Все формы - квадраты.
Не квадраты. На разных широтах размеры тайлов отличаются (проекция меркатора). Все они произвольно неправильно формы.

Количество переходов из тайла в тайл для разных тайлов разное. От 4 (для крупных приполярных тайлов) до 8 (или 7, точно не знаю, 7 находил точно). В тайлах граничащих с водой, переходжов может быть 2, или вообще 1.

>>268651
>чтобы работать с простейшей гексагональной механикой.
Но там не гексагональная механика.

>всё-таки одинаковые
Нет, не одинаковые. Мне лень качать игру, запускать, и делать пачку скринов для разных широт.

>>266183
>А по-моему, даже на скринах отчётливо видно, что карта разбита на диагональные столбцы.
Так только кажется. Я, в свое время, оброчил эту карту вдоль и поперек. Столбцы там выстраиваются только локально в рамках определенных областей. Провести их хотя бы через одну крупную страну не получится.

>Я тут порассматривал карту и возникла одна идея. Карту состоит из ромбов (не гексов даже), и каждый (почти) ромб имеет четыре границы.
Какие ромбы, блять? Ты слепой, шоле? Четырехграничные тайлы очень редки на карте, их поискать еще нужно. Смотри картинки.

http://imgur.com/a/UR9ld

На первом пике я красными цифрами отметил количество границ у тайлов.

На втором фейловая постройка диагоналей. Тайлов, которые не дают простроить диагонали дохуища просто. На разных участках диагонали имеют разный угол, иногда поворачивающий прямо посреди диагонали.
Аноним 15/08/16 Пнд 22:48:12 #39 №294421 
Ну вот у меня есть двухмерный массив. Как его пендерить в юнити?
Аноним 15/08/16 Пнд 22:49:47 #40 №294422 
>>294421
>рендерить
Фикс.
Аноним 17/08/16 Срд 22:04:17 #41 №294948 
>>294422
пендерить
sageАноним 21/08/16 Вск 19:22:51 #42 №295674 
>>294421
Массив чего?
Аноним 22/08/16 Пнд 10:12:42 #43 №295867 
>>295674
Чисел, где каждое число - номер спрайта.

Аноним 22/08/16 Пнд 15:11:26 #44 №295924 
>>294421
Зачем двумерный то?
Аноним 27/08/16 Суб 14:34:36 #45 №297078 
граф не вариант?
comments powered by Disqus

Отзывы и предложения