Написание сервера для 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
    премия за изобретение велосипеда! дико увлекательно и непредсказуемо за этим наблюдать!

    proxy1991

    Баллов: 1
    парень толковый!!!!
Расширение (Extends)

Если заглядывать на будущее. На сколько эта тема может быть интересной, чтобы у сервера было API и возможность без исправление исходных кодов писать собственные extends скрипты?
 
Расширение (Extends)

Если заглядывать на будущее. На сколько эта тема может быть интересной, чтобы у сервера было API и возможность без исправление исходных кодов писать собственные extends скрипты?
Так это тебе вопрос. Ты же не думаешь, что кто-то в здравом уме будет использовать твою сборку на лайве?
PS: Я не пытаюсь негативить, просто это звучит забавно)
 
Так это тебе вопрос. Ты же не думаешь, что кто-то в здравом уме будет использовать твою сборку на лайве?
PS: Я не пытаюсь негативить, просто это звучит забавно)
А что за рофл такой? Если сборка будет в идеальном состоянии, без багов, дыр и прочего, почему бы его не использовать для лайва? или у вас у линейщиков, особое восприятие реальности и кроме сборок джавы больше юзать ничего нельзя?)
 
А что за рофл такой? Если сборка будет в идеальном состоянии, без багов, дыр и прочего, почему бы его не использовать для лайва? или у вас у линейщиков, особое восприятие реальности и кроме сборок джавы больше юзать ничего нельзя?)
Ты сейчас предположил, что сборка C1, которая за 5 лет получила функциональность входа в мир и 2D перемещения персонажа, будет в идеальном состоянии, без багов, дыр и прочего в срок более ранний, чем ее разработчик умрет от старости? Я верно тебя понял?
 
Ты сейчас предположил, что сборка C1, которая за 5 лет получила функциональность входа в мир и 2D перемещения персонажа, будет в идеальном состоянии, без багов, дыр и прочего в срок более ранний, чем ее разработчик умрет от старости? Я верно тебя понял?
Я вообще [А по щам?] знает что такое C1, но на любой продукт есть потребитель. Даже у дыракола.
А если продукт "Сборка" будет в идеальном состоянии, с возможностью допила в виде сурсов, то почему бы и не юзать его?
 
Так это тебе вопрос. Ты же не думаешь, что кто-то в здравом уме будет использовать твою сборку на лайве?
PS: Я не пытаюсь негативить, просто это звучит забавно)
Вопрос про лайв и не стоит в ближайшее время. Так как нет основы.

Для примера есть клиент на javascript. Он не доделан, но можно писать свои скрипты. И тем самым интерес проявлять к проекту и расширение сообщества.

Может кто-то для себя захочет тестировать что-то в L2 в экспериментальных целых.

"Ты же не думаешь, что кто-то в здравом уме будет использовать твою сборку на лайве"
Это и есть "негативить".

Ты сейчас предположил, что сборка C1, которая за 5 лет получила функциональность входа в мир и 2D перемещения персонажа, будет в идеальном состоянии, без багов, дыр и прочего в срок более ранний, чем ее разработчик умрет от старости? Я верно тебя понял?
Не за 5 лет а за 2 месяца.

Ты же не предполагаешь, что работа велась 5 лет?
 
Последнее редактирование:

    BladeRunner

    Баллов: 0
    как ты в реальном мире то выживаешь с такой логикой...
Ты же не предполагаешь, что работа велась 5 лет?
Я увидел первое сообщение в теме от 2019 года. Ты же не предполагаешь, что я буду читать 12 страниц, чтобы выяснить это?

Для примера есть клиент на javascript. Он не доделан, но можно писать свои скрипты. И тем самым интерес проявлять к проекту и расширение сообщества
он вызывает интерес тем, что клиентов больше нет альтернативных. Серверов же дохера и человек который захочет что-то потестить в л2, имеет выбор из пары сотен сборок на яве и пачки оригинальных ПТС(с4, Ил, ГФ, ХФ, Хомункулус).
Твой проект конечно интересен, но проектировать к нему API с возможностью писать расширения - несколько, гм, преждевременно.
 
Расширение (Extends)

Если заглядывать на будущее. На сколько эта тема может быть интересной, чтобы у сервера было API и возможность без исправление исходных кодов писать собственные extends скрипты?
АПИ это всегда круто, но в таком его использовании есть одна явная проблема. Костыль будет стоять на костыле, что плохо для крупного проекта (не говорите это создателям х86 архитектуры только :pandaredlol:)
 
Я вообще [А по щам?] знает что такое C1, но на любой продукт есть потребитель. Даже у дыракола.
А если продукт "Сборка" будет в идеальном состоянии, с возможностью допила в виде сурсов, то почему бы и не юзать его?
Попробуй чего не будь разработать и ты поймешь, что-бы создать и обкатать исходники нужно километры тестов и километры кода. Можно что-то написать и за месяц но потом будешь пол года дырки находить поэтому и применяют подходы TDD но это удвоит если не утроит время разработки
 
Я увидел первое сообщение в теме от 2019 года. Ты же не предполагаешь, что я буду читать 12 страниц, чтобы выяснить это?


он вызывает интерес тем, что клиентов больше нет альтернативных. Серверов же дохера и человек который захочет что-то потестить в л2, имеет выбор из пары сотен сборок на яве и пачки оригинальных ПТС(с4, Ил, ГФ, ХФ, Хомункулус).
Твой проект конечно интересен, но проектировать к нему API с возможностью писать расширения - несколько, гм, преждевременно.
Да, но однако претензию ты высказал, что за 5 лет только такой результат.

Интерес я описывал свой а не сообщества.
 
Да, но однако претензию ты высказал, что за 5 лет только такой результат.
Я претензию высказал, ты на нее ответил. Все обменялись подозрительными взглядами и началась резня.
 
Назад
Сверху Снизу