Skip to content

feat: 비주얼 오버홀 — 한글 폰트 번들·실제 캐릭터 스프라이트·라벨 정리#128

Closed
SilverSupplier wants to merge 3 commits into
mainfrom
codex/visual-overhaul-pass
Closed

feat: 비주얼 오버홀 — 한글 폰트 번들·실제 캐릭터 스프라이트·라벨 정리#128
SilverSupplier wants to merge 3 commits into
mainfrom
codex/visual-overhaul-pass

Conversation

@SilverSupplier

Copy link
Copy Markdown
Collaborator

배경

실제 빌드를 돌려본 결과 UI 텍스트가 흐릿/깨지고, 목표 라벨이 서로 겹치고, 플레이어·NPC 도트가 절차생성 blob이라 완성도가 낮았습니다. 이를 전반적으로 끌어올립니다.

변경

  • 한글 폰트 번들: Galmuri11/14 (SIL OFL 1.1) 를 Resources/Fonts에 넣고 모든 UI 텍스트에 적용. OS 폰트(Malgun Gothic) 의존 제거 → 모든 머신에서 동일하게 또렷한 한글.
  • 실제 캐릭터 스프라이트: 절차생성 blob 플레이어/멘토를 'Zelda-like tilesets and sprites'(ArMM1998, CC0)에서 슬라이스·리컬러한 스프라이트로 교체. 플레이어 4방향 idle/walk/cast + 멘토 15종(5층 × neutral/happy/frown). scripts/import-character-pack.py로 재현 가능.
  • 목표 라벨 정리: 1px 외곽선 + 인접 라벨이 안 겹치도록 위/아래 교차 배치.
  • 코덱스 버튼 이동: 양피지 퀘스트 패널 위에 겹쳐 검은 박스로 보이던 코덱스 버튼을 우하단 스킵 버튼 위로 이동.
  • 스크린샷 익스포터 충실도: 캡처 중 픽셀퍼펙트(632×356 윈도우박스)를 끔 → HUD 작은 텍스트가 풀해상도로 캡처됨(기존엔 모든 글자가 뭉개졌음). 타이틀 화면 이탈 + 잔여 floor root 정리로 층별 깨끗한 샷.

검증

  • 층 1~5 스크린샷 재캡처로 폰트·라벨·패널 정렬 육안 확인 (before/after 첨부 예정).
  • Windows 빌드 batchmode 성공 (컴파일 클린, 0 error CS).
  • -executeMethod 스크린샷 익스포터로 변경 코드 정상 실행 확인.

참고 (테스트)

로컬 batchmode 테스트러너가 이 환경에서 결과 XML을 안 쓰고 조기 종료하는 하니스 이슈가 있어 로컬 EditMode/PlayMode XML은 못 받았습니다(컴파일 에러 0, execute-method 실행은 정상). 회귀 위험이 있던 health 테스트는 코드를 직접 검토해 해당 변경을 되돌렸습니다. 권위 있는 통과 여부는 CI(클린 컨테이너)에서 확인됩니다.

라이선스

docs/CREDITS.md, docs/asset-licenses/fonts 갱신. 폰트 OFL, 캐릭터 CC0.

…label polish

UI/art quality pass after the running game looked unfinished:

- Bundle Galmuri (SIL OFL 1.1) Korean bitmap font in Resources/Fonts
  and load it for all UI text, replacing the OS Malgun Gothic/Arial
  dependency. Crisp, deterministic Korean glyphs on every machine.
- Replace the procedural blob player and mentors with recolored
  sprites sliced from the 'Zelda-like tilesets and sprites' pack
  (ArMM1998, CC0): 4-direction idle/walk/cast player frames plus 15
  mentor poses (5 floors x neutral/happy/frown), via the new
  scripts/import-character-pack.py.
- Goal labels get a 1px outline and alternate above/below their
  target so neighbouring labels no longer stack and overlap.
- Relocate the gameplay codex button off the parchment quest panel
  to the bottom-right above the skip button.
- Screenshot exporter now disables the pixel-perfect 632x356
  windowbox during capture so HUD text is captured at full
  resolution (it was smearing every small glyph), and leaves the
  title screen / clears stale floor roots for clean per-floor shots.

License: docs/CREDITS.md and docs/asset-licenses/fonts updated.
@SilverSupplier SilverSupplier requested a review from sw1029 as a code owner June 13, 2026 06:18
The launch/title screen was built on top of a fully-loaded floor 1
behind a 94%-opaque overlay, so the level and HUD bled through and the
tower silhouette (offset to x=250) overlapped the title text.

- Make the boot overlay fully opaque and put it on its own canvas at
  sorting 200, above the HUD (100) and world labels (42), so the
  title/menu/pause screens cover the game cleanly instead of letting
  stray panels poke through.
- Recompose the tower silhouette as a centered, low-contrast backdrop
  drawn behind the title text (was a crude off-center panel clipping
  the title), and nudge subtitle/flavor/prompt spacing.
- Add FloorScreenshotExporter.ExportTitle to capture the title screen
  for review.
- Codex note body started at y=202 and ran straight through the tab
  row (y=164); move it below the tabs so tabs and text no longer
  collide (affects both the note and discovery tabs).
- Ending report was a 760x520 card on the gameplay canvas, so the
  finished floor showed around it. Make it a full-screen opaque
  backdrop with a gold-bordered card and larger (18pt) centered text.
- Add FloorScreenshotExporter.ExportAllScreens to capture every
  menu/boot screen (title, menu, options, pause, codex, discovery,
  ending report) for review.
@SilverSupplier

Copy link
Copy Markdown
Collaborator Author

Superseded by #129, which includes these commits and the consolidated final integration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant