Container Life
창고 경매 시뮬레이터
플레이어는 안을 들여다보지 않은 채 잠긴 창고에 값을 부르고, 낙찰받은 것을 자기 창고로 실어 와 손으로 뜯습니다. 게임 전체가 하나의 질문 위에 서 있습니다. 지금 손에 쥔 이 물건은 실제로 얼마짜리인가.
그림 전시 페이지 열기이 게임을 이루는 세 가지
창고 경영도 아니고 클리커도 아닙니다. 매번 자기 돈을 자기 눈썰미에 거는 감정사의 일에 더 가깝습니다.
물건은 깜깜이로 낙찰받습니다
창고는 1분 동안 셔터를 엽니다. 들어갈 수도, 만질 수도 없고, 손전등을 비추는 것만 됩니다. 입찰은 상자들의 실루엣과 주인이 그것을 어떻게 쌓았는지를 보고 결정합니다. 같은 상자를 반듯하게 쌓아 둔 것과 쓰레기 더미는 값이 다릅니다.
물건은 손으로 알아봅니다
낙찰받은 컨테이너는 손으로 뜯습니다. 상자를 열고, 물건을 꺼내고, 눈앞에서 돌려 봅니다. 저마다 상태가 다릅니다 — 녹, 홈에 낀 때, 깨진 자국. 세척과 간단한 수리는 값을 올리지만 시간이 들고, 약한 물건은 아예 망가뜨릴 수도 있습니다.
값은 인터페이스가 아니라 플레이어가 매깁니다
게임은 물건 위에 값을 써 주지 않습니다. 처음에는 발견물을 감정사에게 들고 가고, 그는 돈과 하루의 대기를 요구합니다. 점차 플레이어가 각인과 재질, 화파를 스스로 알아보게 되고 — 이미 보이는 것에 값을 치르지 않게 됩니다.
그림 생성기
그림은 값이 물건의 종류가 아니라 거기에 그려진 것으로 정해지는 유일한 발견물입니다. 같은 캔버스가 같은 액자에 담겨 있어도, 200루블짜리 마트 포스터일 수도 있고 백만짜리 서명 원작일 수도 있습니다. 그래서 이 메커닉에 가장 알맞은 물건입니다. 눈앞의 것이 무엇인지는 가까이 들여다봐야만 알 수 있으니까요.
가치가 눈으로 읽히는 세트가 필요했습니다. 모델의 기하 구조를 재서 게임 속 네 종류의 액자가 어떤 비율의 캔버스를 요구하는지 확인하고, 벨벳 광대와 숫자 색칠 그림부터 네덜란드 황금기까지 351개의 프롬프트 표를 쓴 뒤 텍스트 모델에 돌렸습니다.
표의 각 행에는 저마다의 값과 화파, 그리고 무엇보다 단서가 있습니다. 숙련된 눈이 캔버스에서 알아봐야 할 것들이죠. 단서는 프롬프트에 말로 적혀 있습니다. 그러지 않으면 그림에 아예 나타나지 않고, 감정이라는 기술 전체가 찍기가 되어 버립니다.
플레이어가 값을 읽는 법을 배우는 단서
가치 등급은 다섯 가지이고, 그것을 가르는 건 이름표가 아니라 캔버스에 보이는 것입니다. 처음에는 유료 감정사가 그 차이를 짚어 주고, 나중에는 플레이어가 스스로 알아보게 됩니다.
- 망점과 모아레가 보이면 회화가 아니라 인쇄물입니다.
- 붓질의 요철과 붓털 자국이 있으면 판화가 아니라 손으로 그린 것입니다.
- 균열과 어두워진 니스는 세월을 뜻합니다.
- 그림 아래 연필로 쓴 에디션 번호는 석판화라는 뜻입니다.
- 서명이 니스 아래가 아니라 위에 있으면 위작입니다.
실제로 돌려 보고 알게 된 것
프롬프트는 미리 써 두었고 종이 위에서는 문제없어 보였습니다. 그런데 첫 배치에서 모델 문서만 봐서는 알 수 없는 세 가지가 드러났습니다.
이 모델에는 네거티브 프롬프트가 없습니다
일반 프롬프트 안에 「액자 없이, 매트 없이」라고 쓰면 정반대로 작동합니다. 모델은 명사를 읽고 그것을 그립니다. 아홉 장짜리 시험이 그대로 확인해 주었습니다 — 부정어를 넣은 쪽이 바로 피하려던 흰 여백을 돌려주었죠.
「그림의 사진」이라는 말이 매트를 덧붙입니다
첫 래퍼는 「square-on photograph of a painting」으로 시작했고 여덟 장 중 여섯 장에 흰 여백이 생겼습니다. 그림을 찍은 사진에는 여백이 있을 수 있으니 모델이 그것을 그려 넣은 겁니다. 그 단어를 빼고 화면을 그 안에 있는 것으로 설명하니 해결됐습니다.
프롬프트에 사람 이름만으로는 부족합니다
유명한 얼굴에는 유명한 연기가 따라붙고, 생성기는 그쪽으로 갑니다. 어느 해적의 이름을 넣었더니 영화 속 그 배우가 그대로 나왔습니다. 「사자 갈기 같은 머리」라는 비유는 문자 그대로 읽혀서 초상화 대신 사자가 나왔고요. 지금은 외모를 말로 서술하고 프롬프트에 비유를 쓰지 않습니다.
351점을 한 페이지에
가치 등급과 액자로 거를 수 있는 전시 페이지입니다. 각 그림마다 큰 이미지, 감정가, 단서, 그리고 그것을 만든 프롬프트가 열립니다. 원본은 583 MB이고, 페이지는 25 MB로 압축했으며 그중 5 MB가 섬네일 그리드입니다.
그림 전시 페이지 열기음악: 아홉 곡짜리 음반
게임의 모든 소리는 코드로 합성하지만, 음악에는 사인파가 낼 수 없는 질감이 있습니다. 곡은 생성한 뒤 귀로 골랐습니다. 먼저 서로 다른 어법의 시안 세 개 — 로파이, 앰비언트, 서던 블루스 — 를 만들고, 이긴 방향으로 변주를 만들었습니다. 두 번째 배치는 초안 스물여덟 개에서 골랐습니다. 게임에는 아홉 곡이 남았습니다. 가사가 있는 노래 네 곡과 연주곡 다섯 곡이고, 이 페이지에서도 같은 두 그룹으로 나뉘어 있습니다.
음악에 정해진 장소가 없다는 것도 하나의 결정입니다. 처음에는 장면이 곡을 골랐습니다 — 네 개의 테마와 「장면 — 테마」 표. 하지만 플레이어는 한 판에 수십 번 장면 사이를 오가고, 도착할 때마다 크로스페이드로 끊기던 노래는 2절까지 간 적이 한 번도 없었습니다. 지금은 음반이 하나이고 어디서나 흐릅니다. 목록은 무작위 지점에서 시작해 순환하고, 구석에 7초 동안 크레디트가 뜹니다 — Cargo Waves와 곡 제목.
- 노래
- 연주곡
곡이 바뀔 때는 크로스페이드
나가는 곡이 2.5초에 걸쳐 사라지는 동안 다음 곡이 들어옵니다. 그래서 게임에 소스를 두 개 둡니다. 하나뿐이면 전환이 반박자에서 뚝 끊깁니다.
반복 사이의 정적
곡이 끝나면 1분 30초 동안 조용합니다. 게임은 명상적이고 한 판이 길어서, 끊이지 않는 음악이 가장 먼저 질립니다.
디스크에서 스트리밍
2분짜리 곡을 메모리에 풀면 약 20 MB를 차지하고, 게임 내내 그대로 남습니다. 그래서 음악은 스트리밍으로 읽고, 그 모드는 손으로 체크하는 게 아니라 임포트 후처리기가 설정합니다.
기술 구성
엔진
Unity 6, URP, C#
플랫폼
하나의 빌드로 PC와 PC VR
그림 생성
fal.ai z-image/turbo
음악
ElevenLabs Music
모델과 텍스처
Poly Haven, Meshy, Blender
사례 초안: 이 페이지는 직접 링크로만 열 수 있고 프로젝트 목록에는 나오지 않습니다.







