이 글은 Sandrop 시리즈의 4번째 기록입니다. (총 38개)

오늘 한 일

  • 모래 붓기를 “알알이 떨어져 쌓이는” 질감으로 바꾸기로 결정
    • 이유: 붓는 모래가 물 차오르듯 가로줄로 한 줄씩 쓸려 채워졌다. “색 모래를 붓는다”가 이 게임의 정체성인데 그 손맛이 죽어 있었다
    • 제약을 먼저 못박음: 채움 순서는 시뮬레이터·봇이 “클리어 가능한가”를 판정하는 규칙과 얽혀 있다(§3.2, Dart·Python 공통 fixtures). 순서를 바꾸면 난이도 판정이 흔들리니 규칙은 절대 안 건드린다
    • 그래서 방향을 “쌓이는 순서는 규칙대로, 화면에 보이는 타이밍만 흩뜨린다”로 잡고 지시 (구현 방법은 TIL “모래게임 Sandrop TIL 2” 참고)
  • 캔버스를 화면 정중앙으로
    • 이유: 그림이 오른쪽으로 살짝 치우쳐 보였다. 왼쪽 엘리베이터가 폭을 차지하는데 “엘리베이터 뺀 나머지의 중앙”에 놓다 보니 화면 중앙이 아니었던 것

막힌 부분

  • 규칙은 건드리지 않고 겉모습만 바꿔야 했다 — 가장 쉬운 해법(엔진 채움 순서를 랜덤)은 그 순서가 곧 클리어 판정 규칙이라, 손대면 Dart·Python 파리티와 봇 난이도 측정이 전부 어긋난다
    • 해결: “로직은 그대로, 시각 레이어만 따로 얹어 순서를 흩뜨린다”를 원칙으로 잡아 규칙 코드·테스트는 한 줄도 안 건드리고 연출만 바꿈. 무엇을 바꾸면 안 되는지를 먼저 정하는 게 절반이었다

다음에 할 일

  • 모래 연출을 Flame 파티클로 고도화 (지금은 순수 Flutter/CustomPaint)
  • 파이프 순환 통과, BFS 경로 걷기 연출 다듬기

Series: Sandrop

1 모래게임 Sandrop 0 2 모래게임 Sandrop 1 3 모래게임 Sandrop 2 4 모래게임 Sandrop 3 읽는 중 5 모래게임 Sandrop 4 6 모래게임 Sandrop 5 7 모래게임 Sandrop 6 8 모래게임 Sandrop 7 9 모래게임 Sandrop 8 10 모래게임 Sandrop 9 11 모래게임 Sandrop 10 12 모래게임 Sandrop 11 13 모래게임 Sandrop 12 14 모래게임 Sandrop 13 15 모래게임 Sandrop 14 16 모래게임 Sandrop 15 17 모래게임 Sandrop 16 18 모래게임 Sandrop 17 19 모래게임 Sandrop 18 20 모래게임 Sandrop 19 21 모래게임 Sandrop 20 22 모래게임 Sandrop 21 23 모래게임 Sandrop 22 24 모래게임 Sandrop 23 25 모래게임 Sandrop 24 26 모래게임 Sandrop 25 27 모래게임 Sandrop 26 28 모래게임 Sandrop 27 29 모래게임 Sandrop 28 30 모래게임 Sandrop 29 31 모래게임 Sandrop 30 32 모래게임 Sandrop 31 33 모래게임 Sandrop 32 34 모래게임 Sandrop 33 35 모래게임 Sandrop 34 36 모래게임 Sandrop 35 37 모래게임 Sandrop 36 38 모래게임 Sandrop 37

Suggested Posts