Cruma - Lineage 2 World Viewer & Radar Map Generator

~RosT~

Знаменитый
Участник
Старожил I степени
Легенда Истоков
Сообщения
9
Розыгрыши
0
Репутация
0
Реакции
10
Баллы
1 235

Cruma​

Предыстория​

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

Вскоре я наткнулся на проект (благодарю justgos, который судя по всему является его автором). В целом проект работал, но, как отмечал сам автор, проект был довольно messy. В нём присутствовали баги, производительность оставляла желать лучшего, а загрузить весь игровой мир целиком было невозможно.

Позже я нашёл l2mapconv, который на мой взгляд был реализован значительно лучше. Однако он поддерживал только некоторые типы текстур для статических мешей. Другие типы материалов, terrain и различные остальные элементы отображались без текстур.

Поскольку Java была мне гораздо ближе, а с C++ мне приходилось работать скорее по необходимости, я решил взять за основу второй проект, переписать его на Java и использовать некоторые наработки из первого проекта для поддержки большего количества типов материалов. Из-за существенных различий в архитектуре двух проектов это процесс не был простым/быстрым. В общей сложности работа заняла около двух-трёх месяцев. В результате я получил не только необходимую мне мапу, но и возможность загружать и исследовать весь игровой мир клиента L2.

Из неподдерживаемых возможностей оставались только FX эффекты, анимация билбордов (billboards), небо. Также присутствовали некоторые проблемы с ambient lighting, но для создания радарных карт всё это не имело особого значения.

Возвращение к проекту​

Несколько месяцев назад я решил попробовать одну из новых моделей OpenAI чтобы проверить сможет ли она помочь мне довести до ума рендеринг всех типов материалов, а также заменить OpenGL на bgfx. Основная мотивация заключалась в том, что macOS, моя основная операционная система, поддерживает OpenGL только до версии 4.1, а для дальнейшего повышения производительности мне требовались возможности более новых версий OpenGL. bgfx позволяет решить эту проблему благодаря поддержке различных графических бэкендов, включая нативный Metal на macOS, Vulkan и DirectX.

Текущее состояние​

Сейчас проект достиг стадии, когда мне уже не стыдно поделиться. С его помощью можно создавать радарные карты для любой версии клиента Lineage 2* практически в любом разрешении. При этом каждый тайл карты также экспортируется в отдельный файл. Лично мне было довольно интересно просто увидеть весь игровой мир целиком и получить возможность посетить любую его точку.

Доступные режимы​

В приложении доступны три режима:
  • Explore: Свободное перемещение по миру с управлением камерой через WASD. Скорость движения можно изменять клавишами 1–5, а также ускорять или замедлять с помощью Shift и Alt. F1 отображает все шорткаты.
  • Inspect: Позволяет выделить и изолировать любой объект. Я добавил этот режим главным образом для быстрой диагностики и поиска проблем с материалами.
  • Diagnostics

Поддерживаемые платформы и производительность​

Приложение поддерживает Windows, macOS и Linux. Лучше всего оно работает на macOS, поскольку именно на этой платформе проводилась большая часть тестирования. На моём M5 Max я стабильно получаю более 50 FPS при обзоре всего мира. Также я тестировал приложение на Windows с использованием бэкендов DirectX 11, DirectX 12 и Vulkan.

Возможные проблемы​

Если у вас возникнут сложности или ошибки, пишите в этой теме. Пожалуйста, указывайте версию операционной системы и клиента Lineage 2, который используете. Если ваш ПК не справляется с нагрузкой, попробуйте изменить параметры в основных настройках а так же в Scene Settings после загрузки мира либо загрузите только часть игрового мира.

Инструкции по установке, настройке и использованию приложения можно найти в README.
Link:

Скриншоты:
castle.jpg giran.jpg toi.jpg world.jpg

map.jpg

Проверялись только следующие версии клиентов: C4, C6, GF, HF и Salvation: The Gathering / Orfen (EN152).
 
Последнее редактирование:
Спасибо. Полезный и нужный софт.
Шрифт конечно выбран очень мелкий, пришлось лупу брать.
Но не разу программа не доработала, то закрылась то такая ошибка
1791523232129.webp
 
Последнее редактирование:
Назад
Сверху Снизу