PetAI 최종 제품 기능 범위 의사결정서

버전: 2.0

기준일: 2026-07-21

상태: 팀 합의 전 제품 총괄 권고안

문서 역할: 현재 데모나 MVP가 아니라 PetAI라는 제품 세대가 최종적으로 제공할 기능과 제공하지 않을 기능을 합의하는 단일 기준

제품 방향: 게임 80~90%, 생활 보조 10~20%

0. 이번 회의에서 결정할 것

이 문서의 목적은 다음 질문에 팀이 같은 답을 갖게 하는 것이다.

  1. PetAI의 최종 사용 경험을 구성하는 필수 기능은 무엇인가.
  2. 좋은 아이디어지만 이 제품의 정체성과 맞지 않아 제외할 기능은 무엇인가.
  3. 가치·비용·안전성 검증 뒤 포함 여부를 정할 기능은 무엇인가.
  4. 기능이 포함된다면 어느 팀이 어떤 데이터와 실패 상황까지 책임지는가.
  5. 최종 범위와 별개로 수직 슬라이스, 1.0, 출시 후 중 언제 구현하는가.

이 문서에서 최종 제품은 현재 PetAI 제품 세대의 완성 상태를 뜻한다. 후속작, 장르가 다른 별도 게임, 대규모 소셜 플랫폼까지 무한히 포함하는 표현이 아니다.

1. 가장 중요한 구분: 범위와 개발 순서

기능의 최종 포함 여부와 개발 시점은 다른 결정이다.

구분 답하는 질문 값
최종 범위 완성된 PetAI에 존재해야 하는가 IN, CONDITIONAL, OPEN, OUT
제공 단계 언제 사용자에게 제공하는가 SLICE, 1.0, POST, NONE
  • POST는 제외가 아니다. 최종 제품에는 포함하지만 1.0 이후 제공한다는 뜻이다.
  • OUT은 일정이 부족하다는 뜻이 아니다. 제품 방향상 만들지 않겠다는 뜻이다.
  • 현재 Unity 프로토타입에 존재한다는 이유만으로 IN이 되지 않는다.
  • 구현되지 않았다는 이유만으로 OUT이 되지 않는다.

1.1 최종 범위 상태

상태 의미 회의 후 조치
IN 최종 제품에 반드시 포함 담당 영역, 제공 단계, 완료 조건 확정
CONDITIONAL 명시한 조건이 충족될 때 포함 검증 책임자와 판정 기한 확정
OPEN 팀 논의가 필요한 선택 선택지와 제품 총괄 최종 결정일 확정
OUT 현재 제품 세대에서는 제외 UI, 데이터, API, 홍보 문구에도 넣지 않음

아래 표의 상태는 총괄 권고안이다. 팀 합의 후 승인일과 결정 근거를 기록해야 확정된다.

2. 최종 제품 정의

2.1 한 문장 정의

PetAI는 한 명의 캐릭터와 같은 시간과 공간을 살아가며, 함께 한 플레이와 선택이 관계·취향·방·추억에 지속적으로 남는 로컬 우선 캐릭터 생활 게임이다.

2.2 사용자가 최종적으로 할 수 있어야 하는 일

  1. 홈 공간에서 캐릭터의 현재 행동과 감정 상태를 발견한다.
  2. 캐릭터에게 말을 걸거나 공간의 물건과 상호작용한다.
  3. 캐릭터와 여러 종류의 짧은 게임 또는 공동 활동을 한다.
  4. 성공, 실패, 중단, 거절에 따라 서로 다른 반응을 본다.
  5. 캐릭터의 취향과 성격을 설명이 아니라 선택과 행동으로 알아간다.
  6. 사용자의 선택과 플레이가 관계, 공간, 복장, 대사, 추억에 남는 것을 확인한다.
  7. 날짜, 시간, 계절, 선택적 날씨 연동을 통해 같은 하루를 산다고 느낀다.
  8. 며칠 뒤 돌아와도 비난받지 않고 이전 관계와 기억을 이어간다.
  9. 자신의 대화와 기억 데이터를 확인하고 수정하거나 삭제할 수 있다.
  10. 네트워크나 생성 AI가 없어도 핵심 게임을 계속할 수 있다.
  11. 앱을 열지 않았을 때도 위젯과 선택한 알림으로 캐릭터의 현재 상태를 가볍게 확인한다.
  12. 위젯이나 알림을 누르면 관련 장면으로 바로 들어가며, 앱 외부 기능을 언제든 끌 수 있다.

2.3 제품 정체성 경계

  • 게임이 본체다. 알림, 일정, 날씨, 현실 행동은 게임 장면을 풍부하게 하는 보조 기능이다.
  • 한 캐릭터와의 깊이를 여러 캐릭터 수집보다 우선한다.
  • 관계는 시스템에 남는다. 대화만 그럴듯하고 다음 장면에 아무것도 남지 않는 구조는 허용하지 않는다.
  • AI는 표현 도구다. 관계값, 보상, 해금과 공식 설정은 결정론적 규칙이 결정한다.
  • 로컬 우선이다. 대화 원문과 장기 기억은 기본적으로 기기 안에서 처리한다.
  • 부재를 벌하지 않는다. 연속 출석, 관계 하락, 죄책감형 알림을 사용하지 않는다.

3. 기능 영역 요약

영역 권고 방향 제품 비중
캐릭터 생활·관계 최종 핵심 매우 높음
공동 플레이·수집·꾸미기 최종 핵심 매우 높음
사건·선택·추억 최종 핵심 매우 높음
대화·로컬 AI·기억 관계를 보조하는 제한형 높음
날짜·날씨·달력 현실과 같은 하루를 만드는 선택형 연동 중간
위젯·알림·딥링크 앱 밖에서 관계를 이어 주는 최소 접점 중간
계정·백업·콘텐츠 배포 제품 운영을 위한 최소 기능 중간
제한 소셜·경쟁·UGC 친구 방문·캐릭터 교류만 포함, 경쟁·UGC는 제외 중간
생활 관리·생산성 독립 앱 수준으로 확장하지 않음 낮음

4. 캐릭터 생활·관계 기능

