Название: Роль AI в L2J_Mobius [Версия для печати] Автор: admin Время: 2024-10-21 22:39 Название: Роль AI в L2J_Mobius Роль AI в сборке L2J_Mobius; z+ f% ~: M, X3 _$ t, m
[attach]504[/attach] 7 F4 o5 d1 M, l; rВ игре Lineage 2, NPC (неигровые персонажи) играют ключевую роль: они могут быть монстрами, торговцами, квестовыми персонажами и другими существами, взаимодействующими с игроками. Для того чтобы NPC могли динамично реагировать на действия игроков, в игре используется AI (Artificial Intelligence — искусственный интеллект). j& l. `: W, R+ N) m
В L2J_Mobius, AI определяет, как NPC будут вести себя в определённых ситуациях: как они реагируют на атаки, следят за игроками, взаимодействуют с другими объектами игрового мира, и какие действия они предпринимают в различных игровых ситуациях. Y% C" h" e7 ]' R6 Y6 X1 z1 T# M Основные классы AI:
AbstractAI.java 4 Q' L1 j) U2 Y7 N0 Y
Это базовый класс, от которого наследуются все AI. Он содержит основные методы и логику, которые можно расширять для создания различных типов поведения NPC.
setIntention(CtrlIntention.AI_INTENTION_ATTACK, target); & v5 \. w P% n' z1 a2 @9 V3 S
}3 ~, V/ ]6 z$ |6 Y/ [ ?. A j
Скопировать код
2. AttackableAI.java 0 d8 e6 x+ m$ f' e& j2 Q - Y+ c% _, i7 q3 i- W
Это расширение AbstractAI, которое управляет поведением атакуемых NPC. Этот класс отвечает за логику агрессивных существ (например, монстров), которые могут атаковать игроков или других NPC.
Задачи AttackableAI: " |! B3 w2 n! J9 n7 G3 T
Реакция на атаку игрока.
Преследование цели.
Использование умений (магических или физических) в бою.9 U2 w5 s f2 Y8 S- z% G7 S
Пример логики атаки NPC:. l" }7 p! ~( f7 l2 Q( X" L7 G
@Override& o. J g5 J H) e2 j. B1 ]+ F
protected void onEvtAttacked(Creature attacker) { // public void наСобытиеАтаки(Существо атакующий) }- [0 \% T" o* M7 u
// Добавляем атакующего в список целей' i$ C! V3 V6 E+ f8 W1 A1 o
// Если NPC не занят другим действием, инициируем атаку$ B, N) _+ k7 b- n) n7 _7 F7 v
if (!getActor().isAttackingNow()) { 0 B) k* f6 z" H3 N3 [$ y) i
onIntentionAttack(attacker); // Нападаем на атакующего . ^9 f8 L1 d2 V& _" @0 w
} 0 ?, l# U& `4 n
} 5 I4 J: e$ a2 y2 m* S, i
Скопировать код
3. NpcAI.java5 ?9 a* E2 m( O
1 t2 }+ }, x& i% m9 P- p; m" N
Этот класс используется для мирных NPC, таких как торговцы, квестовые персонажи или персонажи, с которыми игроки могут взаимодействовать, но которые не участвуют в бою.
Задачи NpcAI: - w+ z% y/ D- m0 p% i% s
Открытие окна диалога при взаимодействии с игроком.
Вызов событий или скриптов при выполнении квестов. $ C0 t, T# ~6 o, Z
Пример взаимодействия с игроком:$ k6 r n1 `1 B$ O9 s$ y" C
@Override ( r8 J: d \3 c- M7 e8 R
protected void onEvtThink() { - d' X* _1 N0 ~' d
if (_actor.isNpc()) {' U1 R5 C0 H5 n- j9 I$ P. e
// Открываем окно диалога при взаимодействии с NPC 0 E' g, _0 h0 L3 Q% Z0 N, q
_actor.showChatWindow(player); ; F0 L* ^. r; A) }
}7 k5 v8 g4 j% [$ `/ N! Z' b+ F9 _
} . }6 S _( I& F9 ]" }/ e
Скопировать код
Как AI влияет на игровой процесс? 4 Y% Z! d2 \! o: O( E
Реакции на действия игроков: Если игрок атакует NPC, AI решает, как NPC будет реагировать: атаковать в ответ, убегать или звать на помощь. Это зависит от типа AI (например, боевой или мирный).
Логика боя: В боевых ситуациях AI управляет тем, как NPC использует свои способности, выбирает цели и принимает решения в зависимости от ситуации. В бою AI может решить использовать определённое умение или сменить цель на другого игрока.
Поведение вне боя: AI также управляет действиями NPC, которые не участвуют в бою. Например, как NPC патрулируют территорию, как они следуют за игроками (в случае сопровождения), или как реагируют на вход в их зону агрессии.5 C1 \5 T' e1 O; F5 o
Примеры использования AI в игре: 3 ]' K. h7 Q/ f( Z- n; ^5 t( ?! B2 `
Патрулирование и преследование: NPC могут перемещаться по заданным точкам патруля, а при обнаружении врага — начать его преследование и атаку. Это управляется через AttackableAI.
Умные боссы: Боссы в игре часто используют сложные AI-сценарии. Например, боссы могут менять свою тактику в зависимости от уровня здоровья, призывать помощников или использовать мощные способности при достижении определённых условий.
Интерактивные NPC: Мирные NPC, такие как торговцы или квестовые персонажи, используют NpcAI для взаимодействия с игроками. Они могут открывать окна торговли, запускать квесты или реагировать на специальные события. 8 ?% o4 {, u- d7 S, m! W
Итог:AI в L2J_Mobius — это ключевой элемент, который делает NPC живыми и динамичными. С помощью AI можно управлять как агрессивными монстрами, так и мирными NPC, настраивая их поведение в зависимости от различных условий. Основные классы AI, такие как AbstractAI, AttackableAI и NpcAI, позволяют гибко настраивать поведение NPC, делая игровой процесс интересным и разнообразным. + ^5 w" [0 J" J" a1 q/ Z6 \/ I3 n P.S. 4 I0 w+ W0 g. jКажется, что иногда NPC умнее, чем мы думаем... будьте осторожны, вдруг они планируют захват сервера? ? , C- V( z$ y/ n! j + H! s7 m4 e, H" f4 [7 P9 w: c5 \4 f0 u
8 ~ i6 }1 F2 ]1 C
[groupid=76]Lineage 2[/groupid]
Добро пожаловать artace.ru - творческий сектор (https://www.artace.ru/)