토끼굴 대모험

블로그

게임 공략과 토끼·굴 이야기, 그리고 개발기를 기록합니다.

React Three Fiber로 끝없이 휘는 터널 만들기
2026-07-12

React Three Fiber로 끝없이 휘는 터널 만들기

Rabbit Hole의 굴은 끝없이 휘지만, 실제로는 재활용되는 벽 세그먼트 여섯 개와 TubeGeometry가 전부다. 경로가 어떻게 동작하는지, 게임 로직이 왜 곡선을 무시하는지, 그리고 첫 판에만 엉뚱한 터널이 나오던 버그.

#3D#Tech
React Three Fiber 프레임 드랍 잡기
2026-07-11

React Three Fiber 프레임 드랍 잡기

부드럽던 R3F 씬이 커질수록 끊기는 이유(useFrame 안의 할당, 프레임마다 setState, mount/unmount 낭비)와, 프레임 예산을 지키는 재사용 객체·풀링·ref 뮤테이션 패턴.

#3D#Tech
Upstash Redis로 서버리스 게임 리더보드 만들기
2026-07-10

Upstash Redis로 서버리스 게임 리더보드 만들기

브라우저 게임의 글로벌 리더보드를 Upstash Redis 하나로 — best-per-player sorted set, 표시 데이터용 짝꿍 해시, 롤링 TTL, 비용 상한 트림, 그리고 서버리스 인스턴스끼리 공유돼야 하는 레이트리밋.

#Web#Tech
땅속에 사는 동물들 — 그리고 두더지가 장애물이 된 이유
2026-06-14

땅속에 사는 동물들 — 그리고 두더지가 장애물이 된 이유

두더지·프레리도그·오소리의 지하 생활, 그리고 그중 두더지만 게임의 장애물이 된 설계 이야기.

#동물#게임디자인
토끼는 정말 당근을 좋아할까 — 그리고 게임 속 당근이 하는 일
2026-06-14

토끼는 정말 당근을 좋아할까 — 그리고 게임 속 당근이 하는 일

토끼와 당근이라는 이미지의 출처, 그리고 그 당근이 게임에서는 먹이가 아니라 길잡이가 된 이유.

#토끼#게임디자인
문화 속 토끼, 그리고 '토끼굴'의 유래 — 굴 세 개의 출처
2026-06-14

문화 속 토끼, 그리고 '토끼굴'의 유래 — 굴 세 개의 출처

달토끼부터 부활절 토끼까지, 그리고 그 이미지들이 게임 속 굴 세 종류가 된 과정.

#토끼#게임디자인
토끼는 왜 굴을 팔까 — 그리고 그 굴을 게임에 어떻게 옮겼나
2026-06-14

토끼는 왜 굴을 팔까 — 그리고 그 굴을 게임에 어떻게 옮겼나

진짜 토끼 굴 '워런'의 구조와, 그것을 끝없는 러너의 터널로 번역하면서 버린 것과 남긴 것.

#토끼#게임디자인
캐럿 코인 모으기와 모카 꾸미기
2026-06-13

캐럿 코인 모으기와 모카 꾸미기

코인이 들어오는 곳과 나가는 곳을 전부 정리하고, 무엇부터 사면 좋은지까지.

#공략#꾸미기
콤보가 점수를 만든다 — 콤보 유지 가이드
2026-06-13

콤보가 점수를 만든다 — 콤보 유지 가이드

2초 안에 당근을 잇기만 하면 점수가 배로 뛴다. 배수 구조와 자석·트램폴린 연계, 그리고 콤보를 일부러 놓아야 할 때까지.

#공략#콤보
오늘의 굴 — 매일 같은 맵을 공략하는 법
2026-06-13

오늘의 굴 — 매일 같은 맵을 공략하는 법

데일리 챌린지는 모두에게 똑같은 굴이 나온다. 그래서 외울 수 있고, 그래서 랭킹이 공정하다.

#공략#데일리
깊이 내려갈수록 빨라진다 — 구간별 생존 전략
2026-06-13

깊이 내려갈수록 빨라진다 — 구간별 생존 전략

출발 12m/s에서 최고 30m/s까지, 속도에 맞춰 달라지는 생존법과 장애물별 대처법.

