대규모 세션의 후반부. 맵 재설계, 다국어 지원, 시작 화면을 추가했지만, 아직 해결해야 할 과제들이 남아있습니다.

맵 재설계: Central Park 스타일

10가지 ASCII 레이아웃 드래프트 중 #8 "공원 중심형"을 선택했습니다.

새 레이아웃 (60x80):

  • y=3~13: 센트럴 파크 (분수, 벤치, 꽃밭)
  • y=16: 상가 1열 (카페, 빵집 | 대로 | 사무실, 시장)
  • y=22~28: 광장 + 안내소 + 게시판
  • y=30: 상가 2열 (꽃집, 도서관 | 대로 | 편의점, 음식점)
  • y=38: 주거 구역
  • y=44~46: 동서 횡단 강 (다리)
  • y=48~56: 캠퍼스/기관 구역
  • y=60~75: 남쪽 숲 (탐험)
  • y=77: 출구

도로 시스템도 재설계: 3칸 너비 대로(x=29~31) + 동서 연결도로 4개. 강은 서쪽 종단에서 동서 횡단으로 변경.

한국어/영어 다국어 지원 (i18n)

팀원 3명 병렬 투입:

  • i18n-infra: 번역 테이블(~80키) + t() 함수 + 언어 토글 UI
  • i18n-server: 서버 프롬프트 한/영 분기 (buildPromptKo/buildPromptEn)
  • map-layout: 맵 좌표 재배치

미완성 사항

  • 일부 UI 문자열이 아직 하드코딩
  • 도슨트 안내소 메뉴 내용 미번역
  • 언어 전환 시 즉시 UI 갱신이 안 되는 부분 있음

Structured Output으로 후속 선택지

LLM이 [선택지:...] 태그를 잘 안 붙이는 문제를 Gemini의 structured output으로 해결 시도.

{
  "reply": "카페가 좋아!",
  "suggestions": ["메뉴 뭐야?", "같이 가자!", "다음에 보자"]
}

서버에 responseMimeType: "application/json" + responseSchema 설정. 비스트리밍 응답에서 작동. 스트리밍은 기존 태그 파싱 + 키워드 폴백 3단계.

시작 화면: 이름 + 언어 설정

매번 접속할 때 환영 모달 표시. 기존 이름이 있으면 미리 채워서 보여줌. 언어도 여기서 선택.

기타 수정

  • 클릭 이동 복원: 3D 캔버스 screenToWorldplayer.moveTarget
  • 언어 토글 클릭: 2D HUD 캔버스에 pointer-events: none
  • 모바일 조이스틱: 7692px → 100130px로 확대
  • NPC 끼임 탈출: 30프레임 이상 못 움직이면 랜덤 방향 이동
  • 분위기 말풍선: "..." → 🎵 ~♪ ㅎㅎ 😊 등 상황별 이모지

남은 숙제들

이번 세션에서 해결하지 못한 것들:

  1. 공원이 안 보임 — 3D 렌더러에서 공원 영역의 특별한 바닥 텍스처/경계가 없음
  2. 동행 안내 미작동 — LLM이 태그를 텍스트로만 언급하고 실제 [안내:npc:heo] 태그를 안 붙임
  3. 인구밀도 — NPC 수가 적어서 마을이 한산함
  4. 건물 내부 — 더 풍부한 인테리어 필요
  5. 건물별 특색 — 고려대, KSA, 크래프톤 등 실제 건물 특징 반영
  6. 레이아웃 품질 — 건물 배치가 아직 기계적. 유기적인 마을 느낌 부족
  7. 언어 전환 완성도 — 일부 미번역, 실시간 UI 갱신 미비

다음 세션에서 하나씩 해결할 예정입니다. 특히 공원 시각화와 인구밀도는 체감에 큰 영향을 미치므로 우선순위가 높습니다.