Мысли перевести lineage 2 на другой движок

rjcnzy008

Путник
Пользователь
Сообщения
45
Розыгрыши
0
Репутация
0
Реакции
4
Баллы
40
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
aCis_409
Просто для рассуждения, есть такая мысль в голове сделать так же как LU4 , перекинуть игру на Unreal Engine 4 или Godot Engine 4 . При условии если я не фига не в чем не разбираюсь (максимум мультиселы поправить или исходники). Сколько у меня уйдет времени хотя бы сделать так чтобы все работало как работает только дживок будет Engine 4 или Godot 4 . То есть от начало незнания нечего до того что можно зайти в л2 и побегать ? Зная этот форум мне щас напихают глубоко и больно за такие вопросы! Но если эту идею рассматривать реально. Сколько времени уйдет на такое? Не чего не меняя за исключение движка ?
p.s. спасибо за понимание.
 
А еще можно допилить старую линейку. Мне, например, не особо нравятся поделки на юнити из-за странных эффектов, камеры, управления и тд. А дефолтные клиенты медленные и с кучей багов. На скрине ц1 клиент после рекомпиляции на x64. Даже без каких-то серьезных правок, просто после рекомпиляции на современном тулсете, клиент работает плавно и приятно. Можно накидать новых шейдеров как в последних классиках и будет вполне симпатично Посмотреть вложение 98795
Все таки доделал?)
 
А еще можно допилить старую линейку. Мне, например, не особо нравятся поделки на юнити из-за странных эффектов, камеры, управления и тд. А дефолтные клиенты медленные и с кучей багов. На скрине ц1 клиент после рекомпиляции на x64. Даже без каких-то серьезных правок, просто после рекомпиляции на современном тулсете, клиент работает плавно и приятно. Можно накидать новых шейдеров как в последних классиках и будет вполне симпатично ноПосмотреть вложение 98795
эт круто, но что бы рекомпилить сначала надо разобрать его полноценно, что у тебя видимо уже не плохо получилось)
 
Все таки доделал?)
Ага. Теперь потихоньку вычищаю то что не используется. Очень много дефолтного UE2 кода, который л2 просто не нужен, но он пронизывает весь движок
 
почему именно он? что что, а он как будто вообще под ла2 подобные игры не заточен
"подобные игры" - это где основная механика: толпы юнитов бегают по низкополигональному ландшафту и срут партиклями? Он под это и заточен. Хотя, геометрия в еве уже скорее хай поли, в сравнении с динозавриными моделями под анреал 2002 года.
Все остальное адаптирует-переделает тебе клодообразная модель без проблем.
 
Ага. Теперь потихоньку вычищаю то что не используется. Очень много дефолтного UE2 кода, который л2 просто не нужен, но он пронизывает весь движок
Раньше все жаловались что л2 использовала только 1 ядро процессора, возможно ли это исправить в старом клиенте с помощью нейронки?
 
Раньше все жаловались что л2 использовала только 1 ядро процессора, возможно ли это исправить в старом клиенте с помощью нейронки?
Только если сделать нативный DX11, лучше даже VULKAN. DX9 в много ядер не может.
 
Раньше все жаловались что л2 использовала только 1 ядро процессора, возможно ли это исправить в старом клиенте с помощью нейронки?
можно, но это сложно. и есть сомнения насчет "с помощью нейронки". да, с ней процесс легче. но я не думаю что можно просто написать клоду "а добавь мне многопоточности" и он сделает нормально. для начала нужно переписать некоторые ключевые классы под многопоток. и в целом сам пайплайн апдейта-рендера. блин, это долго расписывать. много нюансов. но ответ - да, можно значительно ускорить линейку
Только если сделать нативный DX11, лучше даже VULKAN. DX9 в много ядер не может.
на ц1 я сразу накинул dx11. в целом хватило бы и dx9. при огромной толпе чаров, которые бегают и используют скиллы, все равно основная нагрузка на cpu
 
при огромной толпе чаров, которые бегают и используют скиллы
Толпа чаров (как ковыряю) не составляет проблем. чары работают через видуху, современным видухам пофигу что там 100полигнов что мильен. Проблемы именно в эффектах, притом некоторые эффекты настолько тупо сделаны, потребляет тонны ресурсов. Недавно ковырял этого дебильного самуря, и его красного духа - ну там полный ппц, оказывается VertMeshEmitter обрабатываеся только процом, и его аж 2 экземляре запихали в эммитер, вот вам пример жутких лагов когда чары его врубают... Ускорение надо получать полностью перелопатив эффекты.
 
Толпа чаров (как ковыряю) не составляет проблем. чары работают через видуху, современным видухам пофигу что там 100полигнов что мильен. Проблемы именно в эффектах, притом некоторые эффекты настолько тупо сделаны, потребляет тонны ресурсов. Недавно ковырял этого дебильного самуря, и его красного духа - ну там полный ппц, оказывается VertMeshEmitter обрабатываеся только процом, и его аж 2 экземляре запихали в эммитер, вот вам пример жутких лагов когда чары его врубают... Ускорение надо получать полностью перелопатив эффекты.
Без нормального профилирования можно только гадать где проблемные места. На ц1 я раскидал прокси-функции для intel профилировщика и увидел что и как тратит процессорное время. Возможно, это из-за того что на ц1 мало анимаций и они простые, но в итоге это не самая затратная часть. и ее относительно легко распараллелить
 
