본문으로 건너뛰기

AI 퀘스트 생성기

플레이어 행동 패턴을 분석해 맥락에 맞는 퀘스트를 자동 생성합니다.

개요

플레이어:
- 숲 자주 감
- 늑대 많이 잡음

생성:
"숲 근처에 이상한 늑대가 나타났다."

컴포넌트

AIQuestGenerator — MonoBehaviour.


API

GenerateQuest

QuestData GenerateQuest(EventType trigger, string subject = "creature")
매개변수설명
trigger퀘스트 트리거 행동 유형
subject퀘스트 주제 (예: "wolf", "merchant")
QuestData q = generator.GenerateQuest(EventType.Kill, "wolf");
// → "숲 근처에 이상한 wolf가 나타났다."

OnQuestGenerated 이벤트

event Action<QuestData> OnQuestGenerated
generator.OnQuestGenerated += quest =>
{
QuestUI.Show(quest.Title, quest.Description);
QuestLog.Add(quest);
};

QuestData

public class QuestData
{
public string Title;
public string Description;
public EventType TriggerEvent;
public float GeneratedAt;
}

기본 템플릿

EventType생성 예시
Kill"숲 근처에 이상한 {subject}가 나타났다."
Steal"상인 구역에서 물건이 사라졌다."
Help"도움의 손길이 다시 필요하다."
Rescue"위험에 처한 사람들이 있다."

예제

using NpcMentality;

public class PlayerBehaviorTracker : MonoBehaviour
{
public AIQuestGenerator questGenerator;
private int _wolfKillCount = 0;

public void OnWolfKilled()
{
_wolfKillCount++;

if (_wolfKillCount >= 5)
{
questGenerator.GenerateQuest(EventType.Kill, "wolf");
_wolfKillCount = 0;
}
}

private void Start()
{
questGenerator.OnQuestGenerated += quest =>
Debug.Log($"[New Quest] {quest.Title}");
}
}