이 튜토리얼에서는 플레이어가 게임 내 여러 NPC (비플레이어 캐릭터)와 상호작용할 수 있도록 하는 방법을 보여드리겠습니다(이 경우 오웬 박사라는 캐릭터). 이전에는 플레이어가 바텐더와 대화하는 것만 가능했습니다. 이제 플레이어가 특별 퀘스트를 완료한 후에도 오웬 박사와 대화할 수 있도록 이 기능을 확장했습니다.
주요 학습 내용
- 특정 퀘스트를 완료해야만 이용할 수 있는 NPC를 게임에 통합할 수 있습니다.
- NPC와의 커뮤니케이션은 드롭다운 메뉴를 통해 사용 가능한 옵션을 동적으로 표시하여 구현할 수 있습니다.
- 각 NPC는 보다 사실적인 상호작용을 위해 고유한 시스템 프롬프트와 배경 스토리가 필요합니다.
단계별 가이드
먼저 오웬 박사와의 상호작용을 게임에 통합하는 방법을 살펴봅시다. 이를 위해서는 플레이어가 이 NPC와 대화하기 전에 완료해야 하는 퀘스트를 만들어야 합니다.
1단계: 퀘스트 생성하기 오웬 박사와 대화하려면 플레이어는 먼저 "오웬 박사에게 음료수 사주기" 퀘스트를 완료해야 합니다. 플레이어를 바텐더와 대화를 시작할 수 있는 바에 안내하는 것으로 시작합니다. 플레이어가 바에 들어가면 바텐더와 대화할 수 있는 옵션이 표시됩니다. 이는 타임스탬프 26에서 발생합니다.

이제 플레이어는 퀘스트를 완료하기 위해 바텐더와 상호작용해야 합니다. 대화가 끝나면 오웬 박사에게 음료를 구매합니다. 플레이어는 바텐더에게 "오웬 박사님께 음료를 사드려도 되나요?"라고 물어봐야 합니다. 이렇게 하면 퀘스트가 완료되고 플레이어는 오웬 박사와 대화할 수 있는 기회를 얻게 됩니다.

2단계: 동적 NPC 목록 플레이어가 퀘스트를 완료하면 대화할 수 있는 NPC 드롭다운 목록에 오웬 박사가 나타납니다. "오웬 박사에게 음료수 사주기" 퀘스트를 성공적으로 완료했는지 확인해야 오웬 박사를 만날 수 있습니다.
이를 위해서는 퀘스트가 완료된 것으로 표시되었는지 확인하는 기능이 필요합니다. 이 작업은 타임스탬프 120에서 수행되며, 여기서 NPC 사용 가능 여부에 대한 로직이 구현됩니다.

3단계: NPC 상호작용 확장 바텐더와 오웬 박사를 모두 포함하도록 코드에 NPC 배열을 새로 생성합니다. 플레이어가 누구와 대화하는지 알 수 있도록 각 캐릭터에 ID와 이름을 할당하세요.

NPC를 필터링하는 로직은 실제로 사용 가능한 NPC만 표시되도록 해야 합니다. 플레이어가 드롭다운에서 캐릭터를 선택할 때마다 해당 캐릭터가 사용 가능한 NPC 배열에 포함되는지 확인합니다.
이렇게 하면 타임스탬프 180에서 설명한 대로 실제로 사용할 수 있는 옵션만 표시되도록 할 수 있습니다.

4단계: 오웬 박사를 위한 시스템 프롬프트 오웬 박사와 대화하려면 그의 배경 스토리가 포함된 특별한 시스템 프롬프트가 필요합니다. 이는 오웬 박사와의 상호작용이 의미 있고 흥미롭게 이루어질 수 있도록 구현되어야 합니다.
드롭다운 메뉴가 제대로 작동하고 플레이어가 오웬 박사를 선택할 수 있게 되면, 오웬 박사와의 모든 상호작용이 더 이상 바텐더와 이루어지지 않도록 해야 합니다. 이에 대해서는 타임스탬프 238에서 설명합니다.

요약
이 가이드에서는 특별 퀘스트를 완료해야만 상호작용할 수 있는 새로운 NPC를 게임에 통합하는 방법을 배웠습니다. 드롭다운 옵션을 동적화하는 NPC 워크플로와 NPC를 위한 커스텀 시스템 프롬프트의 필요성에 대해 배웠습니다.
자주 묻는 질문
오웬 박사와의 상호작용을 활성화하려면 어떻게 해야 하나요? "오웬 박사에게 음료수 사주기" 퀘스트를 완료했는지 확인하세요.
게임에 새 NPC를 추가하려면 어떻게 하나요?새로운 NPC 배열을 생성하고 코드에서 사용 가능성 로직을 업데이트하세요.
NPC 드롭다운 메뉴는 어떻게 작동하나요?드롭다운 메뉴는 플레이어가 완료한 퀘스트에 따라 사용 가능한 NPC에 따라 동적으로 채워집니다.