Просто для рассуждения, есть такая мысль в голове сделать так же как LU4 , перекинуть игру на Unreal Engine 4 или Godot Engine 4 . При условии если я не фига не в чем не разбираюсь (максимум мультиселы поправить или исходники). Сколько у меня уйдет времени хотя бы сделать так чтобы все работало как работает только дживок будет Engine 4 или Godot 4 . То есть от начало незнания нечего до того что можно зайти в л2 и побегать ? Зная этот форум мне щас напихают глубоко и больно за такие вопросы! Но если эту идею рассматривать реально. Сколько времени уйдет на такое? Не чего не меняя за исключение движка ?
p.s. спасибо за понимание.
Привет. Раз тема зашла про сроки и движки, поделюсь живым опытом, а не прогнозом. Мы как раз занимаемся похожим, только не переносим Лайн один в один, а делаем свою игру поверх серверной логики L2J.

Что сделали

  • []Сервер не трогали по логике. Это L2J Mobius HF5, весь бой, статы, скиллы и спавны остаются серверными. []Клиент полностью новый, на UE5. От оригинального клиента и его ресурсов в нём нет ничего: свой мир, свои модели, свой интерфейс. []Между ними шлюз внутри GameServer. Клиент шлёт простые кадры (2 байта длины плюс JSON), шлюз превращает их в обычные L2-пакеты и отдаёт штатному обработчику. Ответы сервера переводятся обратно в JSON через рефлексию по полям пакетов. Соответствие проверяется при старте, а непереведённые пакеты считает админ-команда. []Вход отдельным сервисом: пароль проверяет LoginServer, в мир пускает одноразовый подписанный пропуск.

Сейчас работает от начала до конца: логин, выбор сервера, список персонажей, создание персонажа (раса, пол, внешность, имя сохраняются на сервере), вход в мир, бег по клику, бег за целью, бой с HUD, цифрами урона и боевым чатом, смерть с возвратом в деревню, повышение уровня.

Где реально уходит время

Не на «перенести текстуры». Вот на что:
  • []Протокол. Каждый пакет, который клиент должен понимать, приходится переводить и проверять руками. Бой, движение, смерть и чат у нас есть, а инвентарь, диалоги и скиллы ещё впереди. []Координаты и рельеф. Нужно договориться об осях (+X восток, +Y юг). Серверная Z описывает старый рельеф, а земля в новом клиенте другая, поэтому сущности клиент ставит на свой ландшафт. Старая геодата к новому рельефу не подходит. Мы её сняли и будем строить свою по коллизии из движка, когда локация будет готова. []Управление «как в Лайне». В UE захват мыши по правой кнопке съедает одиночные клики левой, доходят только двойные. Помог другой режим захвата, а камера поворачивается только по ПКМ. []Синхронизация. Скорость персонажа в клиенте берём прямо со скорости бега, которую задаёт сервер, иначе позиции быстро разъезжаются.

Про железо (тут вы правы, это главный риск UE5). Мы сразу ставим себе целью около 200 персонажей в кадре. Поэтому у всех ассетов есть LOD, причёски делаем карточками, а не прядями, деревья с простыми коллизиями. Красивую картинку на одном персонаже собрать легко, а толпа на осаде — совсем другая задача.

Про нейронки. Мы ими пользуемся каждый день, и это ускоряет работу в разы. Но «за 1–5 месяцев до рабочего состояния» — это если не считать протокол, сеть, геодату и тестирование. Каждый шаг выше мы проверяли руками в живом клиенте.

Автору темы честный совет: начинать не с движка, а с одной вертикали. Логин, вход в мир и бег по клику на своём сервере. Если это заработало, дальше понятно, сколько ещё впереди.

Скриншоты прикладываю. Если интересны подробности по шлюзу или координатам, спрашивайте, расскажу.
01_login.webp
02_character_create.webp
03_combat_hud.webp
 
Мы как раз занимаемся похожим, только не переносим Лайн один в один, а делаем свою игру поверх серверной логики L2J.
Удачи без шуток. Но пока выглядит как наркомания какая-то
 
skybox2.webp
Тоже поделюсь. Вся карта High Five по сути перенесена в Blender и нормально строится в игровых движках. Жаль времени сейчас нет этим дальше заниматься
 
Посмотреть вложение 98844
Тоже поделюсь. Вся карта High Five по сути перенесена в Blender и нормально строится в игровых движках. Жаль времени сейчас нет этим дальше заниматься
Перенести не проблема, сделать, что то свое требует больше усилий и времени. Я переносил дион в UE 5
 
Перенести не проблема, сделать, что то свое требует больше усилий и времени. Я переносил дион в UE 5
Конечно. Там же 10к+ статиков и 1500+ акторов. Этож сколько по времени их в одного моделировать и анимировать
 
Конечно. Там же 10к+ статиков и 1500+ акторов. Этож сколько по времени их в одного моделировать и анимировать
Я сначала создал для этого инструмент WorldForge запустил локально свою ИИ модель по генерации 3D моделей и анимации + текстур и тп. 2026-10-19_21-26-43.webp
Сообщение объединено:
Для проверки можете скинуть любое изображение сгенерю модель за 1мин
 
Я сначала создал для этого инструмент WorldForge запустил локально свою ИИ модель по генерации 3D моделей и анимации + текстур и тп. Посмотреть вложение 98845
Сообщение объединено:
Для проверки можете скинуть любое изображение сгенерю модель за 1мин
Не думал, что нейронки генерации 3д настолько продвинулись
 
Назад
Сверху Снизу