ID 기능 권고 상태 단계 최종 포함 범위 넣는 이유 / 빼는 이유
CHAR-01 시작 캐릭터 선택 IN SLICE characterId, 표시 이름 또는 별명, 첫 만남 선택, 튜토리얼 진행 저장 계정 이전 뒤에도 같은 관계를 자연스럽게 이어 감
CHAR-02 홈 공간 생활 IN SLICE 이동, 머무름, 물건 사용, 시간대별 위치 캐릭터를 메뉴가 아닌 존재로 보이게 함
CHAR-03 자율 행동 IN 1.0 idle, 관심 대상, 활동 시작·종료, 사용자 접근 반응 사용자의 명령만 기다리는 도구성을 줄임
CHAR-04 감정 상태 IN SLICE mood와 화면 표현, 지속 시간, 회복 규칙 선택과 사건의 단기 결과를 보임
CHAR-05 관계·육성 상태 IN SLICE 유대, 이해, 거주 만족도부터 시작하고 활력·특기는 확장 후보; 소프트 일일 성장 제한 장기 인과의 중심 상태이면서 과도한 반복 파밍을 방지
CHAR-06 성격에 따른 동의·거절 IN 1.0 부탁 수락, 주저, 대안 제안, 명시적 거절 모든 말에 동의하는 AI를 방지
CHAR-07 갈등과 회복 사건 IN POST 의견 차이, 냉각, 재대화, 화해 관계의 깊이를 만들되 이탈 벌칙으로 만들지 않음
CHAR-08 성장 아크 IN 1.0 관계 단계, 대표 추억, 최소 경과 일수, 특정 선택에 따른 행동·사건 변화 키우는 느낌과 장기 목표 제공
CHAR-09 복장 변화 IN 1.0 계절, 날씨, 사건, 사용자 선택에 따른 승인 복장 달력과 수집을 시각적으로 연결
CHAR-10 캐릭터 이름 변경 OPEN 1.0 기본 이름 유지 또는 별명만 허용 고유 캐릭터성 훼손 여부 논의 필요
CHAR-11 외형 파츠 직접 편집 OUT NONE 얼굴·체형·헤어 조립식 커스터마이즈 제외 고정 캐릭터 인지도와 제작 품질 약화
CHAR-12 동시에 관계 맺는 복수 캐릭터 OUT NONE 수집형 캐릭터 로스터 제외 콘텐츠 폭이 관계 깊이를 압도
CHAR-13 별도 캐릭터 루트 추가 CONDITIONAL POST 첫 캐릭터와 데이터가 분리된 확장팩 방식 첫 관계의 장기 유지율과 제작 비용 확인 후 판단
CHAR-14 영구 관계 파괴·사망 OUT NONE 미접속·실패로 영구 손실 없음 복귀 친화 원칙 위반

5. 공동 플레이·수집·꾸미기 기능

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
PLAY-01 공동 플레이 허브 IN SLICE 진입, 설명, 중단, 재시도, 결과, 복귀 공통 계약 개별 게임을 관계 시스템과 연결
PLAY-02 짧은 게임 여러 종 IN 1.0 서로 다른 감각의 2~3종을 목표 게임 80~90% 방향의 핵심
PLAY-03 장기 플레이 모드 CONDITIONAL POST 10분 이상 집중 모드 1종 짧은 세션 중심 가설과 충돌 여부 검증
PLAY-04 난이도 선택·보조 IN 1.0 쉬움, 기본, 연습 또는 동등한 보조 실패가 관계 이탈로 이어지지 않게 함
PLAY-05 성공·실패·중단별 반응 IN SLICE 결과별 대사, 표정, 관계·추억 규칙 캐릭터와 함께 논다는 증거
PLAY-06 플레이 결과 이력 IN 1.0 최고 기록보다 대표 경험과 개선을 우선 경쟁보다 관계 맥락 유지
PLAY-07 캐릭터 취향 게임 IN POST 캐릭터가 좋아하거나 어려워하는 활동 성격을 플레이로 표현
PLAY-08 현실 행동 공동 수행 CONDITIONAL 1.0 공부, 정리, 스트레칭 중 선택한 소수 활동 생활 보조가 게임을 침범하지 않는지 검증 필요
PLAY-09 수집품·기념품 IN 1.0 사건·플레이·미션·관계 선택에서 획득, 출처·획득 날짜·공개 여부 기록 추억을 공간의 물건으로 남김
PLAY-10 방 꾸미기 IN POST 승인 슬롯, 배치, 저장, 캐릭터 반응 수집과 생활 공간의 장기 루프
PLAY-11 복장 수집·착용 IN POST 시즌·사건·플레이 해금, 수동 착용 캐릭터 성장과 수집 목표 제공
PLAY-12 제작·조합 OPEN POST 단순 재료 조합 또는 제외 경제 복잡도 대비 관계 기여 검토
PLAY-13 재화 경제 IN 1.0 단일 기본 재화, 명확한 획득·소비 이력 수집과 꾸미기의 선택 비용 제공
PLAY-14 거래·경매장 OUT NONE 사용자 간 거래 없음 서버·부정행위·경제 운영이 핵심을 압도
PLAY-15 무한 반복 파밍 OUT NONE 피로도 높은 반복 요구 없음 캐릭터 애착을 노동으로 바꾸지 않음
PLAY-16 미션 보상 IN 1.0 미니게임 점수, 하루 성장 목표, 새 활동, 사건 완료에 따른 재화 지급 플레이와 육성의 다음 목표를 제공
PLAY-17 직접 재화 구매 IN POST 정해진 단위의 재화를 확률 없이 구매하고 복장·방 꾸미기에만 사용 핵심 BM을 설명 가능하게 하되 관계·스토리 pay-to-win을 막음
PLAY-18 히든·한정 아이템 IN POST 히든 조건, 시즌·콜라보 기간, 획득 조건, 도감 힌트, 재등장 정책을 명시 발견과 시즌 참여를 보상하되 불공정·FOMO를 통제

5.1 리듬게임 경계

리듬게임의 장르 판타지, 입력, 템포, 패턴, 판정, 점수, 난이도, 오디오와 보상 밸런스는 이 문서에서 확정하지 않는다. 별도 리듬게임 HTMLBook이 승인되면 PLAY-02의 한 모듈로 연결할지 팀이 결정하고 여기에 링크와 적용 버전만 남긴다.

