Jump to content

Нужна помощь и критика каждого. Aion 4.6 java


Nsd-Дмитий
 Share

Recommended Posts

Всем привет. Вот и начали работать на своим проектом. Работа идёт около месяца.  Работаем над сервером версии 4.6 . Платформа java . Всё берём в шаре. Ну всё , хватит о нас. Багов очень много, начали разбирать всё.
В конечном итоге должно получится что то новое. То есть контент урезаем до 1.2
Никаких ганеров и каталам не будет.
Так же скилы и стигмы с 1.2,но механику наверное изменять не будем. Конечно если выделяться будет что либо, решим. Отмену магии уберём, перья, вода, ездовых Петов. Будет примерно похоже на 1.2,но. Это не по офу никак. То есть все пытаются сделать оф, мы же пытаемся сделать комфортную игру. Некоторые моменты специально оставим с 4.6. Такие как авто изучение скиллов, возможно дома и аукцион домов. Но это не точно. Некоторые моменты добавим с 7.0+ конечно это ещё в задумке, но всё же работать над этим мы будем. Например анимация исчезновение мобов после убийства , анимация телепорта. В основном конечно это графика. А ещё уже работа идёт над рисовкой интерфейса. Полностью новый интерфейс. Я видел меняли цвет, но мы меняем всё. Так же возможно будет 2 интерфейса для асмодиан и для нях. Сильно не критикуйте) ошибок много, на данный момент работаем с интерфейсом и геодатой.

  • Like 2
Link to comment
Share on other sites

Молодец) это хорошее начинание.

Изменять файлы клиента - это нарушение лицензионного соглашения NCSOFT, что влечёт за собой юридическую составляющую. Так что нужно быть очень аккуратным в этом плане.
Всё остальное поправимо. Но уйдёт очень много времени, если ты хочешь хороший и рабочий контент.

Спрашивай, что интересно, постараемся ответить)

Link to comment
Share on other sites

10 минут назад, Nsd-Дмитий сказал:

Никаких ганеров и каталам не будет.

ИМХО, каталамы очень интересные локации) динамические и в меньшей степени коридорные.

Link to comment
Share on other sites

Так в чём же нужна помощь? 
С геодатой у нас проблемы. У мобов нету обхода препятствий. Как персонаж с поле зрения пропадает ,моб отагривается. Так проходят через объекты. В какую сторону копать? Я так понял нужно прописать путь обхода 

Link to comment
Share on other sites

2 минуты назад, TidalPoo сказал:

ИМХО, каталамы очень интересные локации) динамические и в меньшей степени коридорные.

Это да, мне они тоже нравятся ,но никто не отменял ап версии=) я удалять их точно не буду, но пока что заблокирую

Link to comment
Share on other sites

7 минут назад, TidalPoo сказал:

Молодец) это хорошее начинание.

Изменять файлы клиента - это нарушение лицензионного соглашения NCSOFT, что влечёт за собой юридическую составляющую. Так что нужно быть очень аккуратным в этом плане.
Всё остальное поправимо. Но уйдёт очень много времени, если ты хочешь хороший и рабочий контент.

Спрашивай, что интересно, постараемся ответить)

Мы постараемся быть аккуратными=)

Link to comment
Share on other sites

8 минут назад, Nsd-Дмитий сказал:

Так в чём же нужна помощь? 
С геодатой у нас проблемы. У мобов нету обхода препятствий. Как персонаж с поле зрения пропадает ,моб отагривается. Так проходят через объекты. В какую сторону копать? Я так понял нужно прописать путь обхода 

копать тебе нужно в классе NpcMoveController
Там есть методы следования за целью (target) - проверяй что они делаю.
Так же в классе MoveTaskManager - есть проверочное условие CREATURE_MOVE_PREDICATE, что делать если моб дошёл до цели, или не дошёл. Там тоже куча методов, проследи их все и проверь, где моб может оттагрится.


image.png.3432f3bab6d5c6a91065512c81fae229.png

Прохождение мобов через объекты это работа гео движка. Если высота объекта выше 2 попугаев, то моб пойдет сквозь объект. К сожалению, криворукие разработчики сделали полнейшее гуано)).

Обход делать на основе положения игрока. Запоминать координаты перемещения игрока, и на основе их уже делать обход. То есть ходить по точкам, где был игрок))), игрок ведь не может ходить через объекты.
Походу дела уже можно оптимизировать, и сделать "красивее", чтоб моб мог сокращать путь к цели, по точкам в которых видел игрока.

Link to comment
Share on other sites

39 минут назад, Nsd-Дмитий сказал:

