• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

JTS 2018 2018-05-26

Нет прав для скачивания
Так может подскажите человеку? Вместо "громких фраз"?
Наверняка там будет что то вроде правки расчёта скорости(1 строка) что бы совпадали на клиенте и сервере или сверка координат при посылке стоп пакета (1 строка), хрень полная.
В любом случае рожок хорошо расписал, буду за компом продолжу эксперемента.
 
 
Вот как все работает, записал видео где все подробно видно. Для наглядного отображения рассинхрона координат была использована идея Rozhek с банками.
Отдельно кику посмотреть хотя бы концовку
 
Мне понравилось как в фильме киск сыграл, оскара ему!
 
Такое расположение Хилок показывает наглядно как Сервер выставляет позицию по центрам геоблоков. Ов геодвиг умеет работать только с центрами геоблоков.
Разница в расхождениях клиент-сервер определяется скоростью и накопленными расхождениями при поворотах. Потому что при каждом новом начале движения, клиентская координата не равна серверной. Поэтому же и при движении по прямой расхождение одинаковое.
К этому умению работать только с центрами стоит добавить: неправильное количество точек при расчёте процденного расстояния, неправильный подсчёт скорости, поперченное расхождение из-за того что в клиенте мы двигаемся по вектору, а в игре квадратами по блокам, сетевой лаг при начале движения сервер-клиент. Суммарно это дает то, что мы видим. Это ты ещё не пробовал вокруг препятствий круги наматывать.
На Acis в геодвиге решена половина этих проблем, но добавлена другая критичная - когда мы оказываемся внутри запрещённого геоблока(текстуры) и застреваем.
Других геодвигов я не знаю, так что не знаю даже что посоветовать )
 
видимо, лучше чем нибудь другим пока заняться и не зацикливать на геодвиге.
 
а как насчет геодвижка 2016 jts, там вроде Мув контроллер добавили, лучше или шило? Я его не смог запустить по причине ошибок


Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/velocity/context/Context
at org.mmocore.gameserver.GameServer.<init>(GameServer.java:135)
at org.mmocore.gameserver.GameServer.main(GameServer.java:385)
Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context.Context
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
 
А как на счет юнити геодвигла, ни кто не тестил?
 
Я тестил данное чудо, 1 словом недоработанный просто до дыр (отсутствует элементарный поиск пути). Ведет себя конечно по лучше чем оверовский, но хватает своих косяков
 
Да чет не похоже на акисов

 
Так ты смотришь 370 aCis, а последние 385
 
Понял, у них что то своё. половина методов с оверов половина с асисов. Ничего в этом случае не знаю тогда, предлагаю потестить)
 
Кто сможет объяснить как это работает?
Java:
                int index = (int) (moveList.size() * done);
                if (index >= moveList.size()) {
                    index = moveList.size() - 1;
                }
                if (index < 0) {
                    index = 0;
                }

                setLoc(loc, true);
Как я понял moveList содержит все точки на пути. Можете кинуть в меня помидорку но moveList.size чисто логически возвращает количество строк в листе (в каждой строке координаты точки на пути). Done это отдельная история:
Java:
                doneDist += (now - _startMoveTime) * _previousSpeed / 1000.D;

                double done = doneDist / allDist;
done примет значение около единицы лишь в конце пути. У меня уже мозг закипел пытаясь понять логику в этом.
 
Сделав вывод в консоль переменной index предположил что это чудо каким то образом находит индексы точек в листе. Но все же логика мне не понятна. При этом то начинает с 0, то с единицы. При включенном ГМ хасте дублирует некоторые индексы.
 
А откуда массив raids?
 
В данных исходах присутствует бэкдор, не рекомендую к использованию на лайф, пока его не уберете