6. 사건·선택·추억·달력 기능

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
STORY-01 데이터 기반 사건 엔진 IN SLICE 조건, 우선순위, queue, 중단 재개, 결과 콘텐츠를 코드 수정 없이 확장
STORY-02 선택과 후속 반응 IN SLICE 즉시 반응과 지연 후속 사건을 모두 지원 선택의 인과를 단발 대사 이상으로 만듦
STORY-03 관계 단계별 사건 IN 1.0 낯섦, 익숙함, 신뢰 등 승인 단계 관계의 진행을 장면으로 체감
STORY-04 취향 발견 IN 1.0 추정, 질문, 확인, 수정 캐릭터가 사용자를 알아간다는 증거
STORY-05 캐릭터 취향 발견 IN 1.0 설명 대신 행동·선택·거절로 공개 연애·육성 시뮬레이션 문법 강화
STORY-06 대표 추억 생성 IN SLICE 날짜별 대표 카드 생성·갱신·중복 방지 플레이 결과의 장기 기록
STORY-07 추억 달력 IN 1.0 월 보기, 날짜 상세, 빈 날짜, 필터 현실 날짜와 관계 서사를 연결
STORY-08 추억 회상 사건 IN POST 과거 선택을 새 대화·장면에서 참조 장기 기억의 사용자 가치 표현
STORY-09 추억 수정·삭제 IN 1.0 잘못 저장된 사실과 카드 제거 사용자 데이터 통제권 보장
STORY-11 엔딩·관계 결말 OPEN POST 열린 장기 운영 또는 시즌형 결말 라이브 제품성과 서사 완결성 선택 필요
STORY-12 선택 되감기 OPEN POST 사건 단위 재선택 또는 추억만 보존 선택 무게와 접근성 사이 합의 필요

7. 대화·로컬 AI·장기 기억 기능

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
AI-01 승인된 시나리오 대화 IN SLICE 작성·검수된 대사와 선택지 캐릭터 설정과 한국어 품질 기준선
AI-02 상황별 대사 변주 IN 1.0 시간, 감정, 관계, 최근 사건 반영 반복감을 줄이고 상태를 표현
AI-03 제한형 자유 입력 CONDITIONAL POST 허용 intent 분류 후 안전한 응답 자유 대화 기대와 일관성 위험이 큼
AI-04 로컬 SLM 표현 계층 CONDITIONAL 1.0 승인된 상태와 intent를 자연어로 표현 기기 성능·한국어 품질·fallback 통과 필요
AI-05 템플릿 fallback IN SLICE 모델 미설치·실패·지연 시 즉시 대체 AI 없이 핵심 루프 완주
AI-06 로컬 장기 기억 IN POST fact, preference, episode summary, provenance 지속 관계의 핵심 차별점
AI-07 기억 확인·수정·삭제 IN POST 사용자에게 저장 근거와 제어 UI 제공 잘못된 추론과 프라이버시 대응
AI-08 취향 추론 후 확인 IN POST 추정 상태와 확정 상태 분리 사용자를 단정 짓지 않음
AI-09 캐릭터 설정 validator IN 1.0 금지 사실, 관계 초과, 말투 이탈 차단 캐릭터 일관성 보호
AI-10 AI의 관계·보상 직접 결정 OUT NONE AI 출력은 상태 변경 명령이 될 수 없음 재현성·밸런스·조작 방지
AI-11 클라우드 대화 원문 처리 OUT NONE 원문과 장기 기억을 기본 서버 전송하지 않음 로컬 우선 원칙과 개인정보 보호
AI-12 무제한 범용 챗봇 OUT NONE 모든 주제의 상담·검색·업무 대행 제외 게임 정체성과 안전 범위를 벗어남
AI-13 캐릭터 음성 합성 CONDITIONAL POST 승인 음색, 지연, 용량, 권리 검증 몰입 가치는 높지만 제작·권리 비용 큼
AI-14 음성 입력 OPEN POST 온디바이스 인식 또는 명시 동의 접근성 가치와 프라이버시 검토 필요

8. 현실 시간·환경·알림 연동

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
LIFE-01 날짜·시간대 연동 IN SLICE 아침·낮·저녁·밤, local date 고정 같은 하루를 산다는 핵심 몰입
LIFE-02 요일·계절 연동 IN 1.0 사건, 복장, 방 분위기에 제한적으로 반영 콘텐츠 변주와 달력의 의미 강화
LIFE-03 날씨 연동 IN 1.0 맑음·비·눈·흐림·unknown, GPS 조회 실패 fallback 현실과 게임 장면의 연결
LIFE-04 수동 지역 설정 IN 1.0 도시 또는 넓은 권역 선택 위치 권한 거절·오류 시에도 날씨 제공
LIFE-05 동의형 GPS 날씨 조회 IN 1.0 명시 동의 뒤 현재 위치를 날씨 프록시에 1회 전송, 응답 뒤 정밀 좌표 비저장 현재 위치의 날씨를 쓰되 상시 추적과 이력 수집을 피함
LIFE-06 정밀 GPS 상시 추적 OUT NONE 이동 경로·정밀 좌표 저장 없음 가치 대비 프라이버시 비용이 과도
LIFE-07 기기 달력 읽기 OPEN POST 일정 제목 비수집, 바쁨 여부만 사용 가능 몰입 가치와 민감 정보 위험 논의 필요
LIFE-08 기기 달력 쓰기 OUT NONE 캐릭터가 사용자 일정에 자동 등록하지 않음 생활 도구가 게임을 침범
LIFE-09 시간대 변경·여행 대응 IN 1.0 날짜 중복·손실 없이 환경만 재계산 실제 사용 안정성
LIFE-10 HealthKit·웨어러블 원시 데이터 OUT NONE 건강 원시 데이터 수집 없음 규제·권한·제품 범위 급증

9. 위젯·알림·앱 외부 기능

