Looking for a skilled Java Dev to improve my server movement

markodemarko

Выдающийся
Участник
Сообщения
124
Розыгрыши
0
Репутация
0
Реакции
11
Баллы
1 330
Hello

I m looking only for a skilled dev
Players can enter in castle as example
Or players fall underground if move close to walls
Or monsters or raids move to another Z if move close to walls

send me offers please and avoid to text me if u never work on movement please
 

1724318862880.webp

another example of problem that comes from movement is this

i m using l2jmobius.
 
Which version of mobius is this?
 
Helios? Infinite Odyssey? I don't even know what was in 2019 Mobius.
But it seems to me its a version that uses the typical l2j movement... and the amount of work needed to improve it is a lot.
 
Helios? Infinite Odyssey? I don't even know what was in 2019 Mobius.
But it seems to me its a version that uses the typical l2j movement... and the amount of work needed to improve it is a lot.
I cannot agree with this statement that it uses the typical L2J geo engine.

I know for a fact that in 2020, L2jOrg, based on Mobius, was using a geo engine that uses L2D format, adapted from ACIS. I know so, because I spent sh1tload of time digging while trying to debug it to no avail. I even went as far as to purchase a license for ACIS just so I could get access to their latest version of the said GeoEngine and asked for permission to implement it to ORG, which was granted. I implemented it, but the improvements, while there, were simply not enough. You had to have exquisite/flawless geodata, else it would be glitchy AF.

The said Geo Engine was/is not the typical L2J Geo Engine, nor it used the typical geodata file format. I made a comparison between that engine and the one from L2Scripts' HF build, and they were nothing alike.
In fact, the more I dug into it, the clearer it became to me that it was inferior to the old L2J. So much so, that many who had used it, including ACIS, have moved away from it.

To the creator of the thread - my only advise is to make sure you use some premium geodata, and not one created by automation tools like the `l2mapconv`.
 
Последнее редактирование:
Well, no matter what engine it uses, the issues are obvious. Also, fixing geodata is fixing half of the problem. The other half is the movement system implementation itself. Sure, you can fix the geodata only and leave the movement. Then you will have glitchy movement, but at least no going through walls or falling under the world. Anyway, both would take tremendous time to fix. I never looked at ACIS implementation, so I am curious to see how it works, how many problems it fixes, etc. I have yet to see a server with different movement system than I am familiar with.

Also, I do not understand what you mean by not using geodata created by tools like l2mapconv. What is the difference between the premium geodata you talk about and the one created by l2mapconv? It's not like retail uses a much different method. They use client's buildzone, which is not too far away from l2mapconv. I've used l2mapconv geodata and didn't had any critical issues.
 
Последнее редактирование:
I cannot agree with this statement that it uses the typical L2J geo engine.

I know for a fact that in 2020, L2jOrg, based on Mobius, was using a geo engine that uses L2D format, adapted from ACIS. I know so, because I spent sh1tload of time digging while trying to debug it to no avail. I even went as far as to purchase a license for ACIS just so I could get access to their latest version of the said GeoEngine and asked for permission to implement it to ORG, which was granted. I implemented it, but the improvements, while there, were simply not enough. You had to have exquisite/flawless geodata, else it would be glitchy AF.

The said Geo Engine was/is not the typical L2J Geo Engine, nor it used the typical geodata file format. I made a comparison between that engine and the one from L2Scripts' HF build, and they were nothing alike.
In fact, the more I dug into it, the clearer it became to me that it was inferior to the old L2J. So much so, that many who had used it, including ACIS, have moved away from it.

To the creator of the thread - my only advise is to make sure you use some premium geodata, and not one created by automation tools like the `l2mapconv`.

What is the current geo-engine for acis versions 400+? I really liked the pathfinding there
 
Поиск пути и геодвижок это разные механизмы, с разными задачами.
Геодвижок - это система которая предоставляет информацию о ячейке мира размером 8 на 8 точек(количество слоев, высоту для каждого слоя и NSWE для каждого слоя) по заданным координатам. Все. Ничего другого геодвижок делать не должен и не обязан.
Поиск пути - это намного более сложный механизм, который строит путь из отрезков для движения из точки А в точку Б.
Следовательно, если вы стоите в точке мира и ваши координаты совпадают с расчетными координатами заложенными в геоданных, то геодвижок работает корректно, а все проблемы стоит искать в механизме поиска путей.
 
