IPB

Здравствуйте Гость ( Вход | Регистрация )

 
Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный

> Конкурс! Сделаем новый HD Pack вместе!

MorgenS
post Понедельник, 11 Ноября 2019, 13:34
Отправлено #1


Knight
Group Icon

Группа: Members
Сообщений: 133
Регистрация: 30-Дек-05
Пользователь №: 4,250



В "День Проклятых Земель" мы объявили конкурс на разбор тайлов с интересными призами.

Проделанная участниками работа поможет корректно определить, какие текстуры и с какими масками использовались для создания тайлов ландшафтра игры, а значит сделать новый HD Pack будет куда проще!

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

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

Если вы решите принять участие, можете оставлять свои ID в комментариях к новости на сайте или прямо в этой теме.

Давайте сделаем новый HD Pack вместе!


--------------------
Visit allods.gipat.ru - best resource about Evil Islands and Rage of Mages series
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Demoth
post Понедельник, 11 Ноября 2019, 14:03
Отправлено #2


Conjurer
Group Icon

Группа: Add-on Developers
Сообщений: 233
Регистрация: 14-Мар-11
Пользователь №: 5,879



А вот тут https://vk.com/topic-99140_40722745 (ссылка доступна без регистрации насайте) можно посмотреть примеры сложных тайлов.

Если будут сложности с разобором тайлов, спрашивайте в этой теме, обязательно ответим!

На данный момент участниками конкурса и организаторами (не учавствуют в конкурсе, но учавствуют в разборе) разобрано около 30%.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
KnightL
post Четверг, 14 Ноября 2019, 21:29
Отправлено #3


Conjurer
Group Icon

Группа: Members
Сообщений: 205
Регистрация: 5-Июн-04
Пользователь №: 2,079



Какая-то у вас странная модель, по которой получаются тайлы. Некоторые из них явно были получены не так. Например, 1033, 1034, 1043, 1089 и т.д. содержат серые точки только внутри, а вокруг песок. К тому же, по-моему, ваша программа не умеет крутить составные части тайлов, а без этого не очень хорошо получится тайл 1000 и др. Вообще было бы логичней сгруппировать тайлы по аллодам или даже по локациям, это бы ускорило проверку одного тайла в несколько раз, потому что не нужно было бы перебрать те, которые 100% не подходят. Может быть для этой задачи бы больше подошёл не перебор, а какие-нибудь генетические алгоритмы или что-то подобное.

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

Примеры результата работы программы и саму программу можно найти по ссылке отсюда . Я не определился, как лучше считать расстояние между пикселями, поэтому там две папки с результатами: results с суммой модулей разностей и resultsINF с максимумом модулей разности по каждому каналу. Вроде вторая немного лучше, и программа не пытается лепить воду вместо скал на 1004, 1005 , но с остальными нужно смотреть, что будет точнее. В скобках указано, на сколько приближение похоже на нужное. Я считаю его как 1-(сумма расстояний до тайла)/(сумма расстояний до полностью чёрной картинки), поэтому в файлах эти величины не согласуются.

Исходники первой версии лежат в ZIP архиве вместе с вспомогательными файлами. Для сборки нужна libpng и какая-то библиотека для STL потоков (в линуксе это pthreads, в винде это что-то другое). В коде всё считается на 6 потоках, при желании можно менять. Exe дать не могу, потому что компилятор только в линуксе и есть.

Если что, я в конкурсе участвовать не собираюсь, сделал это просто чтобы проверить, правда ли нереально написать более-менее быстрое решение. На моём компьютере, если собрать Release, то по идее всё бы обработалось за неделю непрерывного счёта. Но можно это время уменьшить, разделив тайлы на несколько компов.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
AleksZh
post Пятница, 15 Ноября 2019, 02:58
Отправлено #4


Henchman
Group Icon

Группа: Members
Сообщений: 8
Регистрация: 21-Мая-18
Пользователь №: 6,405



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

Если принять маски известными, не тривиализируется ли подбор текстур для каждой из них? Как я вижу, должно быть просто выделить часть тайла по маске и простым перебором всех базовых тайлов и их поворотов выбрать наилучшее совпадение для каждой маски независимо от других составляющих тайла (любая вменяемая пиксельная метрика пойдёт, по идее). Edit: не прямо "просто", но должен быть регион не перекрываемый другими масками, по которому можно подобрать текстурку, разве нет?

Если так, то я бы предложил давать юзеру выбрать маски и нажать кнопку "подобрать текстуры".

Сообщение отредактировал AleksZh - Пятница, 15 Ноября 2019, 12:00
User is online!Profile CardPM
Go to the top of the page
+Quote Post
AstraZak
post Воскресенье, 08 Декабря 2019, 21:41
Отправлено #5


Archer
Group Icon

Группа: Members
Сообщений: 98
Регистрация: 13-Янв-08
Пользователь №: 5,165



QUOTE(AleksZh @ Пятница, 15 Ноября 2019, 02:58)
Если так, то я бы предложил давать юзеру выбрать маски и нажать кнопку "подобрать текстуры".
*


Это так и работает, выбираешь маски, а прога сама выбирает текстуры.

Сообщение отредактировал AstraZak - Воскресенье, 08 Декабря 2019, 21:41
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
AleksZh
post Воскресенье, 08 Декабря 2019, 22:17
Отправлено #6


Henchman
Group Icon

Группа: Members
Сообщений: 8
Регистрация: 21-Мая-18
Пользователь №: 6,405



Выбирает, но часто приходится поправлять, а по-моему могло быть лучше (но это не особенно важно, в принципе).
User is online!Profile CardPM
Go to the top of the page
+Quote Post
AstraZak
post Воскресенье, 08 Декабря 2019, 22:51
Отправлено #7


Archer
Group Icon

Группа: Members
Сообщений: 98
Регистрация: 13-Янв-08
Пользователь №: 5,165



QUOTE(AleksZh @ Воскресенье, 08 Декабря 2019, 22:17)
Выбирает, но часто приходится поправлять, а по-моему могло быть лучше (но это не особенно важно, в принципе).
*


Как я понял автора - это не важно, главная задача на данный момент это подобрать маски, остальное сделает он сам.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicTopic OptionsStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: 13 Декабря 2019 - 23:28