몬스터 나 몹을 위해 대부분의 MMO가 사용하는 AI / 알고리즘의 이름은 무엇입니까?


11

특정 반경 내에있을 때 대부분의 MMO가 몬스터 / 몹을 '집어 들기'위해 사용하는 (정당한 바보) AI의 표준 이름이 있습니까? 도망치려 고?

답변:


11

모든 사람들이 "aggro"라는 이름으로 공을 치고 있다고 생각하지만, 이는 아마도 등장한 행동 일 것입니다 (예 : Boids 와 같은 간단한 규칙 시스템의 부작용 ). 가중 의사 결정 트리를 사용하여 달성 할 수 있다고 생각합니다. 이 시스템이 왜 흥미로운 결과를 낼 수 있는지에 대한 예를 제공하기 위해 다음을 고려하십시오.

    Start
      |
Player threat (based on player level, distance, DPS, etc.)
Very High  High   Low
|          |      |
Flee       Fight  Pass

이 결정은 주변의 각 플레이어 및 몹 하위 그룹 (카테 시안 제품)에 대해 실행됩니다. 그런 다음 전체 폭도는 다음과 같은 의사 결정 트리를 따릅니다.

    Start
      |
Combined results
More flee  More fight                    All pass
|          |                             |
Flee       Attack own fight result;      Attack individuals
           otherwise, attack the player
           with most fight results.
  • 폭도들은 다가오는 플레이어 그룹을 본다. 공격하기 위해 그들을 향해 움직입니다 (거리가 높기 때문에 위협이 적습니다). 그들이 더 가까워지면 위협이 너무 커지고 달려갑니다.
  • 만약 플레이어 레벨이 낮다면, 한 플레이어에게 매우 높은 레벨의 아이템이 주어졌고 폭도들이 그들을 공격한다고 말합니다. 갑자기 한 명의 플레이어가 미친 DPS를 출력하고 폭도들이 도망칩니다.
  • 한 명의 플레이어가 더 위협적인 경우 대부분 의 폭도들이 그에게 집중할 것입니다 (따라서 고전적인 농기구).
  • 한 팀의 선수가하지 말아야 할 그룹을 맡습니다. 폭도들은 개별 플레이어에게 초점을 맞춰 전투 기회를 제공합니다. 그들이 폭도들을 물리 치지 못하면 몇 사람은 스스로 도망 칠 수 있습니다.

여기서 요점은 매우 우아하지만 예측 가능한 시스템이 두 개의 매우 간단한 의사 결정 트리를 사용하여 구축되었다는 것입니다.

참고 : 필요한 결과 중 일부는 특정 시간 제한 동안 재평가가 발생하지 않아야 함을 의미합니다 (예 : 도망은 20 초 '무서운'디버프로 적용되어야 함). 그렇지 않으면 매우 이상한 결과를 얻을 수 있습니다 (예 : 무한한 도망 공격 피드백).


4

Guild Wars는 그냥 " Agro "라고 부르 거나, 적어도 알고리즘의 주요 변수라고합니다.

블로그 게시물의 형태로 " Coma AI " 도 깔끔하게 정리했습니다 . 저자가 AI 복잡성을 코마 수준과 관련시키는 방법이 마음에 듭니다. 따라서이 정의에 따라 "Coma level 4"라고 할 수 있습니다.

레벨 4 (혼란 및 동요)는 표준 AGGRO AI입니다. 파이널 판타지에 어떤 생물이 있습니까? 그것은 당신이 누구든지 당신을 공격합니다. Fallout 3과 같은 고급 AI가있는 게임도 있습니다. 황무지를 헤쳐나 가면 사람과 동물은 명백한 이유없이 나를 공격 할 것입니다. 그들과 대화 할 수있는 방법은 없습니다. 서사시“늑대를 치유하고 싶다”라는 도피 기사가 떠 오릅니다.

그러나 그것은 분명히 당신이 찾고있는 것이 아닙니다.