Всем привет. Вот и начали работать на своим проектом. Работа идёт около месяца.  Работаем над сервером версии 4.6 . Платформа java . Всё берём в шаре. Ну всё , хватит о нас. Багов очень много, начали разбирать всё.
В конечном итоге должно получится что то новое. То есть контент урезаем до 1.2
Никаких ганеров и каталам не будет.
Так же скилы и стигмы с 1.2,но механику наверное изменять не будем. Конечно если выделяться будет что либо, решим. Отмену магии уберём, перья, вода, ездовых Петов. Будет примерно похоже на 1.2,но. Это не по офу никак. То есть все пытаются сделать оф, мы же пытаемся сделать комфортную игру. Некоторые моменты специально оставим с 4.6. Такие как авто изучение скиллов, возможно дома и аукцион домов. Но это не точно. Некоторые моменты добавим с 7.0+ конечно это ещё в задумке, но всё же работать над этим мы будем. Например анимация исчезновение мобов после убийства , анимация телепорта. В основном конечно это графика. А ещё уже работа идёт над рисовкой интерфейса. Полностью новый интерфейс. Я видел меняли цвет, но мы меняем всё. Так же возможно будет 2 интерфейса для асмодиан и для нях. Сильно не критикуйте) ошибок много, на данный момент работаем с интерфейсом и геодатой.

К сожалению интерфейс не сделаете, в 5.3+ такое вроде возможно в клиенте. 

А так идея крутая, я как разработчик кастомных систем в Aion даже заинтересовался)

Link to comment
Share on other sites

Только что, WeRn сказал:

К сожалению интерфейс не сделаете, в 5.3+ такое вроде возможно в клиенте. 

А так идея крутая, я как разработчик кастомных систем в Aion даже заинтересовался)

Уже почти готово=) Мы сами рисуем интерфейс и меняем 

Link to comment
Share on other sites

Дорисовываем правую часть и часть где у закла команды пета...Проблема только в том, что пока не знаем как присвоить интерфейс к расе.  Но как дорисуем, будем пробовать. Есть вариант поменять стили интерфейсов, чтобы игрок сам выбирал какой ему по душе. Ну а если ты говоришь про изменение положение интерфейса, то это наверное да, не реально в этой сборке...

 

Link to comment
Share on other sites

5 минут назад, WeRn сказал:

К сожалению интерфейс не сделаете, в 5.3+ такое вроде возможно в клиенте. 

Текстуры можно менять и местоположение на экране. По факту это не сложно.

Link to comment
Share on other sites

Только что, TidalPoo сказал:

Текстуры можно менять и местоположение на экране. По факту это не сложно.

Да, Текстуры не очень сложно менять. Только корейцы сделали очень всё сложно... Половину в одном файле, и половину в другой . Ну и в одном файле куча всего по координатам... Но местоположение пока что не трогаем. Если будет что либо менать,передвинем=)

Link to comment
Share on other sites

15 минут назад, TidalPoo сказал:

копать тебе нужно в классе NpcMoveController
Там есть методы следования за целью (target) - проверяй что они делаю.
Так же в классе MoveTaskManager - есть проверочное условие CREATURE_MOVE_PREDICATE, что делать если моб дошёл до цели, или не дошёл. Там тоже куча методов, проследи их все и проверь, где моб может оттагрится.


image.png.3432f3bab6d5c6a91065512c81fae229.png

Прохождение мобов через объекты это работа гео движка. Если высота объекта выше 2 попугаев, то моб пойдет сквозь объект. К сожалению, криворукие разработчики сделали полнейшее гуано)).

Обход делать на основе положения игрока. Запоминать координаты перемещения игрока, и на основе их уже делать обход. То есть ходить по точкам, где был игрок))), игрок ведь не может ходить через объекты.
Походу дела уже можно оптимизировать, и сделать "красивее", чтоб моб мог сокращать путь к цели, по точкам в которых видел игрока.

Интересно, У меня нет проверочного условие. Блин мой программист будет сегодня поздно, а я сыро понимаю java . 
За что отвечает  directionChanged ?

Link to comment
Share on other sites

24 минуты назад, TidalPoo сказал:

копать тебе нужно в классе NpcMoveController
Там есть методы следования за целью (target) - проверяй что они делаю.
Так же в классе MoveTaskManager - есть проверочное условие CREATURE_MOVE_PREDICATE, что делать если моб дошёл до цели, или не дошёл. Там тоже куча методов, проследи их все и проверь, где моб может оттагрится.


image.png.3432f3bab6d5c6a91065512c81fae229.png

Прохождение мобов через объекты это работа гео движка. Если высота объекта выше 2 попугаев, то моб пойдет сквозь объект. К сожалению, криворукие разработчики сделали полнейшее гуано)).

Обход делать на основе положения игрока. Запоминать координаты перемещения игрока, и на основе их уже делать обход. То есть ходить по точкам, где был игрок))), игрок ведь не может ходить через объекты.
Походу дела уже можно оптимизировать, и сделать "красивее", чтоб моб мог сокращать путь к цели, по точкам в которых видел игрока.

Вы хотите сказать, чтобы я проверял координаты персонажем? Все локации, все объекты?

Link to comment
Share on other sites

19 минут назад, Nsd-Дмитий сказал:

За что отвечает  directionChanged ?

смена направления, вроде по h условие.

18 минут назад, Nsd-Дмитий сказал:

Вы хотите сказать, чтобы я проверял координаты персонажем? Все локации, все объекты?

