피드로 돌아가기
Solstice — A Light-Routing Puzzle Game
Dev.toDev.to
Frontend

Vanilla JS 기반 Custom Ray-Tracing 엔진 및 Dual-Spectrum 물리 설계

Solstice — A Light-Routing Puzzle Game

vinny2026년 6월 21일3intermediate

Context

프레임워크 없이 HTML Canvas 2D API만을 활용하여 복잡한 빛 경로 계산과 렌더링을 구현해야 하는 제약 상황. 두 가지 서로 다른 상태(SUN/MOON)의 경로를 동시 만족시키는 퍼즐 로직의 무결성 확보가 핵심 과제.

Technical Solution

  • Grid-based Ray Marching 기법을 적용한 Custom Ray-Tracer 설계로 빛의 경로를 정밀하게 추적
  • Direction Vector 변환 행렬([dx, dy] → [-dy, -dx] 등)을 통한 거울 반사 로직의 수학적 구현
  • 무한 루프 방지를 위한 Cycle Detection 메커니즘 도입으로 시스템 안정성 확보
  • RequestAnimationFrame 기반의 Game Loop와 ES Module 구조를 통한 각 서브시스템의 독립적 상태 관리
  • Python Solver를 활용한 레벨 검증 프로세스 도입으로 의도치 않은 지름길 제거 및 난이도 정밀 조정
  • Web Audio API Oscillator 기반의 실시간 오디오 합성으로 외부 에셋 의존성 제거

1. 복잡한 상태 전이 로직 설계 시 외부 스크립트(Python 등)를 통한 자동 검증 도구 구축 검토

2. 런타임 무한 루프 가능성이 있는 경로 탐색 알고리즘에 Cycle Detection 필수 적용

3. 고성능 렌더링 필요 시 프레임워크 도입 전 Canvas API와 RequestAnimationFrame 조합의 최적화 가능성 확인

원문 읽기