위젯과 알림은 게임을 대신하는 별도 생산성 앱이 아니다. 캐릭터의 현재 상태를 짧게 보여 주고, 사용자가 원할 때 게임 안의 정확한 장면으로 돌아오게 하는 접점으로 제한한다.

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
EXT-01 홈 화면 캐릭터 위젯 IN 1.0 작은 크기는 얼굴·상태 1줄, 중간 크기는 현재 행동·오늘 환경·바로가기 앱을 열지 않아도 함께 사는 감각을 제공
EXT-02 위젯 상태 갱신 IN 1.0 마지막 승인 상태와 시간대 기반 snapshot, OS 갱신 제한 표시 실시간처럼 거짓 표시하지 않음
EXT-03 상호작용형 위젯 CONDITIONAL POST 인사하기, 오늘 상태 보기 등 상태 위험이 낮은 동작만 App Intents·Android 동등 기능과 저장 충돌 검증 필요
EXT-04 잠금 화면 위젯 CONDITIONAL POST 캐릭터 아이콘, 관계 단계가 아닌 비민감 상태, 앱 바로가기 노출 공간이 작고 개인정보가 잠금 화면에 보일 수 있음
EXT-05 로컬 알림 IN 1.0 기기에서 예약하는 사건·타이머 완료·선택적 재회 알림 서버 없이 동작하고 사용자가 직접 제어 가능
EXT-06 원격 푸시 알림 CONDITIONAL POST 신규 시즌·콘텐츠 공지처럼 서버가 필요한 소수 메시지 APNs/FCM, 토큰, 운영 도구, 동의 정책이 필요
EXT-07 알림 세부 설정 IN 1.0 종류별 on/off, 빈도, 조용한 시간, 미리보기 숨김, 전체 해제 알림을 관계 압박으로 만들지 않음
EXT-08 알림 행동 버튼 CONDITIONAL POST 보기, 나중에, 끄기. 관계·보상 확정은 앱 안에서만 수행 잠금 상태의 오입력과 중복 transaction 방지
EXT-09 딥링크 IN 1.0 알림·위젯에서 홈, 특정 사건, 추억, 공동 플레이 준비 화면으로 이동 외부 접점과 실제 게임 장면 연결
EXT-10 앱 아이콘 배지 OPEN 1.0 미확인 사건 수만 표시하거나 완전 미사용 숫자 압박과 OS 관습 사이 논의 필요
EXT-11 Live Activity·Dynamic Island CONDITIONAL POST 사용자가 시작한 현실 행동 타이머나 진행 중 활동에만 사용 상시 캐릭터 상태는 배터리·OS 정책상 부적절
EXT-12 백그라운드 갱신 CONDITIONAL 1.0 위젯 snapshot과 예약 알림 계산에 필요한 최소 작업 OS가 실행을 보장하지 않으므로 fallback 필수
EXT-13 Siri·앱 단축어 OPEN POST 앱 열기, 추억 보기, 공동 활동 시작 정도의 명령 음성 입력 범위와 중복 여부 검토
EXT-14 공유 카드 OPEN POST 사용자가 고른 추억만 이미지로 내보내고 개인정보 사전 검토 자연스러운 공유 가치는 있으나 소셜 기능으로 커질 위험
EXT-15 Apple Watch·Wear OS 앱 OUT NONE 독립 워치 앱과 건강 연동 없음 별도 클라이언트·QA 비용 대비 핵심 가치 낮음
EXT-16 이메일·SMS 알림 OUT NONE 마케팅·관계 메시지를 외부 채널로 보내지 않음 앱의 감정 경험을 스팸 채널로 확장하지 않음

9.1 위젯에 표시할 수 있는 정보

  • 현재 시간대에 맞는 캐릭터 표정과 승인된 짧은 상태 문구
  • 캐릭터의 현재 활동 또는 마지막으로 확정된 활동
  • 맑음·비·눈 등 넓은 날씨 상태와 계절 복장
  • 사용자가 직접 시작한 타이머의 남은 시간
  • 새 사건이 있다는 비민감 표시와 해당 화면 딥링크

9.2 위젯에 표시하지 않는 정보

  • 자유 대화 원문, 장기 기억 원문, 사용자의 일정 제목
  • 정밀 위치, 관계 수치, 민감한 취향과 프로필
  • “외롭다”, “왜 안 왔어”, “보상이 사라진다” 같은 압박 문구
  • OS가 갱신하지 않았는데 실시간 현재 상태인 것처럼 보이는 정보
  • 위젯 한 번의 탭으로 재화 소비·관계 변화·기억 삭제를 확정하는 동작

9.3 알림 종류 권고

알림 종류 기본값 발송 주체 허용 예시 금지 예시
사용자가 시작한 타이머 완료 켜짐 로컬 같이 하던 시간이 끝났어. 이제 쉬자. 완료하지 않으면 관계 하락
예약된 사건 가능 동의 후 켜짐 로컬 오늘 저녁에 보여 줄 게 있대. 지금 안 열면 사건 영구 소멸
장기 부재 재회 기본 꺼짐 로컬 중립적인 한 번의 재회 안내 반복 호출, 죄책감 표현
신규 콘텐츠·시즌 기본 꺼짐 원격 푸시 업데이트 내용과 기간을 명확히 표시 캐릭터가 직접 보낸 사적 메시지처럼 위장
장애·계정 보안 필요 시 켜짐 원격 푸시 백업 실패 또는 계정 보안 안내 홍보 메시지 혼합

9.4 플랫폼 구현 경계

  • Unity 화면만으로 홈 화면 위젯과 Live Activity를 구현할 수 없으므로 iOS는 WidgetKit·App Intents, Android는 App Widget·동등 API를 사용하는 네이티브 브리지가 필요하다.
  • 위젯은 Unity save 전체를 직접 열지 않는다. Unity가 비민감 WidgetSnapshot을 원자적으로 내보내고 네이티브 확장이 읽는다.
  • 원격 푸시는 기기 토큰 등록·해제, 사용자 동의, 발송 감사 로그, 실패 토큰 정리가 준비되기 전에는 켜지 않는다.
  • 딥링크 payload는 화면과 비민감 ID만 포함하며 대화 원문·정밀 위치·인증 정보를 넣지 않는다.

