피드로 돌아가기
Turing's Dawn — race the dark before the longest day runs out
Dev.toDev.to
Frontend

Pure TS 엔진과 LLM 스포일러 방지 설계를 적용한 정적 퍼즐 게임 구현

Turing's Dawn — race the dark before the longest day runs out

Pooja Bhavani2026년 6월 18일5intermediate

Context

게임 메커니즘과 테마의 일치를 위해 실시간 리소스 소모 시스템이 필요함. 특히 LLM 기반 힌트 시스템 도입 시 정답 유출이라는 치명적인 사용자 경험 저해 요소가 존재함.

Technical Solution

  • requestAnimationFrame 루프를 활용한 실시간 Daylight 리소스 드레인 시스템 구축으로 심리적 압박감 구현
  • 비즈니스 로직을 React/DOM과 완전히 분리한 Pure TypeScript 기반 Cipher Engine 설계로 Vitest를 통한 단위 테스트 정밀도 확보
  • 정답 데이터를 LLM에 전달하지 않고 작성된 힌트 가이드라인만 제공하는 Spoiler-safety 아키텍처 설계로 정답 유출 원천 차단
  • gemini-2.5-flash 모델에 계층별 힌트 제공 지침을 systemInstruction으로 정의하여 단계적 가이드라인 생성
  • JSON 기반의 Data-driven 구조를 채택하여 코드 수정 없이 새로운 챔버를 추가할 수 있는 확장성 확보
  • Web Audio API를 이용한 코드 기반 사운드 합성으로 외부 에셋 의존성 제거 및 최적화

1. LLM 도입 시 정답 데이터를 컨텍스트에서 제외하고 추상화된 가이드라인만 전달하는 격리 구조 검토

2. 복잡한 상태 전이 로직은 프레임워크와 분리된 Pure Function 형태로 설계하여 테스트 가능성 확보

3. 정적 사이트 환경에서 실시간 인터랙션을 위해 `requestAnimationFrame` 기반의 상태 업데이트 루프 활용

원문 읽기