11월 4일 패치 노트 (11) — 새 Rust 엔진: 블록 화면 만들기도 옮겼어요

새 Rust 엔진으로 두 번째 부품을 옮겼어요. 가까운 블록을 그리는 장난감 블록 껍데기를 만드는 계산이에요. 화면은 픽셀까지 똑같고 만드는 시간은 3~5배 줄었어요. 이번에도 아직은 꺼 둔 상태라 게임은 그대로예요.

  • 패치 노트
  • 엔진
  • 성능
  • 블록

한눈에 보기

걸어 다니면 가까워진 블록이 장난감 블록 모양으로 바뀌어요. 이때 붙어 있는 블록들을 하나의 매끈한 껍데기로 깎는 계산이 꽤 무거웠어요. 청크(16×16칸) 하나에 길게는 37 ms가 걸렸는데, 한 프레임에 쓸 수 있는 시간은 4 ms예요. 이 계산을 새 Rust 엔진으로 옮겼어요.

BEFORE / AFTER

섬에서 같은 경로를 걸으며 TypeScript(이전)와 Rust(새 엔진)를 비교했어요. 두 엔진으로 찍은 화면은 픽셀까지 똑같았어요.

블록 화면 만들기 시간 비교: 가까운 블록 70청크 만들기 합계가 665 ms에서 139 ms로, 가장 오래 걸린 청크 하나가 37 ms에서 11 ms로, 청크 만들기 전체가 749 ms에서 229 ms로 줄어든 막대 그래프

이번에 달라진 점

  • 아직은 꺼져 있어요. 이번 배포로 게임에서 달라지는 건 없어요. 물 계산과 함께 확인한 다음 켜요.
  • 똑같은 모양. 블록 껍데기의 꼭짓점·면 방향·색·무늬 좌표를 하나하나 비교해서, 소수점 끝자리까지 같아야 통과하는 자동 검사를 붙였어요. 무작위 지형 40개와 고리, 속이 빈 상자 같은 특이한 모양도 검사해요.
  • 문제가 생기면 자동으로 원래대로. 새 엔진에서 오류가 나면 바로 기존 계산으로 돌아가요.

앞으로

  1. 멀리 보이는 블록 화면과 청크 훑기도 옮기기
  2. 화면을 멈추지 않도록 별도 작업 스레드에서 만들기
  3. Rust 엔진을 기본으로 켜기