Поиск пути и геодвижок это разные механизмы, с разными задачами.
Геодвижок - это система которая предоставляет информацию о ячейке мира размером 8 на 8 точек(количество слоев, высоту для каждого слоя и NSWE для каждого слоя) по заданным координатам. Все. Ничего другого геодвижок делать не должен и не обязан.
Поиск пути - это намного более сложный механизм, который строит путь из отрезков для движения из точки А в точку Б.
Следовательно, если вы стоите в точке мира и ваши координаты совпадают с расчетными координатами заложенными в геоданных, то геодвижок работает корректно, а все проблемы стоит искать в механизме поиска путей.

насколько я понимаю, это всетаки взаимосвязанные вещи, которые могут компенсировать косяки друг друга. И в примере топикстартера проблемы возникают вроде от косяков и того и того.
А так же координата в клиенте почти никогда не совпадает с координатой игрока на сервере, и есть весьма большой допуск, как минимум по Z. иногда в целый этаж здания )
 
насколько я понимаю, это всетаки взаимосвязанные вещи, которые могут компенсировать косяки друг друга. И в примере топикстартера проблемы возникают вроде от косяков и того и того.
А так же координата в клиенте почти никогда не совпадает с координатой игрока на сервере, и есть весьма большой допуск, как минимум по Z. иногда в целый этаж здания )
Я говорю про то, что геодвижок это очень простой механизм и в нем в принципе практически нет частей, которые могут работать «чуть-чуть» не правильно. Т.е геодвижок либо работает нормально, либо не работает в принципе. 99% проблем - поиск пути.
 
Я говорю про то, что геодвижок это очень простой механизм и в нем в принципе практически нет частей, которые могут работать «чуть-чуть» не правильно. Т.е геодвижок либо работает нормально, либо не работает в принципе. 99% проблем - поиск пути.

тогда я не совсем понимаю о чем говорит Солти Майк. Как будто он геодвигом называет все вместе, и геодату, и геодвиг и патфайнд
 
I refer to the whole feature/mechanism with the broader term GeoEngine, since it encompases the whole mechanism - the Geo blocks/tiles, the Geodata, the Pathfinding, and the "Engine/Manager" that ties them all together. I could've as well broken it down to all of its individual parts, but it would make even less sense due to the number of different implementations and namings of the files, and especially to those who haven't touched it even once in their life.

That's the general terminology and understanding, as far as I'm concerned.

In any case, these are all tied together. They are the same mechanism, regardless of implementation. It is like saying L2J is not an actual L2 server emulator because it had a different structure or naming conventions than OFF. What matters is that it gets the job done, regardles of name and implementation.

I have no clue why Aristo would make such a separation and go as far as saying the GeoEngine was a simple mechanism, especially given the fact that you can rewrite it however you like and name it whatever you like.

To me, that's stupidity, but to each their own.

I've seen builds that don't even have path-finding as a separate class. Instead, everything has been pulled inside of the GeoEngine.java.

I can provide examples of no less than 5-6 different implementations, including naming conventions, and while they are all similar in functionality, they are nothing alike in terms of structure and execution.

In the case of the Mobius GeoEngine from 2019, the Pathfinding is most likely EVEN a sub-class of GeoEngine, at least that's how it is on my old Mobius builds, hense why I referred to it as the broader term - GeoEngine, or translated to RU - 'Геодвижка'.

I hope this clears the myst for you, @BladeRunner
 
Последнее редактирование:

    BladeRunner

    Баллов: 8
    Thanks,man! sometimes people define the structure of things differently to make it easier for them to understand
Just take all the implementations regarding moving and distance calculations from here Brawery source and it should be fine. Its not pixel perfect and sometimes you will catch some de-sync, on olympiad arenas especially. It also doesn't contain any improvements regarding casting / attack visibility checks, so it still be a crap. But it will close most of your movement bugs
 
I have no clue why Aristo would make such a separation and go as far as saying the GeoEngine was a simple mechanism, especially given the fact that you can rewrite it however you like and name it whatever you like.
Я нахожу странным, что это не очевидно для вас.
 
Honestly, I do not know what geodata those sources use, but regardless, I am aware of the amount of work needed to fix all the movement related issues. I have dealt with it on several packs and it takes weeks, even months to clean all the issues and make it work without problems. I don't even know how to price such kind of work. Without investing that much time, I might be able to fix some more critical issues, such as going through castle walls or falling through ground, but fixing movement glitches, desynchronizing (rubber-banding) and so on is problematic. Depending on your movement system, it might ignore geodata completely when underwater or flying, like vanilla l2j does.
 
Назад
Сверху Снизу