
설명
Heart Island는 당신의 감정을 위해 만든 작은 섬입니다. 이 프로젝트는 아주 개인적인 데서 시작되었습니다. 기분이 가라앉을 때 많은 사람이 채팅 창을 열고 긴 메시지를 써 내려가다가, 한 글자씩 지워 버립니다. 할 말이 없어서가 아닙니다. 누구에게 말해야 할지 모르고, 누구에게도 폐를 끼치고 싶지 않아서입니다. Heart Island는 바로 그 순간을 붙잡아, 설명하거나 연기할 필요 없는 자리를 감정에게 내어 주고자 합니다. 감정을 살며시 내려놓을 다정한 곳이 필요한 모든 사람, 특히 이야기할 사람 없이 잠 못 드는 밤을 보내는 이들을 위한 섬입니다.
체험은 세 부분으로 이루어집니다.
- 기록: 매일의 기분을 글이나 목소리로 남깁니다. AI는 당신의 말을 받아들이고, 답장은 한 줄씩 스트리밍되어 나타납니다. 마치 누군가 정말로 끝까지 들어 준 것처럼 말입니다.
- 보기: 감정은 섬의 풍경이 되어, 날씨와 바다, 식물이 기분에 따라 바뀝니다. 행복할 때는 섬이 맑게 개고, 마음속에 비가 내릴 때는 섬에도 비가 내립니다.
- 돌아보기: 시간이 흐른 뒤 돌아오면 섬은 당신이 걸어온 길을 기억합니다. 기분 곡선과 AI가 쓴 단계별 요약이 당신이 어떻게 지나왔는지 보여 줍니다.
섬에서 당신은 걷고, 탐험하고, 낚시하고, 운전하고, 풍등을 날릴 수 있는 여행자입니다. 당신이 기록하는 것은 단순한 글이 아니라, 천천히 자라나는 하나의 섬입니다.
기술적으로는 프런트엔드에 React, TypeScript, Framer Motion을 쓰고 3D 씬은 Three.js로 구현했으며, AI 답장은 WebSocket으로 스트리밍되고 Python 백엔드가 감정 분석과 생성을 맡습니다. 지형, 마을 건물, 식물, 소품은 Blender에서 절차적으로 모델링했고, 여행자는 Tripo로 생성했습니다. 제작자는 Heart Island를 도구로 보지 않습니다. 그보다는 늦은 밤 모든 것을 써 내려갔다가 지워 버린 누군가를 위한 선물에 가깝습니다. 당신의 감정에도 쉴 곳이 있어야 한다고 말해 주는 방법인 셈입니다.
Tripo 활용 방식
Tripo는 Heart Island의 주인공이자 플레이어를 대신하는 여행자를 생성했습니다. 걷기, 탐험, 낚시, 운전, 풍등 날리기가 모두 이 캐릭터를 통해 이루어집니다.
- 캐릭터 파이프라인의 시작: 여행자는 오리지널 2D 캐릭터 디자인에서 출발했고, Tripo가 이를 약 20,000면의 완전한 3D 캐릭터로 바꿨습니다.
- 그다음 과정: Blender에서 발, 다리, 몸통, 머리 순으로 부위별 비율을 점검하고 CMU 모션 캡처 애니메이션을 더했으며, 캐릭터는 Three.js에서 실시간으로 구동되어 섬을 달리고, 뛰고, 낚싯줄을 던지고, 등불을 날립니다.
- 작품 속 비중: 플레이어가 섬에 느끼는 감정의 상당 부분이 이 인물에게 실립니다. 제작자의 말을 빌리면, Tripo는 독립 개발자에게 가장 넘기 어려운 간극, 즉 캐릭터 모델링을 메워 주었습니다.


