Lenia Hunt 연속 세포 자동자 생물 사냥

—

사냥터 16개 후보를 GPU에서 동시에

각 칸은 독립된 128×128 토러스. 400스텝(40 시간단위) 후 분류합니다. 죽으면 σ를 넓히고 폭발하면 좁혀서 죽음과 폭발 사이의 경계를 따라 걷습니다.

관찰창

어떻게 작동하나 Lenia 규칙과 사냥 알고리즘

1

세계와 규칙

격자의 각 칸은 0~1 사이의 연속값 A입니다. 매 스텝, 각 칸은 반지름 R 안의 이웃을 고리 모양 가중치(커널 K)로 평균 내고(U = K * A), 그 값이 μ에 가까우면 자라고 멀면 줄어듭니다.

A ← clip( A + dt · G(K * A), 0, 1 )
커널 K: 가운데 칸 주변의 고리 모양 가중치. 밝을수록 그 거리의 이웃이 더 크게 반영됩니다.
성장 함수 G(u) = 2·exp(−(u−μ)²/2σ²) − 1

두 그림은 지금 관찰창 생물의 실제 값입니다. μ·σ 슬라이더를 움직이면 같이 바뀝니다. 이 생물은 Bert Chan의 Lenia(2019)와 같은 단일 채널 규칙을 따릅니다.

2

16개를 동시에

한 칸 = 128×128 양 끝이 이어진 토러스 자기만의 μ, σ, R, 커널 WebGL2 텍스처 한 장

GPU 텍스처 한 장을 4×4로 나눠 서로 다른 후보 16개를 한 번의 그리기로 계산합니다. 5스텝마다 상태를 읽어 와 칸마다 질량, 무게중심(토러스용 원형 평균), 모양을 잽니다.

3

두 단계 판정

04001500 스텝 1차 선별 살아남은 후보만 확인 주행 질량 ≈ 0 → 소멸 30% 넘게 덮음 → 폭발 한 덩어리가 아님 → 혼돈 곧게 이동 → 글라이더 이동 + 맥동 제자리 맥동 → 진동체 질량 25%+ 변화 → 불안정

400스텝에서 이동·맥동처럼 보이면 1500스텝까지 더 돌린 뒤 후반부만 다시 판정합니다. 천천히 자라는 덩어리가 진동체로 잘못 저장되는 것을 막는 단계입니다.

4

경계 따라 걷기

σ 작음σ 큼 소멸 생물 폭발 죽으면 σ↑ 폭발하면 σ↓

무작위 값은 대부분 바로 죽거나 터집니다. 그래서 각 칸은 한 계보를 이어 가며, 죽으면 σ를 5~20% 넓히고 터지면 좁혀 생물이 사는 좁은 띠로 다가갑니다. 생물을 찾으면 절반은 그 주변을 변이로 탐색하고, 새로 시작할 때 1/3은 도감 생물에서 갈라져 나옵니다.

5

새로움 점수

생물마다 13차원 특징(속도, 직진성, 질량·모양 변동, 크기, 길쭉함, 퍼짐, 반지름별 질량 분포)을 만들고, 도감에서 가장 가까운 3마리까지의 평균 거리가 0.35 이상일 때만 저장합니다. 그래서 이미 있는 것과 닮은 생물은 쌓이지 않습니다. 위 그림은 도감의 두 축(속도, 질량 변동)만 그린 것입니다.

카드 희귀도도 같은 거리로 정합니다. 도감 전체에서 다른 모든 생물과 얼마나 다른지 순위를 매겨 상위 5%는 ✦ 전설(주황 테두리, 카드 전체 홀로), 다음 15%는 ★ 레어(보라 테두리, 그림 홀로), 다음 30%는 ◆ 언커먼(파랑 테두리, 이름띠만 반짝), 나머지는 ● 커먼(은회색)입니다. 상대 순위라서 닮은 생물이 나중에 들어오면 등급이 내려갈 수 있습니다.