Appearance
프롤로그 전 플레이 프로필 선택 PRD
Backlog grooming 단계의 산출물. 무엇을 만들지·왜 만들지·핵심 비즈니스 룰을 정의한다. 화면별 디테일(컴포넌트·상태·인터랙션)은 spec.md로.
Status: draft Created: 2026-06-10 Last updated: 2026-06-10 Linear (메인 이슈): DEE-399Linear Project: [앱/웹/스튜디오] 프롤로그 전 플레이 프로필 선택Author: Dreamy 앱/웹/스튜디오: 앱 / 웹 / 스튜디오
1. 목표 및 배경
1.1 문제
프롤로그는 유저가 에피소드의 재미를 처음 판단하는 구간인데, 현재 디렉터가 프롤로그 안에서 다음을 직접 처리하는 경우가 있다.
- 유저에게 주인공/플레이 프로필 내용을 묻는다.
- 디렉터가 추천하는 프로필을 프롤로그 선택지로 넣는다.
- 유저의 프로필 정보가 부족해 첫 장면을 바로 시작하지 못한다.
이 때문에 프롤로그가 이야기로 바로 진입하지 못하고, 설정 수집/선택 안내로 시작해 몰입 품질이 떨어진다.
1.2 목표
프롤로그 진입 전에 이번 플레이에 사용할 플레이 프로필(localPlayProfile) 을 빠르게 선택/확정하게 해서, 프롤로그 본문은 곧바로 이야기로 시작하게 한다.
- 디렉터가 프롤로그 안에서 프로필을 수집하거나 추천 선택지를 넣지 않아도 되게 한다.
- 기존 유저 플레이 프로필 → 플레이 시작 시 localPlayProfile 복사 구조를 활용한다.
- 디렉터가 에피소드 맥락에 맞는 주인공 프로필 예시를 스튜디오에서 준비할 수 있게 한다.
- 유저는 디렉터 예시, 내 플레이 프로필, 이번 플레이만 수정 중 하나로 짧게 시작할 수 있게 한다.
- 선택 결과는 기본적으로 해당 play의 localPlayProfile에만 적용하고, 계정 레벨 프로필은 자동 변경하지 않는다.
1.3 핵심 근거
- 기존 PRD 「플레이 프로필 & 유저노트」에 이미 다음 구조가 있다.
- 유저 플레이 프로필: 계정 레벨 프로필. 이름/설명, 최대 100개.
- 플레이 프로필(localPlayProfile): 플레이 시작 시 유저 플레이 프로필에서 복사되는 play 귀속 프로필. 해당 플레이 안에서만 독립 수정/교체 가능.
- 따라서 새 “추천 페르소나” 시스템을 만들기보다, 프롤로그 전 localPlayProfile 초기값을 더 잘 고르게 하는 UX로 푸는 것이 작고 안전하다.
- 다라 데이터 확인 기준, localPlayProfile 설명 데이터는 약하다.
- 설명 입력 플레이율: 24.1%
- 설명 입력 유저율: 15.9%
- 전체 포함 중앙값: 0자
- 비어있거나 이름만 있음: 75.9%
- 즉
내 플레이 프로필을 기본 우선값으로 두기보다, 디렉터가 에피소드용으로 준비한 프로필 예시를 우선 추천하고 내 프로필은 보조 선택지로 두는 편이 프롤로그 품질을 더 안정적으로 보장한다.
1.4 해결 방향
에피소드 플레이 시작 시, 프롤로그 첫 프레임에 들어가기 전에 플레이 프로필 선택/확인 화면을 노출한다.
- 디렉터가 스튜디오에서 등록한 에피소드용 주인공 프로필 예시가 있으면 이를 우선 추천한다.
- 유저가 기존 내 플레이 프로필을 쓰고 싶으면 선택할 수 있다.
- 필요하면 이번 플레이에서만 이름/설명을 짧게 수정할 수 있다.
- 최종 선택값은 해당 play의 localPlayProfile로 복사된다.
- 유저가 명시적으로 선택하지 않는 한 계정 레벨 유저 플레이 프로필은 변경하지 않는다.
2. 타깃 사용자
2.1 주요 사용자
- 에피소드를 새로 시작하는 유저: 프롤로그 진입 전에 이번 플레이의 주인공 프로필을 확정한다.
- 프로필을 거의 작성하지 않은 유저: 디렉터 예시를 선택해 설정 부담 없이 에피소드에 맞는 주인공으로 시작한다.
- 내 프로필을 잘 작성해 둔 유저: 디렉터 예시 대신 내 플레이 프로필로 시작할 수 있다.
- 디렉터/크리에이터: 프롤로그 안에서 프로필 질문을 처리하지 않고, 스튜디오에서 에피소드용 예시를 미리 준비한다.
2.2 범위 밖
- 계정 레벨 유저 플레이 프로필 관리 기능 전체 개편.
- 플레이 중 프로필/유저노트 편집 메뉴 개편.
- localPlayProfile의 씬 생성 프롬프트 전달 포맷 재설계.
- 디렉터가 만드는 플레이어 캐릭터 설정 전체 구조 개편.
- 추천 알고리즘 기반 페르소나 자동 생성.
2.3 핵심 시나리오
- 디렉터가 스튜디오에서 에피소드용 주인공 프로필 예시 1~3개를 등록한다.
- 유저가 에피소드 플레이를 새로 시작한다.
- 프롤로그 진입 전, 프로필 선택/확인 화면이 열린다.
- 기본 추천은 디렉터 예시다.
- 유저는 다음 중 하나를 선택한다.
- 디렉터 예시로 시작
- 내 플레이 프로필로 시작
- 이번 플레이만 직접 수정
- 선택값이 play의 localPlayProfile로 복사된다.
- 프롤로그는 프로필 질문 없이 바로 이야기로 시작한다.
3. 핵심 기능 요구사항
3-1. 스튜디오 — 에피소드용 주인공 프로필 예시 등록
주요 동작
디렉터는 에피소드 작성/설정 과정에서, 해당 에피소드의 프롤로그를 더 잘 즐길 수 있는 주인공 프로필 예시를 등록한다.
필드(v1)
| 필드 | 설명 | 필수 |
|---|---|---|
| 프로필 이름 | 주인공의 짧은 역할/정체성. 예: 잠입 수사관, 도망친 왕녀, 기억을 잃은 생존자 | 필수 |
| 프로필 설명 | 프롤로그와 첫 씬에서 AI가 참고할 주인공 맥락. 예: 정체를 숨기고 사건 현장에 들어온 냉정한 수사관 | 필수 |
| 정렬 순서 | 여러 예시가 있을 때 앱 노출 순서 | 필수 |
| 활성 여부 | 작성해 두되 앱에 노출하지 않을 수 있는 토글 | 선택 |
등록 정책
- 에피소드당 0~3개 등록 가능.
- 1개 이상 활성 예시가 있으면 앱에서 디렉터 예시 영역을 노출한다.
- 활성 예시가 0개면 프롤로그 전 선택 화면은 내 플레이 프로필/기본 localPlayProfile 중심으로 동작한다.
- 예시는 에피소드 발행 전후 모두 수정 가능하게 할지 여부는 Open Question으로 둔다.
작성 가이드
- 성별/나이 같은 인구통계 강제보다, 에피소드에서 재미를 만드는 역할, 관계, 비밀, 동기, 현재 상황 중심으로 쓴다.
- 유저 개인 정보처럼 보이는 문장을 강제하지 않는다.
- 프롤로그 안에서 “당신은 누구인가요?”를 묻는 선택지를 넣는 대신, 이 필드로 밖에서 처리한다.
3-2. 앱/웹 — 프롤로그 전 플레이 프로필 선택/확인
주요 동작
유저가 새 play를 시작하면, 프롤로그 첫 프레임 진입 전에 이번 플레이의 localPlayProfile 초기값을 선택/확정한다.
노출 조건
- 새 play 시작 시점.
- 디렉터 예시가 1개 이상 있거나, 유저가 선택 가능한 유저 플레이 프로필을 가지고 있거나, 기본 프로필 확인이 필요한 경우.
- 기존 play 이어하기에는 노출하지 않는다. 이미 생성된 localPlayProfile을 유지한다.
선택 우선순위
- 디렉터 추천 주인공 프로필 예시
- 기본 추천/기본 선택.
- localPlayProfile 설명 데이터가 약하므로 v1 기본값으로 둔다.
- 내 플레이 프로필
- 유저가 계정 레벨에 저장한 유저 플레이 프로필.
- 설명을 잘 채운 유저가 자기 설정으로 시작할 수 있게 한다.
- 이번 플레이만 직접 수정
- 디렉터 예시 또는 내 프로필을 바탕으로 이름/설명을 수정한다.
- 수정 결과는 이번 play의 localPlayProfile에만 저장된다.
저장 정책
- 선택한 값은 play 생성 시 localPlayProfile로 복사한다.
- 계정 레벨 유저 플레이 프로필은 자동 변경하지 않는다.
내 프로필로 저장은 별도 명시 액션으로만 제공한다.내 프로필로 저장은 v1 필수는 아니며, 제공 시 기존 유저 플레이 프로필 슬롯 정책(최대 100개)을 따른다.
UX 강도
- 장황한 온보딩이 아니라, 프롤로그 직전의 얇은 확인 화면으로 둔다.
- 기본 추천값이 있으면 유저는
이 프로필로 시작한 번으로 넘어갈 수 있어야 한다. - 설명 입력을 강제하지 않는다.
- 디렉터 팁은 필요 시 짧게 노출한다. 예: “이 에피소드는 정체를 숨긴 인물로 시작하면 더 재밌어요.”
3-3. 프롤로그/씬 생성 연동
- 프롤로그 본문에서는 프로필 수집/추천 선택지를 넣지 않는 것을 권장한다.
- 선택된 localPlayProfile은 기존 플레이 프로필과 동일하게 씬 생성 입력에 포함된다.
- 변경 적용 시점은 기존 정책과 맞춘다.
- 플레이 시작 전 선택값: 프롤로그/첫 씬부터 적용.
- 플레이 중 수정값: 다음 씬 생성부터 적용.
4. 에러 처리 및 예외 상황
| 상황 | 처리 방향 |
|---|---|
| 디렉터 예시 0개 | 디렉터 예시 영역 미노출. 내 플레이 프로필/기본 localPlayProfile로 시작 |
| 유저 플레이 프로필 설명이 비어 있음 | 내 프로필 선택은 가능하되, 기본 추천은 디렉터 예시 유지 |
| 유저가 직접 수정 중 이탈 | 저장하지 않고 이전 선택값 유지 |
| localPlayProfile 생성/저장 실패 | 프롤로그 진입을 막지 말지, 재시도/토스트 처리할지 spec에서 결정 |
| 계정 프로필 저장 실패 | play의 localPlayProfile 저장과 분리. 내 프로필로 저장 실패만 토스트 처리 |
| 디렉터 예시가 발행 후 삭제/비활성화됨 | 새 play부터 미노출. 기존 play의 localPlayProfile은 유지 |
| 기존 play 이어하기 | 선택 화면 미노출. 기존 localPlayProfile 유지 |
5. 데이터 분석
5.1 핵심 지표
- 프로필 선택 화면 노출 → 프롤로그 시작률
- 프로필 소스별 선택률
director_examplemy_profilemanual_editdefault
- 프로필 선택 소스별 프롤로그 완료율
- 프로필 선택 소스별 첫 씬 생성 전환율
- 직접 수정률
- 내 프로필로 저장 클릭률/성공률(제공 시)
- 디렉터 예시 등록률
- 발행 에피소드 중 예시 1개 이상 등록 비율
5.2 로깅 이벤트 초안
| 타입 | 이름 | 용도 | 주요 파라미터 | 상태 |
|---|---|---|---|---|
| Event | view_play_profile_select | 프롤로그 전 프로필 선택 화면 노출 | episode_id, play_id, example_count, has_my_profile, default_source | 신규 |
| Event | select_play_profile_source | 프로필 소스 선택 | episode_id, play_id, source, example_slot, edited | 신규 |
| Event | edit_local_play_profile_before_prologue | 이번 플레이만 수정 | episode_id, play_id, base_source, name_changed, description_changed | 신규 |
| Event | save_local_profile_to_user_profile | 내 프로필로 저장 | episode_id, play_id, source | 신규/옵션 |
| Event | start_prologue_with_play_profile | 선택 프로필로 프롤로그 시작 | episode_id, play_id, source | 신규 또는 기존 프롤로그 시작 이벤트 확장 |
6. Ubiquitous Language
| Term | Korean | Definition | Do Not Confuse With | Primary Domain | 상태 |
|---|---|---|---|---|---|
| User play profile | 유저 플레이 프로필 | 계정 레벨에 저장된 프로필. 이름/설명, 최대 100개 | play 귀속 localPlayProfile | Profile | 기존 |
| Play profile | 플레이 프로필(localPlayProfile) | play 시작 시 적용되는 play 귀속 프로필. 유저 플레이 프로필 또는 디렉터 예시에서 복사됨 | 계정 레벨 유저 플레이 프로필 | Play | 기존 |
| Director profile example | 디렉터 프로필 예시 / 주인공 프로필 예시 | 디렉터가 에피소드별로 준비하는 추천 localPlayProfile 초기값 | 추천 페르소나 시스템, 캐릭터 설정 | Studio / Play | 신규 |
| Prologue | 프롤로그 | 에피소드의 첫 이야기 경험. 본 PRD에서는 프로필 수집 없이 바로 이야기 시작을 목표로 함 | 첫 씬 생성 | Play | 기존 |
7. Open Questions
- [ ] [Studio/BE] 디렉터 프로필 예시 저장 위치 — episode authoring 모델에 둘지, 별도 profile example 모델로 둘지.
- [ ] [Studio] 예시 필수 여부 — 모든 발행 에피소드에 최소 1개를 요구할지, 선택 입력으로 둘지.
- [ ] [Design] UI 형태 — 바텀시트/라이트 모달/전체 화면 중 무엇으로 갈지. 기본은 짧은 확인 화면.
- [ ] [FE/BE] play 생성 시점 — 프로필 선택 전에 play를 만들지, 선택 후 play를 만들지. localPlayProfile 저장 타이밍과 연결.
- [ ] [FE/BE] 비로그인 프롤로그와의 관계 — 가입 전 프롤로그 실험과 함께 쓰는 경우, 선택값을 FE 로컬에 보존했다가 가입 후 localPlayProfile로 복사할지.
- [ ] [PM]
내 프로필로 저장v1 포함 여부 — 편의 기능이지만 필수 활성화 레버는 아니므로 후순위 가능. - [ ] [Data] 기존 프로필 충실도별 성과 차이 — 설명 50자 이상 유저와 미입력 유저의 프롤로그 완료/첫 씬 생성 차이.
8. Required artifacts
- [x] PRD — 본 문서
- [ ] Spec — 화면 상태/컴포넌트/저장 API/예외 처리 상세
- [ ] Design — 프롤로그 전 프로필 선택 화면, 스튜디오 입력 필드
- [x] Tracking events — 초안 포함, event-docs 확인 필요
- [ ] QA scenarios — 신규 play, 기존 play, 예시 없음, 내 프로필 없음, 직접 수정, 저장 실패
9. Size & Risks
T-shirt Size
- Size: M
- Confidence: medium
리스크
- 스튜디오 저장 모델 추가가 필요할 수 있다.
- play 생성 시점과 localPlayProfile 저장 타이밍이 기존 플로우와 충돌할 수 있다.
- 프롤로그 직전 화면이 너무 무거우면 시작 전 이탈을 만들 수 있다. 기본은 한 번에 넘어갈 수 있는 얇은 확인 UI여야 한다.
의존성
- 기존 「플레이 프로필 & 유저노트」 구조
- 스튜디오 에피소드 작성/발행 모델
- 앱/웹 새 play 시작 플로우
- localPlayProfile 생성/수정 API
- event-docs 이벤트 컨벤션
10. References
- 선행 PRD: 「플레이 프로필 & 유저노트 PRD」(2026-03-16)
- Linear: DEE-399
- Linear Project: [앱/웹/스튜디오] 프롤로그 전 플레이 프로필 선택