DevLog: Project L2x

Добавлю что форк движка необязателен, Plugin Importer функционала UE хватает с лихвой начиная с шейдеров и карт и заканчивая интерфейсом (удачи с конченным UMG :D).
Форматы любых данных клиента так или иначе есть в свободном доступе (та же оф дока по UE2 сильно поможет с шейдерами ) + сурсы UE2 и примеры реализаций в Umodel.

Когда только начинал знакомиться с UE, не имея вообще представления как и что там работает в течении пары месяцев по вечерам занес почти весь контент из Black Desert Online в двиг используя только импортер функционал, так что все в ваших руках. Самый геморой будет тогда, когда вам придется реализовывать саму игровую логику в клиенте - а ассеты это дай бог 20% от всего обьема работы.
 

Вложения

  • HighresScreenshot00003.webp
    HighresScreenshot00003.webp
    104,2 КБ · Просмотры: 152
  • HighresScreenshot00004.webp
    HighresScreenshot00004.webp
    305,6 КБ · Просмотры: 120
  • HighresScreenshot00005.webp
    HighresScreenshot00005.webp
    272,8 КБ · Просмотры: 105
  • HighresScreenshot00006.webp
    HighresScreenshot00006.webp
    240,8 КБ · Просмотры: 106
  • HighresScreenshot00007.webp
    HighresScreenshot00007.webp
    360,4 КБ · Просмотры: 99
  • HighresScreenshot00008.webp
    HighresScreenshot00008.webp
    444,6 КБ · Просмотры: 100
  • HighresScreenshot00009.webp
    HighresScreenshot00009.webp
    557,1 КБ · Просмотры: 120

Добавлю что форк движка необязателен, Plugin Importer функционала UE хватает с лихвой начиная с шейдеров и карт и заканчивая интерфейсом (удачи с конченным UMG :D).
Форматы любых данных клиента так или иначе есть в свободном доступе (та же оф дока по UE2 сильно поможет с шейдерами ) + сурсы UE2 и примеры реализаций в Umodel.

Когда только начинал знакомиться с UE, не имея вообще представления как и что там работает в течении пары месяцев по вечерам занес почти весь контент из Black Desert Online в двиг используя только импортер функционал, так что все в ваших руках. Самый геморой будет тогда, когда вам придется реализовывать саму игровую логику в клиенте - а ассеты это дай бог 20% от всего обьема работы.
Спасибо за ответ! И за огромную дозу вдохновления! (как мне теперь сфокусироватся на работе хаха)

Очень большую работу проделали и очень красиво выглядит. ?


Добавлю что форк движка необязателен, Plugin Importer функционала UE хватает с лихвой начиная с шейдеров и карт и заканчивая интерфейсом

Всё верно, как я и отписал можно пойти любым из этих путей и я думаю выберу оба.

Сделаю форк для более интегрированного DX, подчистить эдитор от барахла если силёнок хватит и их политика по хранению Third Party Dependencies мне совсем не греет душу. Сурс код UE5 имеет более 2GB если заливать его в гитлаб вместе с lfs а билдить хреного тучу сторонних библиотек из сурсов ну такое себе.

---

Для людей которые уже пред-установленным UE5 или тем не хотят работать на кастум форке (потомучто мерджить фиксы в свой форк занимает время) будут да, маленькие плагины под каждый импорт на основе UFactory которые в форке будут доступны предустановленными.

удачи с конченным UMG :D

О да, так как главная задача этого проекта сделать generic MMO платформу (песочницу) которую можно использовать для создания своих версии популярных стареньких ММО, и использовать L2 как опорную точку proof-of-concept переноса игры, я точно хочу сделать входной порог как можно ниже чтоб и экспертам было ок работать и самым зелёным новичкам.

UMG это кусок лютого дерьма.

---

Как альтернативу, буду использовать webview overlay, с выбором еще не определился, может стану колупать CEF и удалять с него все чисто вебовское и интегрировать (если мозгов хватит), может пойду путём Tauri где в зависимости от платформы юзают либо виндовский CEF Win10/Win11 или интегрируют CEF в билд отдельно на линуксах.

Может даже просто буду использовать как плагин, всёравно врятли хоть один проект на базе этой платформы превысит 100к$, но тут такое. Надо думать.

Тем самым любые ребятишки с базовыми знаниями HTML/CSS смогут модифицировать любую часть интерфейса и это может послужить входной точкой дальше в IT на более професиональном уровне.
 
Немного идеи о проекте документации L2x

Так как финальный план у меня еще в голове не готов, а над roadmap'ом я еще работаю, решил на ночь "отлогать" несколько целей для Documentation Project v1.0.0-alpha-rc.1

Более или менее структура документации думаю подойдет от Nextra c некоторыми дополнениями.

1726685033075.webp

