Написание сервера для lineage 2 chronicle 1 на node.js

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

    TrueFell

    Баллов: 1
    Отличная статья, спасибо!

Наконец-то разобрался как синхронизировать бег с сервером и клиентом. Написал статью по этому поводу
Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout, который не гарантирует вызов колбэка сразу в заданный момент времени, а лишь гарантирует, что он не будет вызван раньше. Не разбираюсь в ноде, но если там какой-то размазанный по процессорам event-loop, то при средней нагрузке эти таймеры начнут неплохо так съезжать. Я бы выделил отдельное ядро для легковесных задач, которым важна точность.
 
Последнее редактирование:
Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout, который не гарантирует вызов колбэка сразу в заданный момент времени, а лишь гарантирует, что он не будет вызван раньше. Не разбираюсь в ноде, но если там какой-то размазанный по процессорам event-loop, то при средней нагрузке эти таймеры начнут неплохо так съезжать. Я бы выделил отдельное ядро для легковесных задач, которым важна точность. Возможно нода для setTimeout так и делает?
Точность не одна миллисекунда а 118(про данные из статьи)

Главное было понять проблему с бегом и решить ее. Потом можно все на воркеры перевести. Это дело 10ое

"Кажется, вся это борьба за точность и миллисекунды убивается о setTimeout"

Обратите внимание на последние gif файлы. Точность идеальная.
 
Update

Сделал изменение движение персонажа при движении к цели.

 
как будто запаздывает с коррекцией траектории. я бы поменьше задержку коррекции поставил. или ее нет и так обрабатывается патфайндинг?
 
Update
Персонаж атакует. Если цель после атаки далеко то персонаж следует за целью дальше.

 
Update
Персонаж атакует. Если цель после атаки далеко то персонаж следует за целью дальше.

Весело будет когда придется обрабатывать движение летающих объектов =) Таких как виверна )
А еще интереснее будет, с вычислением позиции объекта на другом объекте, который движется ( это к примеру Кораблик ) , но вот если сделаешь как надо =) будет здорово, можно будет внести что-то новое !
 
Весело будет когда придется обрабатывать движение летающих объектов =) Таких как виверна )
А еще интереснее будет, с вычислением позиции объекта на другом объекте, который движется ( это к примеру Кораблик ) , но вот если сделаешь как надо =) будет здорово, можно будет внести что-то новое !
Step by step

До корабля и виверн есть обработка Z кординат. Геодаты и поиск пути)))

А пока ближайшие цели:
Перемещение NPC(Это уже есть),
Интеллект NPC(Одно действие - перемещение в случайную точку)
Ответ на атаку игрока(остановится и атаковать нападающего)
Преследовать игрока если в состоянии атаки

Ну и по мелочи
Logout
Инвентарь
Смерть игрока/нпц
Respawn NPC
 

    BladeRunner

    Баллов: 1
    премия за изобретение велосипеда! дико увлекательно и непредсказуемо за этим наблюдать!
Назад
Сверху Снизу