10. 공간·화면·접근성 기능

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
UX-01 홈 중심 탐색 IN SLICE 캐릭터·가구·놀이·추억으로 자연스럽게 이동 메뉴보다 생활 공간을 중심으로 함
UX-02 캐릭터 직접 상호작용 IN SLICE 터치, 접근, 상황 메뉴, 반응 터치 즉시 채팅 이동만 하는 구조 제외
UX-03 대화 집중 화면 IN 1.0 얼굴·표정 중심, 맥락 정보, 선택지 감정 장면의 가독성 확보
UX-04 추억·달력 화면 IN 1.0 날짜 탐색, 회상, 수정·삭제 장기 기록 접근점
UX-05 수집·꾸미기 화면 IN POST 필터, 미리보기, 배치, 소유 출처 경제와 공간 루프 지원
UX-06 설정·데이터 관리 IN 1.0 알림, 데이터, 복구, 접근성, 계정 사용자 통제권의 필수 화면
UX-07 입력 재매핑·터치 보조 IN 1.0 오입력 방지, 충분한 터치 영역, 게임별 보조 모바일 플레이 완성도
UX-08 텍스트 크기·속도 IN 1.0 글자 크기, 자동 넘김, 타이핑 효과 끄기 대화 접근성
UX-09 색각·모션·플래시 보조 IN 1.0 색 외 단서, 감소 모션, 플래시 제한 게임 접근성
UX-10 스크린리더 완전 지원 CONDITIONAL POST 핵심 화면부터 단계적 지원 엔진·미니게임별 기술 검증 필요
UX-11 단계형 온보딩 IN SLICE 세계관 최소 도입→캐릭터 선택·이름→첫 홈·대화→프로필→상점→가구 배치→완료 기능을 실제 조작 시점에만 알려 주고 첫 관계 루프를 완주
UX-12 튜토리얼 강조·복귀 IN SLICE 대상 UI 하이라이트, 단계 잠금, 중단 뒤 마지막 완료 다음 단계 재개, 스킵 정책 첫 실행의 이해도와 중단 복구를 함께 보장

11. 저장·계정·백엔드·운영 기능

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
DATA-01 오프라인 핵심 플레이 IN SLICE 홈, 대화, 플레이, 결과, 추억을 네트워크 없이 수행 로컬 우선 제품 원칙
DATA-02 원자적 로컬 저장 IN SLICE temp 검증, backup, schema migration 관계 기록 신뢰
DATA-03 손상 복구 UI IN SLICE inspect, restore, export, 새 시작 2차 확인 조용한 데이터 손실 방지
DATA-04 로컬 데이터 내보내기 IN 1.0 사람이 보관 가능한 파일과 버전 정보 소유권과 지원 대응
DATA-05 선택적 클라우드 백업 CONDITIONAL POST 비민감 진행, 암호화, 명시 동의, 복구 선택 기기 교체 가치와 개인정보 경계 검증
DATA-06 필수 로그인 OUT NONE 첫 실행과 핵심 플레이에 계정 요구 없음 진입 장벽과 오프라인 원칙
DATA-07 선택 계정 IN 1.0 친구 UID, 튜토리얼·캐릭터 선택 동기화, 구매 복원; 게스트 핵심 플레이는 유지 친구 기능과 기기 이전을 지원하되 로그인 강제는 피함
DATA-08 서명된 콘텐츠 업데이트 IN POST manifest, hash, rollback, 호환 schema 사건과 대사를 앱 업데이트 없이 확장
DATA-09 원격 설정 CONDITIONAL POST 안전한 범위와 기본값, kill switch 라이브 운영 필요성 검증
DATA-10 최소 사용 분석 CONDITIONAL 1.0 기본 최소화, 동의, 보존·삭제 정책 기능 이해와 이탈 구간 검증 목적
DATA-11 대화·기억 원문 분석 전송 OUT NONE 자유 입력과 로컬 기억 body 미전송 민감 정보 보호
DATA-12 크래시 리포트 IN 1.0 개인정보 제거, build·stack 중심 출시 품질 운영
DATA-13 교차 기기 실시간 동기화 OUT NONE 동시 편집·자동 병합 없음 관계 로그 충돌과 서버 복잡도 과다
DATA-14 서버 권위 관계 계산 OUT NONE 관계·해금의 기본 권위는 로컬 규칙 오프라인 핵심 루프 보호
DATA-15 푸시 토큰 관리 CONDITIONAL POST 최소 기기 식별자, 토큰 회전·철회·삭제, 발송 감사 EXT-06 원격 푸시 승인 시에만 도입
DATA-16 위젯 snapshot 계약 IN 1.0 schema version, 생성 시각, 비민감 필드, stale fallback Unity와 네이티브 위젯의 안전한 연결
DATA-17 튜토리얼·캐릭터 선택 동기화 IN 1.0 currentStep, completed, characterId, 사용자 호칭, 캐릭터 이름, 첫 만남 시간, starter grant, migration version을 계정에 저장 기기 이전 뒤 이미 본 도입을 반복하지 않고 중복 지급을 막음
DATA-18 권한·날씨 동의 상태 관리 IN SLICE 알림·공개 범위·위치·달력의 요청 사유, 거절, 재요청, 설정 이동, GPS 날씨 전송 동의 버전 권한 거절·동의 철회가 핵심 플레이를 막지 않고 이후 GPS 전송을 즉시 차단
DATA-19 온보딩 원자 생성·복구 IN SLICE 캐릭터·기본 방·시작 재화·시작 가구의 단일 transaction, retry, idempotency 중단·실패 뒤 선택 변경·중복 지급·손상 홈 0건
DATA-20 아이템 출처·기간 정책 IN 1.0 itemId, source type, unlock evidence, owned/placed state, visibility, limited window, rerun policy, purchase entitlement 아이템 출처 불명·기간 오표기·중복 지급 0건

