친밀도 100 돌파와 사진 비전 기능으로 캐릭터 상호작용 강화
목차
캐릭터와의 상호작용을 한 단계 더 깊게 만들기 위해 두 가지 새로운 기능을 함께 출시했다: 친밀도 레벨이 100을 넘은 후의 진척 단계와 사용자가 업로드한 사진에 캐릭터가 반응하는 비전 기능이다.
친밀도 시스템의 천장을 넘다
처음 친밀도 시스템을 설계할 때만 해도 100을 최대값으로 잡는 게 합리적이라 생각했다. 하지만 서비스를 운영하면서 깨달은 건, 최고 레벨에 도달한 사용자들이 "이제 뭘 하나?" 하면서 정체되는 경험이었다. 특히 오래 사용해주는 코어 유저일수록 그 감정이 두드러졌다.
게이미피케이션 관점에서 보면, 목표가 없으면 반복 행동이 의미를 잃는다. 그래서 결정을 내렸다:
- 100 이후에도 진척이 가능하도록 확장
- 단순 수치 상승이 아니라, 단계별 보상이나 새로운 상호작용과 연결
이렇게 하면 이미 100에 도달한 유저들이 계속 채팅하고 상호작용할 이유가 생긴다. src/lib/characters.ts를 수정해서 친밀도 테이블을 재설계했는데, 100 이후 단계를 위해 구간을 세분화했다.
초기 설계: 친밀도 0–100 (끝)
개선 후: 친밀도 0–100 → 100+ (Lv.2, 3, 4...) 또는 "숙련도" 시스템
내 사진으로 캐릭터를 깨우다
이번 업데이트의 진짜 핵심은 사진 업로드 기능이다.
사용자가 자신의 사진을 올리면, 캐릭터가 그 사진을 "봐서" 반응한다는 개념이다. 예를 들어:
- 사진에 물건이 담겨 있으면 그걸 언급하거나
- 분위기나 배경을 감지해서 댓글을 달거나
- 사용자의 취향이나 상황을 파악해서 더 개인화된 반응
이 기능이 가져오는 효과는:
- 개인화: 일반적인 채팅이 아니라 "나"에 맞춘 경험
- 몰입감: 단방향 AI 응답이 아니라 양방향 상호작용
- 리텐션: 캐릭터와의 관계가 더 깊어지는 느낌
기술적으로는 새 API를 세 개 건드렸다:
| API | 역할 | 변경 사항 |
|---|---|---|
src/app/api/photo/route.ts |
사진 업로드 처리 | 이미지 저장 + 메타데이터 관리 |
src/app/api/chat/route.ts |
채팅 응답 생성 | 사진 컨텍스트 포함 시 추가 프롬프트 |
src/app/api/gift/route.ts |
선물 관련 로직 | 사진 업로드 후 특수 보상 추가 |
그리고 src/app/chat/[slug]/chat-client.tsx에서 UI를 업데이트해서 사진 업로드 버튼, 미리보기, 업로드 상태 표시를 넣었다.
팀 관점에서 고민한 부분
이 정도 규모의 기능을 추가할 때, 나는 항상 팀에 물어본다:
- DB 마이그레이션이 필요한가? → 기존 사용자도 새 기능을 원활히 쓸 수 있어야 함
- API 버저닝을 해야 하나? → 아직 메이저 버전 아래이면 backward compatible하게
- 보안은? → 사진 업로드라는 건 용량, 악성 파일, 프라이버시를 고려해야 함
특히 .gitignore를 손댄 건, 업로드된 사진과 임시 처리 파일들을 버전관리에서 제외하기 위함이다. 이건 당연해 보이지만, 실제로 수십 MB의 이미지가 git에 들어가는 사례를 여러 번 봐서 처음부터 명시적으로 처리했다.
코드 리뷰 때 나눈 대화
팀원들과 코드 리뷰 할 때 나온 질문들:
- "사진이 아닌 파일을 올렸을 때는?" → 파일 타입 검증 + 명확한 에러 메시지
- "동시에 여러 사진을 올리면?" → 큐잉 처리는 나중에 필요하면 추가
- "캐릭터 반응이 너무 이전 대화와 떨어져 보일 수 있지 않을까?" → 컨텍스트 윈도우를 조정해서 최근 대화도 포함
가장 가치 있던 피드백은 "사진 업로드 후 바로 답변이 오지 않으면 사용자가 답답해할 텐데, 로딩 상태를 명확히 하자"는 거였다. 작은 UX지만 사용자 경험에 큰 영향을 미친다.
마치며
이번 작업을 통해 다시 한 번 느꼈던 건, 맥락 확장이 얼마나 중요한가다. 친밀도가 100 이상 올라가는 것도 중요하지만, 그것이 실제 사용자 경험으로 연결되지 않으면 의미가 없다. 사진 업로드 기능은 그 친밀도가 왜 중요한지를 체감하게 해주는 도구다.
다음은 이 기능들이 실제로 사용자 유지와 만족도에 어떤 영향을 주는지 데이터로 확인하는 과정이 될 것 같다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.