내러티브 및 롤플레잉 템플릿의 핵심 게임플레이는 대화 장치와 Verse 코드를 사용하여 플레이어가 NPC와 상호작용하는 데 초점이 맞춰져 있습니다.
플레이어가 워렌에 있는 사람들과 대화하라는 지시를 받은 후에는 여러 NPC와 대화가 가능합니다. 플레이어가 메인 퀘스트를 시작하려는 경우, DJ 드로이드 캐릭터 또는 카리스(음료 카운터 뒤에 있는 캐릭터)와 대화하면 됩니다.
이 페이지에서는 템플릿에서 NPC 상호작용이 사용되는 방식을 설명하고, 각 캐릭터의 대화 장치가 어떻게 구성되어 있는지 보여줍니다. Verse 코드 예시를 포함하여 각 캐릭터의 대화를 제어하기 위해 생성된 Verse 장치에 대해서도 설명합니다.
마지막으로 이 섹션에서는 NPC 대화를 사용하여 게임의 스토리를 만들고 확장하는 방법과 이러한 대화가 몰입감 있는 게임 월드를 만드는 데 어떻게 도움이 되는지 소개합니다.
NPC 대화 사용하기
이 템플릿에서는 NPC 대화가 핵심 기능을 합니다. 다음 목적으로 사용된 대화 예시를 볼 수 있습니다.
플레이어가 상호작용할 수 있는 다른 NPC를 가리킵니다.
플레이어에게 퀘스트 목표를 제시합니다.
세력 평판 및 캐릭터 태도와 같은 특정 커스텀 스탯을 증가시키거나 감소시킵니다.
아래 섹션에서는 대화 장치 구성 방식, 각 NPC 대화가 보여 주는 특수한 기능 몇 가지, 내러티브 디자인을 향상하고 세계관 조성을 위해 캐릭터 대화를 사용하는 방법에 관한 몇 가지 일반적인 팁을 확인할 수 있습니다.
대화 장치에 대한 자세한 정보와 사용 방법은 다음을 참고하세요.
DJ 드로이드 NPC 생성하기
게임 내 대부분 NPC는 캐릭터지만, 사실 무엇이든 NPC가 될 수 있습니다. DJ 드로이드 NPC(DJ R0-B0)는 실제로는 정크 드로이드 헤드 에셋이며, 그 옆에 보이지 않는 대화 장치가 설치되어 있습니다. 이 에셋은 콘텐츠 브라우저의 스타워즈™ 콘텐츠(Star Wars™ Content) > 사물(Props) > 아웃포스트 엔클레이브(Outpost Enclave)에서 이름이 IcedTea Junk DroidHead C B로 설정되어 있습니다. 같은 폴더에서 이름이 WH Keyboard 01 C인 둥근 키보드 사물을 찾을 수 있습니다(드로이드 머리가 놓여 있음).
DJ 드로이드 대화 장치 구성하기
DJ R0-B0에는 7가지 대화 장치를 가지고 있으며, 각 장치에는 고유한 대화 뱅크 에셋이 있습니다. 이는 메인 퀘스트의 각 단계에서 DJ R0-B0의 대화를 나타냅니다.
대화 뱅크 에셋은 프로젝트 폴더의 대화(Dialogue) > DJDroid에서 찾을 수 있습니다. 대화 뱅크를 우클릭하고 편집(Edit)을 선택하면 대화 에디터(Conversation Editor)에서 해당 대화 뱅크의 그래프가 열립니다.
DJ R0-B0는 플레이어에게 메인 퀘스트를 제시하는 NPC입니다. 이 템플릿에는 하나의 주요 퀘스트라인만 있습니다. 나만의 섬을 만들 때, 디자인 비전에 적합하다면 더 많은 NPC와 퀘스트를 추가해도 좋습니다.
DJ R0-B0와의 대화는 퀘스트 목표를 제시하고 보상을 제공할 뿐만 아니라, 특정 응답은 플레이어의 반란군 평판 스탯과 DJ R0-B0의 태도 스탯을 높여 주기도 합니다. 플레이어가 퀘스트의 특정 단계에 도달하면 스캐빈저 NPC(벡스)에 대한 액세스도 잠금 해제됩니다.
장치 옵션
DJ R0-B0의 모든 대화 장치는 동일한 장치 옵션을 가지고 있으므로 아래 표는 모든 장치에 적용됩니다. 아직 설정하지 않은 경우 다음 옵션을 설정합니다. 여기에 없는 옵션은 기본값으로 두어도 됩니다.
옵션 | 값 | 설명 |
대화 유형 (Conversation Type) | 커스텀 | 대화에 커스텀 UI 위젯이 사용됨을 나타냅니다. |
초당 문자 수 (Characters Per Second) | 50.0 | 화면에 텍스트가 표시되는 속도입니다. |
텍스트 크롤 메시지 건너뛰기 (Skip Text Crawl Message) | 건너뛰기 (Skip) | 플레이어가 텍스트 크롤을 건너뛰고 모든 텍스트를 즉시 표시할 수 있도록 클릭하는 버튼에 표시되는 텍스트입니다. |
화자 이름 (Speaker Name) | DJ R0-B0 | 플레이어가 대화하는 NPC의 이름입니다. |
근접 시 이름 표시 (Show Name When Nearby) | True | 플레이어가 화자 근처에 있을 때(약 5미터 이내) NPC의 이름을 화면에 표시합니다. |
말풍선 아이콘 표시 (Show Indicator Bubble) | True | 말풍선 아이콘 범위 옵션에서 설정한 NPC로부터의 거리 내에 있을 경우 플레이어에게 말풍선 아이콘을 표시합니다. |
말풍선 아이콘 범위 (Indicator Bubble Range) | 15.0미터 | NPC에 표시되는 말풍선 아이콘을 플레이어가 볼 수 있는 범위(미터)입니다. |
대화 옵션
디테일(Details) 패널의 옵션 중 대화(Conversations) 섹션은 DJ R0-B0의 7개 대화 장치 모두에 동일하게 적용되지만, 대화 옵션 자체는 각 장치마다 다른 대화 뱅크 에셋을 가리킨다는 점이 다릅니다.
옵션 | 값 | 설명 |
대화 (Conversation) | DJDroid_Conversation_1 | 대화 DJ 1 장치와 연결된 대화 뱅크 에셋입니다. 다른 대화 장치를 보는 중이라면, 이름의 숫자는 장치 이름에 있는 숫자와 일치합니다. |
대화 머티리얼 - 인덱스 0 (Conversation Materials - Index 0) | M_Character_DJDroid | DJ R0-B0용 커스텀 캐릭터 머티리얼입니다. 이 머티리얼과 플레이어 캐릭터용 머티리얼은 대화 그래프의 대화 머티리얼 세트 노드에서 사용됩니다. 머티리얼은 프로젝트 폴더의 UI > 머티리얼(Materials)에서 찾을 수 있습니다. 대화 머티리얼에 머티리얼을 추가하려면 더하기 기호를 클릭하여 배열 엘리먼트를 추가한 다음 추가할 머티리얼을 선택하세요. |
대화 머티리얼 - 인덱스 1 (Conversation Materials - Index 1) | M_Character_Player | 플레이어 캐릭터를 위한 커스텀 캐릭터 머티리얼입니다. 이 머티리얼은 대화 그래프의 대화 머티리얼 세트 노드에서 사용됩니다. 머티리얼은 프로젝트 폴더의 UI > 머티리얼에서 찾을 수 있습니다. 대화 머티리얼에 머티리얼을 추가하려면 더하기 기호를 클릭하여 배열 엘리먼트를 추가한 다음 추가할 머티리얼을 선택하세요. |
모달 위젯 옵션
디테일 패널의 모달 위젯(Modal Widget) 섹션에는 커스텀 위젯(Custom Widget) 옵션이 있습니다. 이 대화 장치에 사용되는 커스텀 UI 위젯을 가리킵니다. 이 템플릿에서는 모든 대화 장치가 동일한 커스텀 UI 위젯을 사용합니다. 나만의 경험을 만들 경우, 원한다면 각 NPC에 대해 다양한 커스텀 위젯을 디자인하고 사용할 수 있습니다.
옵션 | 값 | 설명 |
커스텀 위젯 | UW_UI_Conversation_Lightside | 대화 상자에 사용되는 커스텀 UI 위젯입니다. 이 위젯은 프로젝트 폴더의 UI > 위젯(Widgets) > 대화(Conversation)에서 찾을 수 있습니다. 이 위젯은 편집 가능합니다. |
DJ 스크립트-대화 Verse 장치 사용하기
DJ R0-B0과의 대화는 DJ 스크립트-대화(DJ Scripts-dialog) Verse 장치와 스크립트-퀘스트 매니저(Scripts-Quest Manager) Verse 장치로 제어됩니다. DJ R0-B0 퀘스트의 각 단계에서 dialog_device.verse 및 quest_manager_device.verse 스크립트가 활성화/비활성화되는 대화 장치를 처리합니다. Verse 코드에는 각 코드 부분이 어떤 기능을 하는지에 대한 정보를 제공하는 상세한 주석이 달려 있습니다. 사용자 편의를 위해 아래에 dialog_device.verse에 대한 Verse 코드 전문이 복사되어 있습니다.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
sub_dialog<public>:=enum:
Start,
SubDialog_A,
카리스 대화 장치 구성하기
앞서 언급했듯이, 플레이어는 DJ R0-B0와 대화하거나 카운터 뒤의 NPC(카리스)와 대화하여 메인 퀘스트를 시작할 수 있습니다. 이 템플릿에서 카리스는 플레이어를 DJ R0-B0 쪽으로 안내하며, 해당 NPC에게 도움이 필요하다고 언급합니다. 플레이어가 카리스와 DJ R0-B0 중 누구에게 먼저 말을 걸더라도 퀘스트라인은 동일하게 진행됩니다. 카리스는 퀘스트라인 후반부에도 중요합니다. 카리스의 지시에 따라 존 대장과 대화해야 하기 때문입니다.
이 템플릿의 모든 명명된 NPC와 마찬가지로, 카리스는 대화에서 플레이어가 어떻게 반응하는지에 따라 오르거나 낮아지는 태도 스탯을 가지고 있습니다. 태도 스탯 생성에 대한 자세한 정보는 세력 평판 및 NPC 태도를 참고하세요.
카리스에게는 대화 장치 5개가 있으며, 그중 4개는 시작 대화 트리의 여러 버전을 대표합니다. 이러한 버전은 플레이어가 반복 불가능한 대화 분기를 완료할 때의 여러 순서를 고려합니다. 자세한 정보는 아래에서 랜덤 베리언트가 있는 대화 노드 사용하기를 참고하세요.
장치, 대화 및 모달 위젯 옵션
카리스 대화 장치의 모든 장치 옵션은 다음을 제외하고 DJ 드로이드 대화 장치 옵션과 동일합니다.
옵션 | 값 | 설명 |
말풍선 아이콘 범위 (Indicator Bubble Range) | 10.0미터 | 카리스는 카운터 뒤에 있기 때문에, 플레이어가 말풍선 아이콘을 보려면 더 가까이 다가가야 합니다. |
대화(Conversation) 옵션(디테일 패널의 대화 섹션에 있음)은 각 대화 장치의 대화 뱅크 에셋을 가리켜야 합니다.
커스텀 위젯(Custom Widget) 옵션은 DJ 드로이드 대화 장치와 동일한 커스텀 UI 위젯으로 설정됩니다.
랜덤 베리언트가 있는 대화 노드 사용하기
카리스 대화 뱅크 그래프는 랜덤 베리언트가 있는 대화 노드를 사용합니다. 이 노드를 대화 뱅크 그래프에 추가하면 여러 대사에 가중치와 우선순위를 부여하여 랜덤하게 선택되도록 할 수 있습니다. 이를 통해 NPC와의 대화가 더욱 역동적이고 흥미로워지며, 상호작용이 더욱 현실적으로 느껴집니다.
카리스 대화의 랜덤 베리언트가 있는 대화 노드에는 카리스가 플레이어에게 할 수 있는 5가지 서로 다른 인사말이 있습니다. 대부분 인사말은 가중치가 1.0이지만, 대화 장치에 따라 하나는 가중치가 5.0입니다. 가중치가 더 높은 인사말이 장치로 선택될 가능성이 높습니다.
카리스 스크립트-대화 Verse 장치 사용하기
카리스와의 대화는 스크립트-퀘스트 매니저 Verse 장치와 함께 DJ 스크립트-대화 Verse 장치로 제어됩니다. dialog_device.verse 및 quest_manager_device.verse 스크립트는 메인 퀘스트의 각 해당 단계에서 활성화/비활성화되는 대화 장치를 처리합니다. dialog_device.verse 스크립트 코드는 DJ 스크립트-대화 Verse 장치 사용하기 섹션에서 찾을 수 있습니다.
스캐빈저 대화 장치 구성하기
스캐빈저 벡스는 플레이어가 DJ R0-B0 수리에 사용하는 부품을 제공하는 NPC입니다. 벡스는 3개의 대화 장치를 가지고 있으며, 각 장치에는 고유한 대화 뱅크 에셋이 있습니다. 이는 메인 퀘스트의 후반 단계에서 벡스의 대화를 나타냅니다.
장치, 대화 및 모달 위젯 옵션
스캐빈저 대화 장치의 모든 장치 옵션은 다음을 제외하고 DJ 드로이드 대화 장치 옵션과 동일합니다.
옵션 | 값 | 설명 |
말풍선 아이콘 범위 (Indicator Bubble Range) | 5.0미터 | 카리스는 작은 방 안에 있기 때문에, 플레이어가 말풍선 아이콘을 보려면 더 가까이 다가가야 합니다. |
대화(Conversation) 옵션(디테일 패널의 대화 섹션에 있음)은 각 스캐빈저 대화 장치에 해당하는 대화 뱅크 에셋을 가리켜야 합니다.
커스텀 위젯(Custom Widget) 옵션은 DJ 드로이드 대화 장치와 동일한 커스텀 UI 위젯으로 설정됩니다.
다양한 NPC 시작 태도
스캐빈저 벡스는 카리스나 DJ R0-B0보다 시작 태도 스탯이 낮습니다. 따라서 벡스의 대화는 카리스나 DJ R0-B0의 대화보다 덜 친근합니다. 플레이어가 DJ R0-B0의 특정 퀘스트 목표를 완료하지 않으면 Vex는 플레이어에게 말을 걸지 않고, 다가가더라도 그다지 우호적이지 않을 것입니다. 벡스의 태도 스탯을 높이는 대답은 카리스 또는 DJ R0-B0의 태도 스탯을 높이는 대답과는 아주 다릅니다.
태도 스탯에 대한 자세한 정보는 세력 평판 및 NPC 태도를 참고하세요.
퀘스트 목표 완료 전 NPC 대화 차단하기
플레이어가 DJ 드로이드나 바텐더와 대화하기 전에 스캐빈저 벡스와 상호작용할 경우, NPC는 비우호적이며 플레이어와 대화하지 않습니다. 플레이어가 퀘스트의 특정 단계를 완료하면 벡스는 플레이어와 대화할 것입니다.
이는 퀘스트 진행을 통해 특정 NPC와의 소통을 차단하고 해제하는 방법을 보여주는 예시입니다. 다른 사용 예시는 다음과 같습니다.
플레이어가 다양한 레벨의 퀘스트를 이용하거나 다양한 레벨의 지역에 접근할 수 있도록 합니다.
특정 NPC가 강력한 전리품을 주기 전에 플레이어가 목표를 완료하도록 요구
특정 퀘스트를 완료해야만 대화할 수 있는 NPC와의 상호작용을 통해 다른 지역이나 맵에 액세스할 수 있도록 설정
퀘스트 완료 전까지 NPC와의 소통을 차단하는 또 하나의 예시는 반란군 대장 NPC입니다. 대장과 퀘스트에 대한 자세한 정보는 대화 및 퀘스트를 참고하세요.
스캐빈저 스크립트-대화 Verse 장치
벡스와의 대화는 스크립트-퀘스트 매니저 Verse 장치와 함께 DJ 스크립트-대화 Verse 장치로 제어됩니다. dialog_device.verse 및 quest_manager_device.verse 스크립트는 메인 퀘스트의 각 해당 단계에서 활성화/비활성화되는 대화 장치를 처리합니다. dialog_device.verse 스크립트 코드는 DJ 스크립트-대화 Verse 장치 사용하기 섹션에서 찾을 수 있습니다.
반란군 대장 NPC 사용하기
반란군 대장 NPC는 잠겨 있는 방 안에 있습니다. 문은 플레이어가 다음 목표를 완료한 후에만 열립니다.
플레이어가 DJ R0-B0를 수리했습니다.
플레이어는 반란군 평판 100을 얻었습니다.
플레이어가 바텐더 카리스와 대화하고 탈의실을 사용했습니다.
존 대장은 퀘스트 보상 역할을 합니다. 이 NPC는 만나기가 어렵습니다. 플레이어가 반란군 평판 100을 쌓기 전까지는 대화도 할 수 없습니다. 이 템플릿에서 메인 퀘스트는 존 대장과 대화하면 완료됩니다. 그러나 존 대장을 하나 이상의 신규 퀘스트를 제공하도록 만들 수도 있고, DJ R0-B0 수리 보상으로 보다 실질적인 보상으로써 전리품을 주도록 할 수도 있습니다.
플레이어는 존 대장과 사박 게임을 할 수도 있으며, 이는 대체 퀘스트 보상의 한 예시입니다. NPC 상호작용을 사용하여 섬에서 미니게임을 플레이할 수 있도록 하는 방법도 알아봅니다.
반란군 대장 대화 장치 구성하기
대장 대화 장치의 모든 장치 옵션은 다음을 제외하고 DJ 드로이드 대화 장치 옵션과 동일합니다.
옵션 | 값 | 설명 |
말풍선 아이콘 범위 (Indicator Bubble Range) | 5.0미터 | 대장은 작은 방 안에 있기 때문에, 플레이어가 말풍선 아이콘을 보려면 더 가까이 다가가야 합니다. |
대화(Conversation) 옵션(디테일 패널의 대화 섹션에 있음)은 각 대장 대화 장치에 해당하는 대화 뱅크 에셋을 가리켜야 합니다.
커스텀 위젯(Custom Widget) 옵션은 DJ 드로이드 대화 장치와 동일한 커스텀 UI 위젯으로 설정됩니다.
대장 스크립트-대화 Verse 장치
존 대장과의 대화는 스크립트-퀘스트 매니저 Verse 장치와 함께 대장 스크립트-대화 Verse 장치로 제어됩니다. dialog_device.verse 및 quest_manager_device.verse 스크립트는 메인 퀘스트의 각 해당 단계에서 활성화/비활성화되는 대화 장치를 처리합니다. Dialog_device.verse 스크립트 코드는 DJ 스크립트-대화 Verse 장치 사용하기 섹션에서 찾을 수 있습니다.
대화를 통한 내러티브 만들기
대부분의 게임에는 어떠한 형태로는 NPC 상호작용 및 대화가 포함되어 있지만, 롤플레잉 게임(RPG) 및 비주얼 노벨에서 특히 많이 활용합니다. 게임에서 NPC와의 대화는 여러 목적을 수행합니다.
세계관 조성: 모든 캐릭터는 게임 세계에 따라 고유한 목소리, 의견, 경험을 가지고 있습니다. 이는 가상 세계도, 우리가 사는 현실 세계도 모두 마찬가지입니다. 대화는 캐릭터가 자신의 성격을 보여 주고, 자신이 사는 세상에 대해 플레이어에게 알려 주는 방법입니다.
미션 또는 퀘스트: 상호작용 가능한 NPC의 가장 일반적인 목적은 플레이어에게 퀘스트 또는 미션을 제공하는 것입니다. 전반적인 스토리라인 퀘스트부터 소소한 사이드 퀘스트까지, 게임플레이 중 목표를 제공하는 NPC는 거의 모든 플레이어에게 친숙할 것입니다.
스토리 및 테마: 게임 스토리가 아무리 단순하거나 복잡하더라도, 캐릭터는 주요 테마를 표현하고 플롯에 참여할 수 있습니다. 때때로 특정 NPC와 상호작용하기로 결정하면, 다른 스토리 분기나 다른 엔딩으로 이어질 수 있습니다. NPC의 배경, 개인 스토리라인, 비밀과 바람은 플레이어가 게임 스토리에서 탐구하고자 하는 전반적인 테마를 보여줄 수 있으며, 이 모두는 대화를 통해 가장 두드러지게 나타납니다.
아래에서 대화를 통해 세계관을 조성하고 내러티브를 향상하는 몇 가지 구체적인 방법을 알아보겠습니다.
롤플레이 강화
플레이어는 NPC와 상호작용할 때 롤플레잉에 참여할 수 있게 됩니다. NPC 대화로 플레이어가 대화하는 상대가 어떤 인물인지 파악할 수 있다면, 플레이어가 롤플레잉에 더 쉽게 몰입할 수 있습니다. 그러면 플레이어는 이 특정 NPC와 자신이 비슷한지 혹은 다른지 상상할 수 있죠.
플레이어는 또한 자신의 선택이 게임의 스토리와 세계에 의미 있는 영향을 미치기를 원합니다. 예를 들어 평판이나 태도를 높이거나 낮추는 시스템이 있으면, 플레이어는 NPC가 자신을 좋아하는지 또는 싫어하도록 할지 결정할 수 있으며, 이는 플레이어가 자신의 캐릭터와 게임 세계에 몰입하는 데 도움이 됩니다.
보조용 대화 선택지
대부분의 대화는 게임플레이와 관련이 있게 만드는 것이 효율적이지만, 때로는 성격을 드러내는 NPC 대사나 플레이어 반응은 그 자체로 재미있을 수 있습니다. 각각 다른 태도(친절함, 건방짐, 비꼬는 태도 등)를 취하는 두세 가지 옵션을 제공해 보세요.
모든 결정이 스토리나 NPC의 태도에 영향을 미칠 필요는 없습니다. 건방지거나 진지한 것 중에서 선택할 수 있다는 것 자체만으로도 재미있을 수 있습니다!
플레이어를 화자로 사용하기
많은 게임에서는 NPC의 질문 또는 진술에 대한 답변으로 플레이어 전용 대사를 제공합니다. 이때 플레이어를 두 번째 화자로 포함하면 몰입도를 높일 수 있습니다.
음성 대화가 없더라도, 플레이어의 선택을 단순히 누르기만 하면 되는 버튼이 아닌 대화로 제시해 보세요. 장면에 플레이어가 하나의 참여자로서 확실히 등장하도록 하는 좋은 방법입니다. 대화 그래프 에디터에서 플레이어와 NPC 모두에 대한 대화 노드를 포함할 수 있습니다. NPC와 플레이어에 대해 별도의 머티리얼을 포함하면 누가 발화 중인지 더 쉽게 알 수 있습니다.
이 템플릿은 플레이어 캐릭터를 화자로 포함함으로써, 표준 대화 UI를 매력적인 캐릭터 대화를 제시하는 데 어떻게 사용할 수 있는지 보여줍니다. 간결한 응답 버튼은 플레이어를 위해 간단하고 이해가 쉬운 결정을 만들어 줍니다. 전체 대화 상자를 활용하여 이러한 결정을 플레이어 대화로 옮기면 보다 구체적이고 현실적인 대화를 만들 수 있습니다.
대화 에디터와 해당 노드 사용에 대한 자세한 정보는 대화 생성하기를 참고하세요.