물고기가 집을 벗어나 층 전체를 헤엄치도록

집 둘레를 타원으로 돌던 것을 걷어냈다. 관계는 분명했지만 꾸미기 게임에는
어울리지 않았다 -- 말뚝에 묶인 것처럼 보였고, 집을 여러 채 지으면
화면이 회전목마 여러 대가 된다.

집은 정원을 세는 단위로만 남고, 헤엄치는 범위는 그 층의 격자 전체다.
제 집 앞에서 시작해 거기서부터 어디로든 간다.

알고리즘은 방향 흔들기다. 목표 지점을 따로 두지 않고 진행 각도만 매 틀
조금씩 흔든다. 그것만으로 충분히 어슬렁거리는 것처럼 보이고 목표를 찍는
방식보다 싸다. 테두리는 닿기 전에 미리 각도를 반사시킨다.

종류마다 다니는 방식을 갈랐다. 같은 식으로 움직이면 여러 마리가 한 화면에
있을 때 움직임이 무늬가 된다.
- 물고기: 빠르고 크게 돌아다닌다
- 게: 세로 성분을 12%로 눌러 바닥을 짚고 걷는다
- 해마: 가로 성분을 35%로 눌러 거의 제자리에서 오르내린다
- 새우: 1~3초마다 0.35초 동안 3.2배로 튄다
- 해파리: 물살에 밀리듯 아주 천천히

화면 위쪽(뒷줄)일수록 작고 흐리게 그려 앞뒤를 읽게 했다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-02 14:49:20 +09:00
parent 1ca381922f
commit 375b340c47
4 changed files with 158 additions and 44 deletions
+29
View File
@@ -417,3 +417,32 @@ F11이나 메뉴로 창을 화면 전체로 키운다. 그냥 창만 키우면
`_make_fish()``fish``glow`만 궤도에 올리고 있었다. 고착생물이 생물 쪽에
있던 시절의 가드인데, 새로 넣은 게·해마·새우가 여기 걸려 제자리에 굳어 있었다.
고착생물이 전부 집으로 갔으므로 가드 자체를 걷어냈다.
## 생물의 움직임
처음에는 생물이 제 집 둘레를 타원으로 돌았다. 집과 생물의 관계는 분명해졌지만
꾸미기 게임에는 어울리지 않았다 — 물고기가 말뚝에 묶인 것처럼 보였고,
집을 여러 채 지으면 화면이 회전목마 여러 대가 된다.
지금은 **층 전체를 자유롭게 돌아다닌다.** 집은 정원을 세는 단위로만 남고,
헤엄치는 범위는 그 층의 격자 전체다(`_roam_bounds`). 제 집 앞에서 시작해
거기서부터 어디로든 간다.
**알고리즘은 방향 흔들기(wander)다.** 목표 지점을 따로 두지 않고 진행 각도만
매 틀 조금씩 흔든다. 그것만으로 충분히 어슬렁거리는 것처럼 보이고,
목표를 찍는 방식보다 훨씬 싸다. 테두리는 닿기 전에 미리 각도를 반사시킨다 --
벽에 붙어 비비는 것보다 자연스럽다.
**종류마다 다니는 방식이 다르다.** 같은 식으로 움직이면 여러 마리가 한 화면에
있을 때 움직임이 무늬가 되어 버린다.
| | 속도 | 노는 높이 | 특징 |
| --- | --- | --- | --- |
| 물고기 | 빠름 | 물속 전체 | 크게 돌아다닌다 |
| 게 | 보통 | 바닥께 | 세로 성분을 12%로 눌러 바닥을 짚고 걷는다 |
| 해마 | 느림 | 위아래 넓게 | 가로 성분을 35%로 눌러 거의 제자리에서 오르내린다 |
| 새우 | 느림 + 돌진 | 바닥께 | 1~3초마다 0.35초 동안 3.2배로 튄다 |
| 해파리 | 아주 느림 | 위쪽 | 물살에 밀리듯 |
**앞뒤 단서**: 화면 위쪽(뒷줄)일수록 조금 작고 흐리게 그린다(`_apply_depth`).
3/4 시점에서 깊이를 읽게 해주는 유일한 신호라 없으면 평면처럼 보인다.