피드로 돌아가기
Developer take on: TinyWind: A pixel pirate sailing game with real wind physics (380k+ kms sailed)
Dev.toDev.to
Frontend

Perlin Noise 기반 풍향/풍속 시뮬레이션으로 380k km 항해 구현

Developer take on: TinyWind: A pixel pirate sailing game with real wind physics (380k+ kms sailed)

Kelvin Kariuki2026년 6월 15일2intermediate

Context

단순 이동 함수 방식의 sailing 메커니즘이 가진 단조로움과 현실감 부족을 해결해야 하는 상황. 단순 시뮬레이션을 넘어 바람을 핵심 게임 플레이 요소로 설정하기 위한 물리 엔진 설계가 필요함.

Technical Solution

  • CFD 시뮬레이션의 높은 연산 비용을 피하기 위한 Intelligent Approximation 방식 채택
  • 시간과 공간에 따른 풍향 및 풍속의 동적 변화 구현을 위해 Perlin Noise 함수 적용
  • Simplex Noise 기반의 WindGenerator 클래스를 통한 일관된 난수 생성 및 결정론적 환경 구축
  • Base Speed에 Max Gust Factor를 결합하여 예측 불가능한 돌풍 현상을 수학적으로 모델링
  • Direction Shift Factor 설정을 통한 자연스러운 풍향 전환 및 벡터 연산 기반의 이동 로직 설계

1. 고비용 물리 연산 대체 가능 여부 검토

2. Perlin/Simplex Noise를 활용한 자연스러운 환경 변수 생성 적용

3. 시공간적 노이즈(Spatial and Temporal Noise) 결합을 통한 동적 데이터 생성 구조 설계

원문 읽기