Конкурс! Сделаем новый HD Pack вместе!
Здравствуйте Гость ( Вход | Регистрация )
![]() ![]() ![]() |
Конкурс! Сделаем новый HD Pack вместе!
MorgenS |
![]()
Отправлено
#1
|
Knight ![]() Группа: 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
|
Demoth |
![]()
Отправлено
#2
|
Conjurer ![]() Группа: Add-on Developers Сообщений: 233 Регистрация: 14-Мар-11 Пользователь №: 5,879 ![]() |
А вот тут https://vk.com/topic-99140_40722745 (ссылка доступна без регистрации насайте) можно посмотреть примеры сложных тайлов.
Если будут сложности с разобором тайлов, спрашивайте в этой теме, обязательно ответим! На данный момент участниками конкурса и организаторами (не учавствуют в конкурсе, но учавствуют в разборе) разобрано около 30%. |
KnightL |
![]()
Отправлено
#3
|
Conjurer ![]() Группа: 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, то по идее всё бы обработалось за неделю непрерывного счёта. Но можно это время уменьшить, разделив тайлы на несколько компов. |
AleksZh |
![]()
Отправлено
#4
|
Henchman ![]() Группа: Members Сообщений: 7 Регистрация: 21-Мая-18 Пользователь №: 6,405 ![]() |
Я графикой не занимаюсь и могу что-то недопонимать, но, имхо, основная проблема с тайлами в комбинаторном взрыве из-за количества масок и вариантов их поворота и наложения. В то же время в конкурсной программе с практикой становится очень легко выставлять правильные маски для тайла, а ручной перебор текстурок может затянуться (и вообще не особо приятен).
Если принять маски известными, не тривиализируется ли подбор текстур для каждой из них? Как я вижу, должно быть просто выделить часть тайла по маске и простым перебором всех базовых тайлов и их поворотов выбрать наилучшее совпадение для каждой маски независимо от других составляющих тайла (любая вменяемая пиксельная метрика пойдёт, по идее). Edit: не прямо "просто", но должен быть регион не перекрываемый другими масками, по которому можно подобрать текстурку, разве нет? Если так, то я бы предложил давать юзеру выбрать маски и нажать кнопку "подобрать текстуры". Сообщение отредактировал AleksZh - Пятница, 15 Ноября 2019, 12:00 |
AstraZak |
![]()
Отправлено
#5
|
Archer ![]() Группа: Members Сообщений: 98 Регистрация: 13-Янв-08 Пользователь №: 5,165 ![]() |
|
AleksZh |
![]()
Отправлено
#6
|
Henchman ![]() Группа: Members Сообщений: 7 Регистрация: 21-Мая-18 Пользователь №: 6,405 ![]() |
Выбирает, но часто приходится поправлять, а по-моему могло быть лучше (но это не особенно важно, в принципе).
|
AstraZak |
![]()
Отправлено
#7
|
Archer ![]() Группа: Members Сообщений: 98 Регистрация: 13-Янв-08 Пользователь №: 5,165 ![]() |
|
![]() ![]() ![]() |
Упрощённая версия | Сейчас: 9 Декабря 2019 - 20:56 |