12. 소셜·라이브·수익화 기능

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
BIZ-01 계정·친구 식별 IN 1.0 로그인 사용자에게 UID를 발급하고 SNS, 초대 링크, UID로 친구 요청 제한된 친구 기능의 기본 계약
BIZ-02 친구 목록 IN 1.0 수락형 추가, 삭제, 차단, 최소 공개 프로필 자동 친구 추가와 주소록 수집을 피함
BIZ-03 친구 방 비동기 방문 IN 1.0 마지막 공개 room snapshot 열람, 공개 범위 설정 실시간 접속·동시 상태 동기화 없이도 교류 가능
BIZ-04 캐릭터 교류 장면 IN 1.0 미리 정의한 인사·같이 놀기·구경 연출 자유 창작보다 캐릭터성·안전성 유지
BIZ-05 제한된 스티커 반응 IN 1.0 승인 스티커만 사용, 자유 텍스트·이미지·링크 금지 moderation 범위를 통제
BIZ-06 소셜 안전 제어 IN 1.0 요청 수락·거절, 차단, 신고, 공개 범위, 최소 감사 기록 친구 기능은 안전·프라이버시와 함께 출시
BIZ-07 협동 미니게임 CONDITIONAL POST 친구 초대 기반의 짧은 협동, 대전·랜덤 매칭·음성 채팅 제외 친구 방문과 교류가 유효할 때만 확장
BIZ-08 비동기 기록 비교 OPEN POST 익명 주간 기록 또는 완전 제외 경쟁이 관계 경험을 해치는지 검증 필요
BIZ-09 글로벌 순위표 OUT NONE 공개 경쟁 순위 없음 부정행위·운영·스트레스 증가
BIZ-10 UGC·모드 업로드 OUT NONE 사용자 제작 콘텐츠 배포 없음 권리·검수·안전 운영 범위 초과
BIZ-11 시즌 사건 IN POST 달력 기반 신규 사건·복장·방 변화 같은 세계가 계속된다는 장기 동력
BIZ-12 라이브 출석 보상 OUT NONE 연속 접속 보상과 소멸 압박 없음 부재 무벌점 원칙 위반
BIZ-13 광고 OUT NONE 배너·전면·보상형 광고 없음 감정 장면과 신뢰 훼손
BIZ-14 확률형 가챠 OUT NONE 캐릭터·복장·가구 확률 판매 없음 제품 관계와 수집 압박 충돌
BIZ-15 유료 본편 IN 1.0 가격과 플랫폼은 별도 사업 결정 광고·가챠 없이 지속 가능한 기본안
BIZ-16 확장 콘텐츠 판매 OPEN POST 사건팩·공간팩·캐릭터 루트 중 선택 서사 완결성과 분할 판매 경계 합의 필요
BIZ-17 장식·복장 직접 구매 IN POST 확정 가격·수량·미리보기, 확률 없음, 관계·스토리·능력치 판매 금지 재화 BM을 캐릭터 생활과 공간 꾸미기에 한정
BIZ-18 기간 한정 판매 정책 IN POST 시작·종료·재등장 정책 공개, 핵심 진행 판매 금지, 종료 압박 알림 금지 한정 요소의 수집 재미와 사용자 신뢰를 함께 유지

13. 언어·플랫폼 범위

ID 기능 권고 상태 단계 최종 포함 범위 결정 근거
PLAT-01 한국어 원문 품질 IN SLICE 자연스러운 구어체, 캐릭터별 말투, 반복 억제 현재 핵심 시장의 감정 전달 기반
PLAT-02 다국어 구조 IN 1.0 문자열·폰트·레이아웃 분리 미래 현지화 비용 방지
PLAT-03 영어·일본어 출시 CONDITIONAL POST 현지화와 문화 검수, AI 품질 통과 단순 번역으로 출시하지 않음
PLAT-04 iOS IN 1.0 실제 기기 빌드·서명·데이터 정책 모바일 제품 기본 대상
PLAT-05 Android OPEN POST 성능·모델 용량·기기 파편화 검증 시장 가치와 QA 비용 논의 필요
PLAT-06 macOS 개발 빌드 IN SLICE 개발·QA용 재현 가능한 빌드 현재 팀 검증 기반
PLAT-07 PC 상용판 OPEN POST UI·입력·세이브·스토어 요구 정의 모바일 동시 출시 여부 논의 필요
PLAT-08 WebGL OUT NONE 로컬 AI·저장·성능 제약으로 제외 핵심 기능 품질 보장 어려움

14. 권고 제품 패키지

팀 논의를 빠르게 하기 위해 기능을 세 가지 제품안으로 묶는다.

안 A. 관계 중심 로컬 게임

  • 캐릭터 1명, 홈, 공동 플레이, 사건, 추억, 꾸미기
  • 승인 대사와 템플릿만 사용
  • 날짜·시간만 연동하고 날씨·알림·AI는 최소화
  • 계정·소셜·클라우드 없음

장점은 범위와 위험이 가장 작다는 것이다. 단점은 “나를 기억하고 함께 산다”는 차별점이 약해질 수 있다는 것이다.

안 B. 관계형 생활 게임, 총괄 권고

  • 안 A 전체 포함
  • 제한된 로컬 SLM, 로컬 장기 기억, 취향 확인
  • 날짜·계절·날씨, 홈 화면 위젯, 로컬 알림, 딥링크
  • 시즌 사건과 서명된 콘텐츠 업데이트
  • 선택적 백업은 검증 후 추가
  • 제한된 친구 목록·방 방문·캐릭터 교류는 포함하고, 광고·가챠·범용 챗봇은 제외

게임 80~90%, 생활 보조 10~20% 방향과 현재 기술·프라이버시 원칙을 가장 잘 만족한다.

안 C. 캐릭터 플랫폼

  • 복수 캐릭터, 자유 대화, 소셜, UGC, 크로스 디바이스, 라이브 경제
  • 지속적인 moderation, 서버 운영, 경제 밸런스 필요

시장 확장성은 있지만 현재 PetAI의 관계 깊이와 로컬 우선 정체성이 흐려진다. 현 제품 세대에서는 권고하지 않는다.

15. 팀이 반드시 결정해야 하는 쟁점