불행히도 나는 공식적인 이름을 들어 본 적이 없지만 AI 전문가는 아닙니다. 내가 아는 것은 "aggro"라는 철자가 가장 일반적입니다. 물론 "공격적"의 줄임말입니다. "공격적"이라는 말은 철자가 아닌 두 개의 g를 가지고 있습니다.


맞습니다, 나는 삼투에 의한 철자가 틀 렸습니다. 채팅 채널에서 그것을 자주 읽습니다 (임 바라는 단어와 비슷합니다). 나는 그 버전을 사용하기 시작했습니다. 언급 한 AI의 가장 어리석은 부분 중 하나는 5000 레벨이되어 레벨 10을 넘어 서면 공격 할 수 있다는 것입니다.
Chris S

많은 게임에서 "Threat"로 참조하므로 표준 알고리즘 (있는 경우)을 검색하는 데 도움이 될 수 있습니다.
Chris Ridenour

1
"증오"는 또한 모호한 표준 용어입니다.
coderanger

"당신은 레벨 5000이되어 레벨 10을 넘어 가면 공격 할 것입니다."이것은 와우에서는 사실이 아닙니다. 위협의 반경은 당신과 폭도 사이의 레벨 간격이 더 커집니다.
Adam Harte

내가 기억하는 것에서 @TandemAdam, 당신은 여전히 ​​와우에서 레벨 10 이상의 몬스터를 탈 수 있으며 가장 높은 레벨이 될 것입니다. 그것이 두려움
Chris S

2

Ricket에서 언급 한 "aggro"모델링 외에도 일반적인 AI 상태는 "leashing"입니다. NPC가 스폰 지점에서 너무 멀어지면 다시 그곳으로 이동하여 빠르게 치유됩니다. 이는 과도한 키트 를 방지하기위한 것 입니다.


1

실제 이름이 없습니다. 어떤 종류의 '허용 된'알고리즘이 아닙니다. 사소한 상태 머신으로 구현하기가 저렴하고 쉽습니다. 적이 유휴 상태이고 플레이어가 충분히 가까이 있으면 적을 공격적으로 전환하십시오. MMO는 작업하기 쉽기 때문에 계속 사용합니다.


0

MMO의 AI는 무지합니다. 당신은 다양한 기술을 가진 수백만 명의 플레이어에게 다가 갈 수있는 세계를 다루고 있습니다. MMO에 인공 지능이 실제로 존재한다면 생물이 끊임없이 치유자를 공격하고 천 착용자 등을 쫓는 것을 볼 수 있습니다. 그러나 우리는 그것을 보지 못합니다. 우리는 레벨에 따라 몹 x 체력과 공격 등급을 제공하는 시스템과 그것이 속한 파벌 (파벌이 다른 사람들을 공격하게 만듭니다)을 봅니다. 상태가 <y 일 때 (때로는) 실행되며 조건 x가 충족되면 더 많은 몹을 유발할 수 있습니다. 시스템은 DX 롤을 수행하여 공격 / 주문이 맞는지 여부를 확인합니다. 한 명의 플레이어가 공격을 많이 받으면 (위협 발생) 생물은 해당 플레이어에게 돌립니다. 이 시스템은 매우 기본적입니다. 캐주얼 플레이어가 '

거기서부터 우리는 하드 코어 관중에게 호소하는 '고급'만남을 시작합니다. 그러나 AI조차도 완전히 자동화 된 것은 아니며 스크립트 이벤트입니다. 일단 높은 레벨의 길드가 일주일 동안 꿈의 왕을 죽이는 방법을 알아 내면, 우연한 플레이어에게 만남 세부 정보를 전달할 수 있습니다.

NPC와 대화를 시작할 수 있으며 특정 사항을 말함으로써 다른 행동을 유발할 수 있다는 것을 EverQuest에서 기억합니다! 언어 AI.


0

내가 본 것의 첫 번째 버전은 고대 도적 게임 모리아에있었습니다. 각 몬스터 종에는 영향 범위를 나타내는 매개 변수 aaf가 있습니다. 당신이 괴물의 aaf 밖에 있다면, 전혀 움직이지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.