давай на "ты")
Не совсем понятно, про что ты говоришь, постарайся цитировать часть текста, а то из всего я не пойму к чему относится твоя фраза.

Спойлер

image.png.f4583de3e19660385e5b10b1482d83ae.png

 

Link to comment
Share on other sites

48 минут назад, TidalPoo сказал:

копать тебе нужно в классе NpcMoveController
Там есть методы следования за целью (target) - проверяй что они делаю.
Так же в классе MoveTaskManager - есть проверочное условие CREATURE_MOVE_PREDICATE, что делать если моб дошёл до цели, или не дошёл. Там тоже куча методов, проследи их все и проверь, где моб может оттагрится.


image.png.3432f3bab6d5c6a91065512c81fae229.png

Прохождение мобов через объекты это работа гео движка. Если высота объекта выше 2 попугаев, то моб пойдет сквозь объект. К сожалению, криворукие разработчики сделали полнейшее гуано)).

Обход делать на основе положения игрока. Запоминать координаты перемещения игрока, и на основе их уже делать обход. То есть ходить по точкам, где был игрок))), игрок ведь не может ходить через объекты.
Походу дела уже можно оптимизировать, и сделать "красивее", чтоб моб мог сокращать путь к цели, по точкам в которых видел игрока.

Теперь появилась проблема, мобы вообще не видят препятствие, сквозь них идут, либо по вверх них. Кривая геодата?

 

Link to comment
Share on other sites

2 минуты назад, TidalPoo сказал:

давай на "ты")

Хорошо=)

 

51 минуту назад, TidalPoo сказал:

Обход делать на основе положения игрока. Запоминать координаты перемещения игрока, и на основе их уже делать обход. То есть ходить по точкам, где был игрок))), игрок ведь не может ходить через объекты.

Я про это, мне нужно будет обойти все препятствие?=)

Link to comment
Share on other sites

5 минут назад, Nsd-Дмитий сказал:

Теперь появилась проблема, мобы вообще не видят препятствие, сквозь них идут, либо по вверх них. Кривая геодата?

 

Я просто за сегодня протестил очень много геодат. Возможно геодата не рабочая 

Link to comment
Share on other sites

Только что, Nsd-Дмитий сказал:

Я про это, мне нужно будет обойти все препятствие?=)

Нет, когда игрок сагрил моба, в этот момент нужно запоминать (кэшировать) положение игрока и мобу можно "сказать" чтоб он бежал по координатам, где игрок был в поле видимости. Это самый просто вариант обхода.
Если я не ошибаюсь там каждые 500мс (0,5 секунды) идёт обновление позиции таргета.
То есть когда ты сагрил моба, ты становишься его таргетом. И он начитает двигаться за таргетом, то есть берет текущую точку таргета и бежит к ней, через 500мс, снова проверяет где таргет, берет новую точку и снова бежит к ней. И если таргет зашёл за стенку, то мобу всё равно, есть стенка или нет, он берёт координату таргета и двигается к ней. В некоторых сборках есть проверка "таргет за стенкой или нет", если таргет за стенкой моба надо заставить двигатся к предидущей точке положения таргета, до того как таргет зашёл за стенку). Надеюсь понятно объяснил.

Link to comment
Share on other sites

1 минуту назад, TidalPoo сказал:

Нет, когда игрок сагрил моба, в этот момент нужно запоминать (кэшировать) положение игрока и мобу можно "сказать" чтоб он бежал по координатам, где игрок был в поле видимости. Это самый просто вариант обхода.
Если я не ошибаюсь там каждые 500мс (0,5 секунды) идёт обновление позиции таргета.
То есть когда ты сагрил моба, ты становишься его таргетом. И он начитает двигаться за таргетом, то есть берет текущую точку таргета и бежит к ней, через 500мс, снова проверяет где таргет, берет новую точку и снова бежит к ней. И если таргет зашёл за стенку, то мобу всё равно, есть стенка или нет, он берёт координату таргета и двигается к ней. В некоторых сборках есть проверка "таргет за стенкой или нет", если таргет за стенкой моба надо заставить двигатся к предидущей точке положения таргета, до того как таргет зашёл за стенку). Надеюсь понятно объяснил.

Да , очень даже понятно. Получается сейчас мобы не видят препятствие и идут, я ушёл на шаг назад.

Link to comment
Share on other sites

6 минут назад, Nsd-Дмитий сказал:

Получается сейчас мобы не видят препятствие и идут

Видят) но реализовано оно не очень качественно. canSee функция за это отвечает в классе GeoService. Посмотри как они работают.

Link to comment
Share on other sites

50 минут назад, Nsd-Дмитий сказал:

Да , очень даже понятно. Получается сейчас мобы не видят препятствие и идут, я ушёл на шаг назад.

Вернулся к исходному, мобы видят препятствие и отагриваются. продолжаем

Link to comment
Share on other sites

Заметил ещё то, что половина мобов стоят на месте. нет координат движения. И ещё, что пет у закла работает идеально. Он все препятствие видит, отбегает. Может быть там возможно позаимствовать некоторые скрипты ?

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...