ID 결정 질문 선택지 총괄 권고 결정에 필요한 증거
DEC-01 관계를 어디까지 표현하는가 우정·동료애 / 로맨스 포함 / 사용자 선택 우정·동료애 기반, 로맨스 가능성은 연령·등급 검토 후 타깃 연령, 스토어 등급, 캐릭터 바이블
DEC-02 캐릭터는 한 명인가 한 명 / 루트형 추가 / 수집형 한 명, 검증 뒤 독립 루트형만 재검토 30일 콘텐츠 생산량·유지율
DEC-03 최종 공동 게임 수 2종 / 3종 / 지속 추가 1.0에 2~3종, 이후 시즌 검증 게임별 제작·QA 비용과 반복 플레이
DEC-04 제한형 자유 입력을 넣는가 없음 / intent 제한 / 범용 대화 intent 제한만 조건부 한국어, 안전, 지연, 일관성 블라인드 테스트
DEC-05 로컬 기억 범위 취향만 / 사건 요약 / 자유 사실 취향+사건 요약, 사용자가 수정 가능 삭제·오추론·성능 테스트
DEC-06 현실 행동을 넣는가 제외 / 1~3종 / 생산성 확장 캐릭터와 함께 하는 소수 활동만 사용자가 게임으로 느끼는지 테스트
DEC-07 달력 권한을 쓰는가 미사용 / 바쁨 여부 / 일정 내용 기본 미사용, 바쁨 여부 spike만 프라이버시 리뷰와 사용자 가치
DEC-08 위치를 날씨에 어떻게 쓰는가 수동 도시만 / 동의형 GPS 날씨 조회 / 상시 추적 동의형 GPS 1회 조회 + 수동 도시 fallback, 정밀 좌표 비저장 권한 이탈률, 날씨 정확도, 서버 폐기·감사 검증
DEC-09 계정·백업을 넣는가 로컬만 / 선택 백업 / 필수 계정 로컬+선택 백업 기기 교체 시나리오와 운영 비용
DEC-10 수익 모델은 무엇인가 유료 본편 / 장식 판매 / 확장팩 / 구독 유료 본편+명확한 확장 콘텐츠 검토 가격 조사, 스토어 정책, 콘텐츠 원가
DEC-11 엔딩이 있는가 없음 / 시즌 결말 / 최종 결말 시즌 단위 회고와 열린 관계 콘텐츠 운영 기간과 복귀 설계
DEC-12 출시 플랫폼은 어디까지인가 iOS / Android / PC 동시 iOS 우선, Android·PC 조건부 실제 기기 성능과 QA 인력
DEC-13 위젯을 1.0에 넣는가 없음 / 홈 위젯 / 홈+잠금 화면 홈 화면 위젯 포함 네이티브 브리지 spike와 실제 사용 빈도
DEC-14 알림 범위는 어디까지인가 로컬만 / 로컬+원격 푸시 1.0 로컬, 출시 후 원격 푸시 조건부 운영 인력, 동의율, 재방문 효과
DEC-15 Live Activity를 쓰는가 미사용 / 타이머만 / 캐릭터 상시 상태 사용자가 시작한 타이머만 조건부 배터리, OS 정책, 제품 가치
DEC-16 앱 아이콘 배지를 쓰는가 미사용 / 미확인 사건 수 기본 미사용 숫자 압박에 대한 사용자 반응
DEC-17 친구 기능의 공개 범위는 어디까지인가 SNS·초대 링크·UID / 방 방문 / 캐릭터 교류 / 협동 게임 수락형 친구, 비동기 방 방문, 제한 연출, 스티커 반응 프라이버시·차단·신고·서버 비용 검토
DEC-18 SNS 로그인 제공자는 무엇인가 이메일·비밀번호 / Google / X / Kakao / Naver / Apple 게스트 시작 유지, 실제 출시 제공자는 플랫폼 정책과 운영 비용으로 확정 로그인 정책, 탈퇴·재설정, 계정 복구 흐름
DEC-19 일일 성장 제한은 어떻게 둘 것인가 엄격 천장 / 반복 감쇠 / 제한 없음 서로 다른 활동은 온전한 성장, 같은 행동은 감쇠하는 소프트 제한 플레이 자유도·콘텐츠 소모·사용자 이해도 테스트
DEC-20 초기 육성 능력치는 무엇인가 유대·이해·거주 만족도 / 활력·특기까지 포함 3개로 시작하고 활력·특기는 확장 후보 UI 복잡도·행동 환산·각 수치의 가시적 변화
DEC-21 진화·스토리 진행 기준은 무엇인가 수치만 / 수치+날짜 / 수치+추억+선택 유대·이해·대표 추억·최소 경과 일수·특정 선택의 조합 반복 파밍만으로 서사가 소모되지 않는지
DEC-22 재화와 결제 구조는 무엇인가 단일 재화 / 무료+유료 이중 재화 / 유료 상점만 미션 무료 재화와 확률 없는 직접 구매를 분리 검토 가격 단위·상점 전환·pay-to-win 방지 기준
DEC-23 튜토리얼 진행과 캐릭터 선택을 어디에 저장하는가 로컬만 / 계정만 / 로컬+계정 동기화 게스트는 로컬, 로그인 뒤 계정 동기화 기기 이전·계정 전환·재시작 여정
DEC-24 히든·한정 아이템을 어떻게 운영하는가 히든 조건 공개 수준 / 시즌 재등장 / 콜라보 한정 / 도감 노출 히든은 힌트 제공, 시즌은 재등장 정책 명시, 필수 진행·관계 판매 금지 컬렉션 완성 욕구·이탈·결제 압박 사용자 테스트

16. 명시적 최종 제외 권고

다음 기능은 “나중에 시간 나면”이 아니라 현재 제품 방향상 제외할 것을 권고한다.

  1. 미접속으로 관계가 하락하거나 캐릭터가 사용자를 비난하는 기능
  2. 연속 출석 보상, 소멸 타이머, 복귀 압박
  3. 대화 원문과 장기 기억의 기본 클라우드 전송
  4. AI가 관계값·재화·해금·공식 기억을 직접 결정하는 기능
  5. 정밀 GPS 상시 수집과 이동 경로 저장. 단, 동의한 날씨 1회 조회의 일시 전송은 허용
  6. 범용 상담·검색·업무를 수행하는 무제한 챗봇
  7. 친구 DM, 공개 커뮤니티, 랜덤 매칭, 실시간 음성 채팅
  8. 글로벌 경쟁 순위와 사용자 간 거래
  9. 확률형 가챠, 광고, 강제 구독
  10. 수집을 위한 복수 캐릭터 대량 운영
  11. 런타임 생성 이미지에 핵심 캐릭터 외형을 맡기는 기능
  12. 서버·AI 장애 시 홈과 핵심 플레이가 중단되는 구조
  13. 위젯·알림에서 관계 하락, 재화 소비, 기억 삭제를 즉시 확정하는 동작
  14. 원격 푸시를 캐릭터의 사적 메시지처럼 위장하는 마케팅

17. 기능 포함 판정 기준

각 기능은 다음 질문에 답해야 한다.

