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:
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Скриншоты:
Проверялись только следующие версии клиентов: C4, C6, GF, HF и Salvation: The Gathering / Orfen (EN152).
Последнее редактирование:

























