1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Конвертер карты(Ultima Online)

Тема в разделе "Оффтопик", создана пользователем Alastar, 30 июл 2015.

  1. Автор темы
    Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Интро:
    Захотелось как-то(А именно позавчера) мне запилить все карты из этой замечательной игры в трёхмерном блочном мире. Для начала я выбрал самый тупой путь - начал строить всё вручную. Учитывая то, что только один мир там величиной всего только в 7000*4000*256 блоков(Про остальные молчу вообще), мне как то расхотелось. Потом было решено написать плагин..

    Суть:
    Плагин то я сделал, но опять просчитался: в этой игре ~40 тысяч предметов, что затрудняет процесс конвертации(Для каждого итема нужно найти эквивалент и составить что-то на него похожее из блоков). В результате пока полноценно конвертируется только ландшафт(Что уже неплохо), но вот только строений и прочих наземных плюшек там нету. Если кого заинтересовало и хочется помочь - отпишите, будем страдать вместе.

    Подводные камни:
    - Некоторые multis(так называются структуры в uo, состоящие из нескольких разных итемов, графически он являются частью одной вещи) размещены на карте весьма извращённым способом, из-за чего приходится их искать вручную и писать кастомные схемы замены.
    - Если что-то выглядит красиво в ультиме, еще не значит, что это будет симметрично в майнкрафте. Пруфы ниже
    - Целая карта(только ландшафт) весит ~0.5 Гб
    - Всё равно придётся править карту

    Что можно получить взамен:
    - Психическое расстройство
    - Нежелание вообще когда-либо работать с майнкрафтом
    - 5 огромных ММО карт
    - Если вы когда либо играли в уо(Что, конечно, вряд ли), вы сможете побегать по миру в 3д :3

    Что уже работает:
    - Можно уже получить полноценный ландшафт(Почти без багов, нужно заимпортить и ландшафт и multis, чтобы вода у берегов появилась - поправив исходники, можно убрать установку чёрной шерсти вместо неизвестных итемов)
    - Конвертация итемов

    Скрины:
    [​IMG]
    [​IMG]
    [​IMG]


    Compiled version(1.7.10 or higher, requires worldedit): link

    Github(Bukkit plugin, 1.7.10, depends on WorldEdit):link

    ItemsConverter.cs(RunUO 2,3): link
    LandConverter(RunUO 2,3): link


    Felucca land: link
    Felucca multis:link
    Felucca map(without multis): link

    [​IMG]
    Malas land: link
    Malas multis: link
    Malas map(without multis): link

    [​IMG]
    Tokuno land: link
    Tokuno multis: link
    Tokuno map(without multis): link

    [​IMG]
    Ilshenar land: link
    Ilshenar multis: link
    Ilshenar map(without multis): link

    [​IMG]
    Visual editor: github

    Как конвертировать: зайти на сервер и прописать /convertuo land/multis all/force "имя файла без расширения" "индекс" (land - импорт ландшафта, multis - итемов, all - загрузка всех подряд файлов начиная с указанного индекса, force - загрузка указанного файла) в том мире, в котором вы хотите разместить карту(Карта начинается с координат 0 25 0!). Будет лагать. После строчки "Finished!" все готово!

    Команды:
    /convertuo multis/land all/force "filename" "index" - запустить генерацию
    /uofind multis/land "filename" "index" - запустить поиск неизвестных тайлов
    /uotool - пкм определяет ID неизвестного тайла в ткнутом блоке
    /uosmooth - врде я не делал эту команду

    Известные жуки:
    -
    Разрабы сделали кривые карты :confused:

    P.S Если вы серьезно решили использовать этот плагин, то теперь для полноценной генерации нужен еще мод BiblioCraft(Для столиков), хотя вы можете подправить под себя в исходниках. Хотя, если у вас нету этого мода, блок просто не будет отображаться(в теории) и плагин не будет крашить.
     
    Последнее редактирование: 29 май 2016
  2. DEFKALION

    DEFKALION Активный участник Пользователь

    Баллы:
    76
    Таким способом только ландшафт делать.
    А сами постройки в ручную нужно.
     
  3. Автор темы
    Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Да что ты говоришь :D
    [​IMG]
    1 пиксель - примерно 2-3 блока :D
    Я даже спецом сейчас законверчу это в майнкрафт и заскриню
    Это вы еще замок в тер муре не видели :)
    [​IMG]
    [​IMG]
     
  4. appl3_w0rm

    appl3_w0rm Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    appl3_w0rm
    Убогенькие здания, если честно
     
  5. Lion3D

    Lion3D Активный участник Пользователь

    Баллы:
    88
    Карта норм
     
  6. jwplaster

    jwplaster Старожил Пользователь

    Баллы:
    173
    Skype:
    jwplaster.smartworld
    Имя в Minecraft:
    QviNSteN
    У меня есть дебильная идея...
    У тебя же есть список итемов к каждому пикселю на карте, верно? Тогда почему бы не пойти вот таким путём: задать идеальный цвет нужного блока, а остальные цвета будут возможным исключнием (Ну пример: у тебя есть все оттенки серого + чёрный и белый. Тебе надо конвентировать верно всё в вид лишь из белого и чёрного. Если брать RGB-представление цветов, то белый = 255,255,255 , чёрный 0,0,0 , а все серые - равномерное уменьшение числа 255 в каждом, то к конвентированным в чёрный будут пренадлежать всё с 127,127,127 до 0,0,0 , а белому всё с 128,128,128 до 255,255,255.)
    Т.е. необходимо задать лишь 130 итемов, а остальное сделает алгоритм.
     
  7. Автор темы
    Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Немножко не понял)
    UPD Пофиксил кривые крыши, теперь стоят на своих местах + добавил поддержку блоков из модов
    Игра 1998 года, а этот город, по видимому, вообще первый строился. Залью как-нибудь новые скрины
     
    Последнее редактирование: 30 июл 2015
  8. jwplaster

    jwplaster Старожил Пользователь

    Баллы:
    173
    Skype:
    jwplaster.smartworld
    Имя в Minecraft:
    QviNSteN
    ну... 40к итемов и каждому надо найти блок-аналог? Ну вот. Раз у тебя уже есть скан карты (сверху), то можно с его помощью найти цвет итема в мире. Далее, найдя это и записав, можно по тому же самому скану попиксельно (с помощью алгоритма) представить каждый пиксель-итем в виде цветового кода и найти ближайший к нему по значению, взятый у блока-кода из Minecraft.

    Ну если опять же пример: на карте есть камень. Он обозначается цветами: X1,X1,X1; X2,X2,X2; X3,X3,X3... X150,X150,X150. Все эти цвета в RGB формате представляются вроде: 127,127,127; 200,200,200; 140,140,140...134,134,134. А в Minecraft есть блоки камня, булыжника и каменного кирпича, имеющих, например, средний цвет 127,127,127; 150,150,150; 200;200;200 соответственно. Алгоритм просчитывает блоки с карты и находит похожие в списке блоков Minecraft. Таким образом, блок X1 станет камнем т.к. он ближе по своему значению именно к нему, а блоки X2 и X3 станут уже булыжником, т.к. ближе к нему. Ну а X150 станет каменным кирпичом.
     
  9. Автор темы
    Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Я понял тебя, идея хорошая. Но есть одно НО, скан карты - это образно :) На самом деле это список всех итемов с их ID и положением в пространстве, так что с определением итема или блока проблем не будет.
    Бессовестно апаю тему. Теперь плагин работает, не блокируя основной поток(Ну, может быть, чуть-чуть), дома стали в два блока, горы стали горами. Скрины в шапке
     
    Последнее редактирование: 31 июл 2015
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Я й не вкурсе что это за игра и зачем из нее мапу тыбзить?
     
  11. Автор темы
    Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Just for fun.
    Добавил новые стены и некоторые виды покрытий. Большинство городов теперь выглядит более менее адекватно
    Залил новую версию, добавил визуальный редактор пар. Перенес карты для ленивых.
     
  12. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    Тебя еще тогда не было :)
    Игруха очень зачетная, особенно с кастомными клиентами и текстурками. За конвертер карт - лайк. До такого еще не додумался.
    Данжи и подземелья каким образом переносятся?
     
  13. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    1997 год. Ну вообще то уже был.
     
  14. Автор темы
    Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Мой недочет - тайл пустоты заполняется камнем, так что данжи в толще камня. Вдобавок в данжах довольно таки много стеночек, их надо в бд заносить, ибо меня на них не хватило) Также можно поиграть со значением преобразования высот, дабы получить удовлетворительный ген данжей. Находятся данжи все на тех картах, что на картинках. Пробовал с помощью команды /smooth в WorldEdit сгладить сгенеренные данжи - выходит довольно красиво.
     
  15. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    Тогда сорян :oops:
    Надо попробовать.
    Я бы сказал, очень много стеночек...
     
  16. gamaleev0071

    gamaleev0071 Старожил Пользователь

    Баллы:
    103
    Эб@ть ты псих
     

Поделиться этой страницей