Название: Роль AI в L2J_Mobius [Версия для печати] Автор: admin Время: 2024-10-21 22:39 Название: Роль AI в L2J_Mobius Роль AI в сборке L2J_Mobius ( e2 ^) ?* _& L( B v[attach]504[/attach] % F& f9 T# p% I; x/ ?В игре Lineage 2, NPC (неигровые персонажи) играют ключевую роль: они могут быть монстрами, торговцами, квестовыми персонажами и другими существами, взаимодействующими с игроками. Для того чтобы NPC могли динамично реагировать на действия игроков, в игре используется AI (Artificial Intelligence — искусственный интеллект). + i3 M, }( z- eВ L2J_Mobius, AI определяет, как NPC будут вести себя в определённых ситуациях: как они реагируют на атаки, следят за игроками, взаимодействуют с другими объектами игрового мира, и какие действия они предпринимают в различных игровых ситуациях. 9 S6 g2 K9 C9 E. e, ]1 y6 M6 ?Основные классы AI:
AbstractAI.java 8 X. X* X& U A5 q
Это базовый класс, от которого наследуются все AI. Он содержит основные методы и логику, которые можно расширять для создания различных типов поведения NPC.
Задачи AbstractAI:$ d; @) M D# X
Определение целей NPC.
Реакция на действия игроков (например, атаки).
Обработка передвижения NPC. ?6 u9 i9 |" w
Пример метода из AbstractAI:' m8 `3 |* d; e4 G3 Q0 ~
setIntention(CtrlIntention.AI_INTENTION_ATTACK, target); / E) b9 Y }2 l$ K( I
}8 m, F- F3 z2 O# D, D, H
Скопировать код
2. AttackableAI.java' G. V x( i! }2 k/ l
* h5 d$ z; z8 r8 m5 P; T
Это расширение AbstractAI, которое управляет поведением атакуемых NPC. Этот класс отвечает за логику агрессивных существ (например, монстров), которые могут атаковать игроков или других NPC.
Задачи AttackableAI:( y1 t8 s' Q" r) Q5 F# f! k
Реакция на атаку игрока.
Преследование цели.
Использование умений (магических или физических) в бою. 1 p) K9 v4 h4 S8 t" a$ e, P+ l
Пример логики атаки NPC: # T7 B$ R, X& P$ X) Z' R: R9 O
@Override ; b$ j, g# N3 A: t1 V% Q
protected void onEvtAttacked(Creature attacker) { // public void наСобытиеАтаки(Существо атакующий) # U6 k8 {/ w6 ^, R
// Добавляем атакующего в список целей( V9 h5 C, H, N
// Если NPC не занят другим действием, инициируем атаку9 N; p4 n! u' {2 I6 j
if (!getActor().isAttackingNow()) {7 X% c0 N, O! j* L% B
onIntentionAttack(attacker); // Нападаем на атакующего" f% Q* j* c* \1 ~2 e
} e# e* s% k+ f& T( o
}4 S$ H) ?1 E2 l% y r& L4 T
Скопировать код
3. NpcAI.java: M) x0 j: s6 F# u
K- S/ o, `* D4 J: e3 ~. l
Этот класс используется для мирных NPC, таких как торговцы, квестовые персонажи или персонажи, с которыми игроки могут взаимодействовать, но которые не участвуют в бою.
Задачи NpcAI: * D, X i/ w' m+ C" y
Открытие окна диалога при взаимодействии с игроком.
Вызов событий или скриптов при выполнении квестов. * _" I" i- B: [1 s7 Q: u
Пример взаимодействия с игроком: ' \& w" a* I- K8 G* x( p
Как AI влияет на игровой процесс?8 A6 T# B2 _5 ~+ J9 ^
Реакции на действия игроков: Если игрок атакует NPC, AI решает, как NPC будет реагировать: атаковать в ответ, убегать или звать на помощь. Это зависит от типа AI (например, боевой или мирный).
Логика боя: В боевых ситуациях AI управляет тем, как NPC использует свои способности, выбирает цели и принимает решения в зависимости от ситуации. В бою AI может решить использовать определённое умение или сменить цель на другого игрока.
Поведение вне боя: AI также управляет действиями NPC, которые не участвуют в бою. Например, как NPC патрулируют территорию, как они следуют за игроками (в случае сопровождения), или как реагируют на вход в их зону агрессии. 0 u; j0 _: N1 U5 W
Примеры использования AI в игре:8 h' L9 A, Y6 A, |8 w
Патрулирование и преследование: NPC могут перемещаться по заданным точкам патруля, а при обнаружении врага — начать его преследование и атаку. Это управляется через AttackableAI.
Умные боссы: Боссы в игре часто используют сложные AI-сценарии. Например, боссы могут менять свою тактику в зависимости от уровня здоровья, призывать помощников или использовать мощные способности при достижении определённых условий.
Интерактивные NPC: Мирные NPC, такие как торговцы или квестовые персонажи, используют NpcAI для взаимодействия с игроками. Они могут открывать окна торговли, запускать квесты или реагировать на специальные события. + u0 U9 W: V5 D5 U4 ^. ]
Итог:AI в L2J_Mobius — это ключевой элемент, который делает NPC живыми и динамичными. С помощью AI можно управлять как агрессивными монстрами, так и мирными NPC, настраивая их поведение в зависимости от различных условий. Основные классы AI, такие как AbstractAI, AttackableAI и NpcAI, позволяют гибко настраивать поведение NPC, делая игровой процесс интересным и разнообразным.+ X. w% q2 z7 G8 z' T2 Q
8 B- e2 M8 X3 b0 Y3 m* N0 dP.S.3 l# d8 c. _! W; V$ N) Y: C6 D
Кажется, что иногда NPC умнее, чем мы думаем... будьте осторожны, вдруг они планируют захват сервера? ?* h( O# ^$ U- N) k* }2 K) e2 U
) [+ I" A. y) ~2 b" F1 }' R; H # y# _# N5 x5 V5 ?+ P+ c6 o8 E2 D* _
[groupid=76]Lineage 2[/groupid]
Добро пожаловать artace.ru - творческий сектор (https://www.artace.ru/)