# 게임 구조 초안

## 핵심 루프

1. 플레이어는 도시 맵에서 장소를 선택한다.
2. 장소, 시간대, 요일, 캐릭터 상태에 따라 우연한 만남이 발생한다.
3. 첫 만남 이후 연락처, 약속, 선물, 대화 선택지를 통해 호감도와 신뢰도를 쌓는다.
4. 각 캐릭터별 데이트 이벤트 3단계를 완료하면 고백 또는 관계 전환 이벤트가 열린다.
5. 연인 전환 후 성인 로맨스 이벤트, 갈등 이벤트, 질투 이벤트, 동거/장기 관계 이벤트로 확장된다.

## 주요 수치

- `affection`: 호감도. 데이트 성공, 선호 선물, 좋은 대화 선택지로 상승한다.
- `trust`: 신뢰도. 약속 지키기, 캐릭터의 고민 해결, 진심 어린 선택지로 상승한다.
- `tension`: 설렘과 긴장감. 플러팅, 밀당, 야간 데이트, 질투 상황에서 상승한다.
- `comfort`: 편안함. 일상 데이트, 대화, 반복 만남에서 상승한다.
- `commitment`: 관계 확신. 연인 전환과 장기 루트 진입에 필요하다.

## 관계 단계

| 단계 | 이름 | 설명 |
| --- | --- | --- |
| 0 | Stranger | 아직 모르는 사이 |
| 1 | Acquaintance | 첫 만남 이후 인사를 나누는 사이 |
| 2 | Contact | 연락처를 교환하고 약속을 잡을 수 있는 사이 |
| 3 | Dating | 정식 데이트 이벤트가 열리는 사이 |
| 4 | Intimate Trust | 깊은 신뢰와 관능적 긴장감이 쌓인 사이 |
| 5 | Lovers | 연인 관계 |
| 6 | After Story | 연인 이후 장기 루트 |

## 성인 이벤트 설계 원칙

성인 로맨스 이벤트는 캐릭터별 매력과 관계의 진행감을 강화하는 보상 구조로 사용한다. 모든 이벤트는 성인 캐릭터 간의 상호 동의와 관계 단계 조건을 요구한다.

- 이벤트 진입 전 `consent_confirmed` 플래그가 필요하다.
- 강압, 취약 상태 악용, 나이 불명확 캐릭터는 금지한다.
- 장면 데이터는 `setup`, `tone`, `required_flags`, `presentation`으로 관리한다.
- 기본 연출은 관능적 CG, 암전, 후일담 대화, 관계 수치 변화로 처리한다.

## 맵 설계 방향

장소는 단순 이동 메뉴가 아니라 캐릭터 성향과 루트가 드러나는 접점이다.

- 낮 시간대: 카페, 대학가, 공원, 꽃집, 서점 중심의 밝은 만남
- 저녁 시간대: 와인바, 루프탑, 재즈바, 영화관 중심의 긴장감 있는 데이트
- 특수 장소: 피트니스 센터, 작업실, 경찰서 앞, 글로벌 라운지 등 캐릭터별 전용 이벤트

## 다음 구현 후보

- JSON 데이터를 읽는 간단한 프로토타입 UI
- 장소 클릭 후 만남 후보를 표시하는 맵 화면
- 캐릭터 상세 화면과 호감도/신뢰도 상태 표시
- 날짜, 시간대, 요일 기반 이벤트 스케줄러
