Jump to content

Зоны в java эмуляторе, он же ZoneEngine.


TidalPoo
 Share

Recommended Posts

Продолжая цикл наработок. Добрался тут я значится до ZoneEngine. Скажу сразу, выпилил я это дерьмо сразу и без раздумий.
Снова и снова удивляюсь, каким же надо быть идиотом, чтоб кодить такое - привет Aion Lignting 🙂

Во-первых локации... регионы... зоны... - нет слов. Короче, для тех кто в танке. Локации на сервере делят на регионы (квадратики с определенным размером), а потом к этим локациям ещё и зоны присваивают. А потом ещё и к каждой зоне в каждом квадратике присваиваются находящиеся там объекты, включая игроков и НПС. То есть мало того WorldInstance хранит все объекты, MapRegion хранит объекты, и ZoneInstance хранит ещё и свои объекты. Скажите мне зачем??? Тот кто писал это дерьмо, у меня к тебе вопрос - ты конченый идиот или ещё есть шансы на исправление. Зачем в зонах хранить данные? Их реализация кончается на вход и выход в/из зону/ы, всё, большего от них не требуется. Вошел игрок в зону, сработал onEnter, вышел из зоны, сработал onLeave. Ну зачем же это всё?

Второе. Если правильно посмотреть в клиент, то там есть четкое разделение зон на категории.
На днях тут написал "построитель зон", вот пример его работы:

Спойлер

lf2.json.thumb.png.8f4040745f4efad064124c46071a2985.png

Если посмотреть из чего состоят зоны локации, то тут вообще появится просто огромная кучу идей как удалить не нужный говнокод ZoneInstance, или как пример RoadObserver. Короче, для тех кто шарит может очень много понять из этой картинки.

Третье. Это вообще полнейший бред.
image.png.f857139af4aecb56efbb86a5170f41cb.png

Может в 2009 году это и было актуально. На дворе 2021. 12 лет как минимум минуло. Есть куча оптимизированных библиотек для реализации геометрий и работы с ними. Один из самых топовых это JTS Topology Suite. На основе его реализации, можно и геометрии построить, и точки в пространстве определять один "кликом". Нет ну вы серьезно думаете, что использовать устаревшее это нормально???

В общем нет слов... У себя я это всё перепил и работает от души + много новых возможностей появилось. Советую к реализации. 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

ну вот и началось)
RoadService вырезан нахер)
Это схема того, что удалено и что стало)
2021-11-20_21-20-23.thumb.png.97e47e01adf6e1630675486c842517ef.png

 

По факту static_data/roads переместился в ZonePortal (json) и всё) больше ничего не нужно, в новый ZoneServic добавлено новый кейс). Всё остальное гавно написанное SheppeR, удалено нахер.

  • Like 1
Link to comment
Share on other sites

14 часов назад, TidalPoo сказал:

ну вот и началось)
RoadService вырезан нахер)
Это схема того, что удалено и что стало)
2021-11-20_21-20-23.thumb.png.97e47e01adf6e1630675486c842517ef.png

 

По факту static_data/roads переместился в ZonePortal (json) и всё) больше ничего не нужно, в новый ZoneServic добавлено новый кейс). Всё остальное гавно написанное SheppeR, удалено нахер.

это разломы для владельцев зоны что ли?

Link to comment
Share on other sites

58 минут назад, Booblik сказал:

это разломы для владельцев зоны что ли?

нет, это переходы между локациями через края карты. В некоторых локациях есть такие места.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...