#공략#생존
한 판 점수 끌어올리기 — 고득점의 원리
2026-06-13

한 판 점수 끌어올리기 — 고득점의 원리

점수가 어디서 얼마나 나오는지 전부 표로 정리하고, 깊이·콤보·굴 선택을 하나로 꿰는 법.

#공략#점수
트램폴린과 회중시계, 제대로 쓰는 법
2026-06-13

트램폴린과 회중시계, 제대로 쓰는 법

분홍 버섯과 멈춘 회중시계는 위기를 기회로 바꾸는 장치다. 정확한 높이와 지속시간, 그리고 아껴 써야 할 타이밍.

#공략#아이템
Rabbit Hole에 오신 것을 환영합니다
2026-06-12

Rabbit Hole에 오신 것을 환영합니다

끝없는 토끼굴 게임 소개와 조작법, 그리고 이 블로그에 어떤 글이 있는지 한눈에 보는 안내.

#공지
Before / After — 무엇이 바뀌었나
2026-06-12

Before / After — 무엇이 바뀌었나

레일 산책에서 아케이드 러너로. 리빌드 전후를 나란히 비교하고, 외부 에셋 27MB를 0으로 만든 대가와 이득을 정리한다.

#회고#리빌드
2026-06-11

효과음 파일 0개 — Web Audio로 소리 합성하기

오실레이터와 게인 엔벨로프만으로 수집·점프·콤보 효과음을 만든 방법.

#사운드#기술
프레임 사이로 빠져나간 뿌리 — 충돌과 터널링
2026-06-10

프레임 사이로 빠져나간 뿌리 — 충돌과 터널링

구 근사 충돌과 호 장애물 판정, 고속에서 뿌리를 통과해버린 터널링 버그, 그리고 판정 반경과 시각 반경을 일부러 다르게 둔 이유.

#게임필#기술
무게감의 정체 — 아케이드 이동과 점프
2026-06-09

무게감의 정체 — 아케이드 이동과 점프

터널 단면 극좌표 위에서 각가속·감쇠·인공 중력으로 손맛을 만든 방법 — 실제 상수값, 속도 램프, 그리고 물리 엔진을 뺀 이유.

#게임필#기술
2026-06-08

빌드는 통과, 화면만 죽는 버그 — React 19·R3F ReactCurrentOwner 크래시 해결

@react-three/fiber v8을 React 19(Next.js App Router)에서 쓰면 나는 'Cannot read properties of undefined (reading ReactCurrentOwner)' 화이트스크린 — 원인과 버전 정렬 해결법.

#React#삽질
회색 플라스틱을 벗기는 툰 셰이딩
2026-06-06

회색 플라스틱을 벗기는 툰 셰이딩

MeshStandardMaterial 기본값을 버리고 3단 램프 툰으로 굴을 칠한 과정 — 램프 텍스처 공유, 굴마다 다른 조명, 그리고 벽이 통째로 사라져 보이던 문제.

#3D#아트
귀여움은 모델이 아니라 모션에서 나온다
2026-06-05

귀여움은 모델이 아니라 모션에서 나온다

호핑·squash&stretch·돌아보기까지 토끼에 입힌 절차적 애니메이션 — 키프레임 대신 코드로 만들 때의 이점과, 상태에서 모션을 끌어내는 방법.

#3D#기술#애니메이션
구와 캡슐 14개로 토끼 빚기
2026-06-04

구와 캡슐 14개로 토끼 빚기

외부 모델 없이 프리미티브만으로 치비 토끼를 조립한 방법 — 실제 치수와 비례, 아웃라인 헐, 그리고 부위가 몸 안에 파묻히던 고질병.

#3D#기술
재설계 방향 — 귀여움과 손맛을 기준으로
2026-06-02

재설계 방향 — 귀여움과 손맛을 기준으로

리빌드의 최우선 기준을 문장으로 먼저 박고, 팔레트를 한 곳에 모으고, 물리 엔진을 빼기로 한 이유.

#회고#아트
토끼굴을 갈아엎기 전, 구버전 진단
2026-06-01

토끼굴을 갈아엎기 전, 구버전 진단

물리도 실패도 없던 구버전이 왜 게임이 아니었는지, 그리고 부분 수리 대신 리빌드를 고른 판단 기준.

#회고#리빌드