- Добавить поддержку переключения игр, по умолчанию Lineage II
- Добавить поддержку i18n
- Документировать обзор игры
- Документировать лор игры в очень примитивной, черновой форме
- Документировать игровой мир, персонажей, предметы и другие особенности или механики
- Документировать весь протокол клиент <-> сервер, пакеты [C1-HF] (AsyncAPI)
1726685772259.webp
- Документировать все общие и уникальные UI компоненты клиента, в грубой форме (Storybook, mdx)
- Добавить поддержку доступных, приятных для глаз компонентов документации
- Добавить поддержку компонентов для сравнения между двумя или несколькими обновлениями игры (версиями) для просмотра различий таких как DevLog: Project L2x
 
Та давай нам уже рабочий Хантер виладж на юнити?
 
Добавлю что форк движка необязателен, Plugin Importer функционала UE хватает с лихвой начиная с шейдеров и карт и заканчивая интерфейсом (удачи с конченным UMG :D).
Форматы любых данных клиента так или иначе есть в свободном доступе (та же оф дока по UE2 сильно поможет с шейдерами ) + сурсы UE2 и примеры реализаций в Umodel.

Когда только начинал знакомиться с UE, не имея вообще представления как и что там работает в течении пары месяцев по вечерам занес почти весь контент из Black Desert Online в двиг используя только импортер функционал, так что все в ваших руках. Самый геморой будет тогда, когда вам придется реализовывать саму игровую логику в клиенте - а ассеты это дай бог 20% от всего обьема работы.
Предлагаю экспортировать террейн, вместе со всеми материалами и моделями и скинуть их мне =) в свою очередь добавлю как стартовую локацию в грядущей ммошке)
 
Предлагаю экспортировать террейн, вместе со всеми материалами и моделями и скинуть их мне =) в свою очередь добавлю как стартовую локацию в грядущей ммошке)
Террейн пока не готов. Дело в том что в BDO он воксельный и я временно использовал статикмеши лодов с кое как натянутыми текстурами. Жду многострадальный обещанный "Next Generation Terrain Solution" и нормальное решение для нанит-мешей с острыми углами.
Может когда-нибудь, как будет время все доделать, зашарю весь проект с импортерами и прочим - там уже сам надергаешь. Сейчас там слишком много условностей и каждую итерацию это все грохается и импортируется заново.
 
Добавлю что форк движка необязателен, Plugin Importer функционала UE хватает с лихвой начиная с шейдеров и карт и заканчивая интерфейсом (удачи с конченным UMG :D).
Форматы любых данных клиента так или иначе есть в свободном доступе (та же оф дока по UE2 сильно поможет с шейдерами ) + сурсы UE2 и примеры реализаций в Umodel.

Когда только начинал знакомиться с UE, не имея вообще представления как и что там работает в течении пары месяцев по вечерам занес почти весь контент из Black Desert Online в двиг используя только импортер функционал, так что все в ваших руках. Самый геморой будет тогда, когда вам придется реализовывать саму игровую логику в клиенте - а ассеты это дай бог 20% от всего обьема работы.

В БДО очень красивый мир и реалистичный, но почему-то очень однотонная цветовая палитра, коричнево- зеленая. Как будто видео в формате RAW
 
Спасибо за ответ! И за огромную дозу вдохновления! (как мне теперь сфокусироватся на работе хаха)

Очень большую работу проделали и очень красиво выглядит. ?




Всё верно, как я и отписал можно пойти любым из этих путей и я думаю выберу оба.

Сделаю форк для более интегрированного DX, подчистить эдитор от барахла если силёнок хватит и их политика по хранению Third Party Dependencies мне совсем не греет душу. Сурс код UE5 имеет более 2GB если заливать его в гитлаб вместе с lfs а билдить хреного тучу сторонних библиотек из сурсов ну такое себе.

---

Для людей которые уже пред-установленным UE5 или тем не хотят работать на кастум форке (потомучто мерджить фиксы в свой форк занимает время) будут да, маленькие плагины под каждый импорт на основе UFactory которые в форке будут доступны предустановленными.



О да, так как главная задача этого проекта сделать generic MMO платформу (песочницу) которую можно использовать для создания своих версии популярных стареньких ММО, и использовать L2 как опорную точку proof-of-concept переноса игры, я точно хочу сделать входной порог как можно ниже чтоб и экспертам было ок работать и самым зелёным новичкам.

UMG это кусок лютого дерьма.

---

Как альтернативу, буду использовать webview overlay, с выбором еще не определился, может стану колупать CEF и удалять с него все чисто вебовское и интегрировать (если мозгов хватит), может пойду путём Tauri где в зависимости от платформы юзают либо виндовский CEF Win10/Win11 или интегрируют CEF в билд отдельно на линуксах.

Может даже просто буду использовать как плагин, всёравно врятли хоть один проект на базе этой платформы превысит 100к$, но тут такое. Надо думать.

Тем самым любые ребятишки с базовыми знаниями HTML/CSS смогут модифицировать любую часть интерфейса и это может послужить входной точкой дальше в IT на более професиональном уровне.
И как успехи ? CEF хоть удалось интегрировать в движок Unity ?
В л2 он более менее работает
 
Да сорян, давно не постил. Работа, ребенок. Начиная с середины февраля появится много времени смогу реализовать много из дизайн документов и думок моих. Нужно было сменить проект, все дела.