기준 질문 통과 조건
제품 적합성 캐릭터와 함께 사는 게임을 강화하는가 관계·플레이·추억 중 하나를 직접 개선
게임 기여 생활 도구가 아니라 플레이 이유가 있는가 행동 전후 게임 상태와 피드백 존재
중복성 기존 기능으로 같은 가치를 만들 수 없는가 대체 불가 이유 한 문장
지속성 30일 후에도 가치가 있는가 반복·확장·회상 중 하나의 구조 존재
실패 안전성 네트워크·AI·권한 실패 시 무엇이 보이는가 핵심 루프 중단 없음
데이터 최소화 꼭 필요한 정보만 저장하는가 field 단위 목적·보존·삭제 정의
제작 가능성 콘텐츠와 QA 비용을 감당할 수 있는가 담당자·월간 생산량·회귀 범위 정의
사용자 통제 거절·취소·수정·삭제가 가능한가 관련 UI와 상태 전이 존재

기준을 통과하지 못했더라도 전략적 가치가 있으면 CONDITIONAL로 두고 검증 과제를 붙인다. 근거 없이 IN으로 올리지는 않는다.

18. 기능 하나를 확정할 때 기록할 항목

기능 ID / 이름:
최종 범위: IN | CONDITIONAL | OPEN | OUT
제공 단계: SLICE | 1.0 | POST | NONE
사용자 문제:
제품 가치:
사용 전제:
정상 흐름:
거절·취소·중단:
실패·오프라인 흐름:
저장 상태:
수집 데이터와 보존 기간:
Unity 책임:
Local AI 책임:
Backend 책임:
Content 책임:
QA 증거:
운영 비용:
대신 제거할 기능:
결정자 / 결정일:
재검토 조건:

19. 범위 변경 절차

  1. 새 기능이 최종 제품 정의의 어느 문장을 강화하는지 적는다.
  2. 기존 IN 기능으로 같은 가치를 만들 수 있는지 확인한다.
  3. 최종 포함 여부와 제공 단계를 따로 제안한다.
  4. Unity, AI, Backend, Content, QA의 추가 작업을 각각 적는다.
  5. 새 상태, 개인정보, 서버 비용, 월간 콘텐츠 비용을 추정한다.
  6. 범위가 증가하면 대신 줄이거나 제거할 항목을 제시한다.
  7. 제품 총괄 승인 뒤 이 문서와 관련 WBS를 같은 날 수정한다.
  8. 기획 승인 전에 구현된 기능은 feature flag로 닫아 둔다.

20. 최종 범위 합의 회의 진행안

1부: 제품 정체성, 20분

  • 한 문장 정의 승인
  • 게임 80~90%, 생활 보조 10~20% 승인
  • 안 A/B/C 중 제품안 선택

2부: 핵심 범위, 40분

  • 4~10장의 IN 권고를 영역별 검토
  • 구현 시점이 아니라 최종 존재 여부만 결정
  • 반대 시 대체할 사용자 경험을 함께 제시

3부: 논쟁 기능, 40분

  • 15장의 결정 질문 처리
  • 결론이 안 나면 OPEN 유지, 결정자·기한·필요 증거 지정

4부: 제외와 운영, 20분

  • 16장 제외 목록 승인
  • 계정·데이터·BM·플랫폼 경계 승인
  • 변경 절차와 문서 책임자 확정

회의 종료 조건

  • 모든 기능이 IN / CONDITIONAL / OPEN / OUT 중 하나를 가진다.
  • 모든 CONDITIONAL에 검증 책임자와 기한이 있다.
  • 모든 OPEN에 최종 결정자가 있다.
  • IN 기능은 최소 하나의 제공 단계와 담당 WBS를 가진다.
  • 제외 기능이 프로토타입, 홍보, 데이터 schema에 숨어 있지 않다.

21. 연결 문서

리듬게임 상세 문서는 별도 HTMLBook이 승인된 뒤 이 목록과 PLAY-02에 연결한다.


22. 2026-07-23 기능 범위 보완 사항

이 절은 이전 본문과 충돌하면 우선한다. 자세한 사용자 흐름은 최종 기능 정의서를 기준으로 한다.

22.1 확정 방향

기능 최종 범위 경계
육성 유대·체력·스트레스·경험치 중심, 이해도·거주 만족도·특기 확장 미접속·실패로 관계 하락 금지
성장 제한 플레이는 막지 않고 같은 행동 반복 보상만 완만하게 감소 원시 e^(-stress) 식을 그대로 구현 금지
재화 미션/플레이/사건 + 직접 구매 후보 확률형·관계 판매·필수 스토리 판매 금지
아이템 상시·미션·관계·히든·한정·친구·기능 아이템과 도감 히든 조건에 결제·정밀위치·건강·친구 수 사용 금지
위젯 캐릭터·안전한 상태·환경 요약·가벼운 진입 대화 원문·정확 위치·관계 상세·결제 변경 금지
푸시 설정 알림, 사건, 재방문, 친구 요청, 회복 안내 종류별 opt-in·조용한 시간·빈도 상한 필수
로그인 email/password + OAuth2 Google/X/Kakao/Naver 후보 대화·기억·건강 원문 기본 서버 전송 금지
친구 초대 링크/SNS/UID, 상호 수락, 비동기 방문, 스티커 DM·이미지·링크·실시간 음성·랜덤 매칭 금지
리듬게임 미션 공급원으로만 이 문서에서 연결 세부 규칙은 별도 문서에서 결정

22.2 반드시 회의에서 정할 값

  1. 스트레스의 정규화 단위, 보상 하한, 수면 연동 opt-in과 회복량
  2. 일일 성장 감소식과 관계/스토리의 최소 경과 일수
  3. 루비라는 재화명, 50루비·1,980루비·5,900원 정액 예시의 채택 또는 폐기
  4. 한정 아이템 재등장 정책과 기능 아이템의 무료/해금/구매 구분
  5. 위젯 허용 반응, 재방문 푸시 빈도, 스트레스 회복 알림의 기본값
  6. SNS 제공자별 도입 순서, 친구 공개·차단·신고 운영 기준

22.3 범위 변경 규칙

  • 가설 수치는 상점 가격·API·저장 schema에 고정하지 않는다.
  • 새로운 앱 기능은 캐릭터·관계·추억 중 하나를 강화하는 이유와 권한/데이터 경계를 함께 제출해야 한다.
  • 리듬게임 세부 기획을 이 문서에 다시 끼워 넣지 않는다. 별도 명세 링크만 유지한다.