Просто список думок...
- Продолжить изучать каждую тему на форуме и собирать проект полной документации по хлебным крошкам с идеально прописанной структурой и техническим материалом, также в использованием `read accessible hints`, и паттерном обучение `progressive disclosure`. Кароче сделать доку читабельной для людей с AD/HD, Dyslexia и прочей хуетой.
- Досканально изучить каждый пакет с версии с1 по High Five, авось и до последних хроник дойду хз
- Разобратся со всеми классами UE2 и переписать опен сурсный код доступный на тему в Rust в более чистой форме
- Реализовать toy server на TS / NestJS с красивым API пакет хэндлеров используя декораторы чтоб быстро так сказать понять и прощупать все досканально.
- Реализовать java (w/ Lombok) /kotlin на Quarkus как алтернативу l2jserver c микросервис архитектурой чисто по фану (но под коммерц проект, не опен сурс)


На счёт клиента сейчас одна цель, ведется работа:
1. Реализовать game-independent mmo boilerplate, возможность реанимировать другие старые и богом забытые, или обосранные оригинальным разработчиком игры.
2. Прийти к ахуенной dir structure/code architecture
3. Прийти к обобщенной базовой библиотеки компонентов на lit.dev для любой хроники.
4. Content Library ВСЕХ АССЕТОВ L2, на CAS с сохранением в двух форматах, `.blend` и `.gltf2`.

и реализовать первый milestone...

🖤 DevMode Lineage2 на UE5

Все-таки конечная цель сделать проект на годы вперед, и дать комюнити песочницу реализации любых фантазии с любым всем миром Л2 вне зависимости в какую хронику каждый влюблен. К таким вещам как структура гит репозитории, лицензиям, структуре директории в каждой репке и общей архитектурой нельзя относится поверхностно.

Команды у меня пока нет, но как реализую основу девмода, и архитектуру, сделаю open-source, и на форуме точно найдутся энтузиасты подсобить с пакеткой, игровой логикой и некоторыми дебильными, но для аутентичности нужными для сохраности механик (кубики хуюбики и их дебильная "физика", всякие там кораблики и прочее)
 
Последнее редактирование:
Маленький эксперимент перед сном

improved_version.webp


Продумываю чёткий пайплайн модернизации каждого ассета мира Л2 для `IMPROVED` версии. Почему бы и нет?

Automatic checks
- Check for errors in mesh normal vertices orientation
- Check for all common errors in 3D (manifold edges, detached vertices etc.)

Mesh changes
- Apply `Merge points by distance` for all meshes
- Apply `Subdivision surface lv 1` to all meshes.

Texture changes
- Upscale color map (Maybe even go UDIMs and 4 level mipmaps?)
- Generate and artistically enhance up-scaled roughness map
- Generate SSS maps (skin maps if applicable)
- Generate up-scaled normal map using manual/AI assistant tooling
- Merge redundant `<example>_ori.tga` into 4th channel (alpha) on the same color map texture to save space on each texture
 
Так, а друкончик справа или слева до? или оба пробные? отражения странные на голове. левый сочнее по цвету и графике, правый как будто с ПБР и высокополигональный
 
Так, а друкончик справа или слева до? или оба пробные? отражения странные на голове. левый сочнее по цвету и графике, правый как будто с ПБР и высокополигональный

Слево оригинальный двумя текстурами, справа апскэйл текстуры, subdivide и 4 доп текстуры, не только Корейцы с НЦСофт могут быть ленивыми, пардон.

---

Согласен не раскрыл до конца чакры, выглядит сомнительно, это пока заметки об автоматизации пайплайна, дракончика взял в пример, вроде как изза шейдеров displacement'a выглядит темнее, а апскейл в данном случае не дал норм результатов ;(, текстура не выглядит очень чёткой а скилл рисования текстур с нуля я не апал с давних времен...

Однако как и в других ассетах оригинала - баги, нюансы и ленивая разработка ИМХО негативно сказывается на перформансе на слабых компах (о реальных тестах напишу позже) которую я хочу в пайплайне импорта ассетов фиксить, импрувить в зависимости от типа assetpack'a (BASE, IMPROVED, REMASTER). Поэтому просто шарю свои находки, а это в свою очередь поможет мне составить чеклист для автоматизированных фиксов. Авось кто-то да вспомнит свои находки и это поможет мне двигатся быстрее)

Список я буду обновлять по ходу идентификации различных недочетов и ошибок. А так вот один из них.

При попытки добавить 1 уровень субд, весь мэш становится дырявым изза не соедененных вершин. Но автоматизация руинит область пасти, и остроту когтей на лапах, поэтому мне будет важно учесть это в пайплайне импорта и обработки мэшей, и добавить версионирование изменений и возможности добавлять мануально правки нужные и возвращатся дальше на фиксы если надо, тут надо подумать...

1737761440149.webp

edit: Попытка #2

strider_v3.webp
 
Последнее редактирование:
Назад
Сверху Снизу