문제의식 — 호러는 클립 장르다
웹 포털에서 호러는 클립으로 퍼진다. 누군가의 불빛이 그것에 닿는 15초가 곧 마케팅이다. 그래서 설계 기준을 여기에 맞췄다 — 60~90초 런 안에서, 언어 없이, 입력 하나로 그 순간을 안정적으로 만들어내야 한다. 15초 클립에서 살아남지 못하는 건 전부 잘랐다.
$
케이스 11 · 호러
웹 포털용 1인칭 호러. 규칙이 하나 남을 때까지 계속 잘라냈다 — 손전등을 비추면 멈추고, 어둠 속에선 움직인다. 잠든 사람을 터는 코미디 스텔스로 시작해, 눈을 떼면 움직이는 개체로 바꾸고, 조명을 다 껐다 — 손전등만 남기니 빔이 시야이자 방어가 됐다. 그러다 벽에 부딪혔다: 개체가 AI로 생성한 실사 인물이었는데, 걷고 표정을 지어야 하는 사실적 인간은 곧장 언캐니 밸리로 떨어졌다. 그래서 몸을 '원래 얼어붙은 얼굴이어야 하는 것' — 조각상으로 갈아치웠다. 빔 안에서 멈추고 어둠 속에서 다가오는 우는 천사, 그리고 그중 일부만 살아있고 장식과 똑같이 생긴 한 방 가득. 매판 랜덤. 게임이 이름을 넘어서서, 「그 집(The Wrong House)」은 「Keep Watching」이 됐다. 모든 재설계는 Playwright 하네스로 직접 플레이·측정한 뒤 내보냈다.
$
문제의식 — 호러는 클립 장르다
웹 포털에서 호러는 클립으로 퍼진다. 누군가의 불빛이 그것에 닿는 15초가 곧 마케팅이다. 그래서 설계 기준을 여기에 맞췄다 — 60~90초 런 안에서, 언어 없이, 입력 하나로 그 순간을 안정적으로 만들어내야 한다. 15초 클립에서 살아남지 못하는 건 전부 잘랐다.
컨셉 — 빔이 곧 시선
규칙은 어디에도 적혀 있지 않고 물리로만 작동한다. 개체는 손전등 빔이 닿는 동안만 멈춘다. 불을 끄면 정면으로 노려보고 있어도 다가온다. 그래서 빛이 진행과 방어로 쪼개 쓰는 단일 자원이 된다 — 카펫을 뒤지면 방어가 반대편으로 돌아가고, 빔으로 붙들고 있으면 진행이 없다. 관찰 판정 콘을 실제 빔 폭에 맞춰 조여(60°→38°) 빔 밖인데 멈추는 경우를 없앴다. 조준과 방어가 같은 동작이다.
세 번 지워 한 문장으로
1 · 코미디 스텔스 → 전제가 무너지다
V1은 '잠든 사람을 매트리스까지 턴다'였다. 웃겼지만 집이 무서워지는 순간 전제가 깨졌다 — 도둑이 왜 흉가를 계속 탐험하겠는가? 깨어나면 즉사하는 규칙도 긴장이 아니라 불공정으로 읽혔다. 돈·상점·가격으로 짠 절도 경제를 통째로 지웠다.
2 · 눈을 떼면 움직인다 → 규칙이 몸을 얻다
피벗 — 방 하나, 개체 하나, 규칙 하나. 안 보면 움직인다. 생성한 GLB에 애니메이션 클립이 없어서, 조각상처럼 미끄러지던 걸 절차 본 애니메이션으로 바꿨다. 고관절과 무릎이 접히고 팔을 뻗으며 걷다가, 시선에 걸리면 그 자세 그대로 멈춘다. 접근 벡터를 셋으로 뒀다 — 바닥 직립·벽 거꾸로·천장 크롤 — 그래야 시선 스캔이 위·옆까지 정직해진다.
3 · 완전 암전 → 규칙이 물리가 되다
여기서 조명을 다 끄고 오로지 손전등으로만 플레이하도록 정했다. 이 결정으로 시선과 빛이 하나의 물체, 빔으로 합쳐졌다. 손전등은 찾는 아이템에서 시작 장비가 됐고(암흑에선 손전등을 찾을 수 없다), 달빛과 램프를 껐고, 그것은 이제 내 빔 안에서 제 그림자를 드리운다. 클립 순간은 저절로 생겼다 — 불을 끄고, 잠깐 기다리고, 다시 켜면 더 가까이 와 있다.
지워진 캐스팅 — 다섯 거주자
하나의 개체로 통합하기 전에는 스테이지마다 고유한 거주자와 고유한 '텔'(안전하게 움직일 타이밍을 읽는 신호)이 있었다. 다섯 전부 컨셉→3D 생성→리깅까지 직접 만들었고, 지금도 디버그 플래그 뒤에 코드로 남아 있다.

그것 (The Thing) — 텔: 한쪽 눈
1스테이지. 평범한 몸처럼 누워 있지만 한쪽 눈이 떠 있다. 훔칠수록 사람이 아니게 변형됐다. 유일하게 계속 변이하던 거주자여서, 이걸 최종 개체의 씨앗으로 삼았다.

수집가 노파 (The Hoarder) — 텔: 코골이
2스테이지. 유일하게 코를 고는 거주자 — 날숨에 맞춰 움직였다. 흰 머리와 잠옷 그대로 초기 룩어웨이 빌드까지 올라왔다가, 검은 머리가 더 무섭다고 판단해 교체했다.

키 큰 것 (The Tall One) — 텔: 순찰
3스테이지. 제자리에서 자지 않고 순찰한다. 숨소리 대신 동선을 읽어야 했다. 이 캐릭터 때문에 넣은 순찰 로직이 나중에 추격 시스템이 됐다.

아이 (The Child) — 텔: 야등
4스테이지. 야등이 꺼진 동안만 움직인다 — 빛이 곧 타이밍 신호다. 돌아보면 최종 게임이 딛고 선 '빛이 규칙이다'를 처음 스케치한 캐릭터였다.

불면증 여자 (The Insomniac) — 텔: 정지 응시
5스테이지, 최고 난도. 거의 잠들지 않는다. 가만히 앉아 응시하다가, 돌아설 때만 움직일 수 있다. '정지가 곧 위협'이라는 감각이 룩어웨이 개체의 프리즈로 그대로 이어졌다.
AI 에셋 파이프라인 — 모델이 호러를 거부할 때
실사 호러 인물은 주류 이미지 모델이 정확히 거부하는 대상이다. 통한 파이프라인은 이랬다 — 인물 특화 모델(soul_2)로 검은 머리 잠옷의 수척한 형상을 뽑고 → 리깅 켠 image-to-3D → Mixamo 규격 골격이라 기존 포즈 로직에 방향 보정 없이 그대로 물렸고 → WebP 압축 GLB(8.6MB→2.1MB). 인테리어 표면(벗겨진 벽·얼룩진 천장·삭은 문)은 별도 텍스처 패스로 만들었다. 머리를 검은색으로 하려는데 텍스처가 이미 한 장으로 구워져 있어서, 색만 덧입히지 않고 인물을 다시 생성했다 — 룩을 깨끗하게 유지하는 유일한 방법이었다.
컨셉 아트 — 최종 개체의 재생성
인물 특화 모델(soul_2) 생성. 공포만큼이나 리깅 가능성을 보고 골랐다.

선택안 — 얼굴을 가린 검은 머리, 깨끗한 A포즈
선택안. 젖은 검은 머리가 얼굴을 완전히 가리고, 발목까지 오는 잠옷에 팔이 몸에서 떨어져 있다 — 오토리거가 팔을 몸에 붙여 굽지 않는 깨끗한 A포즈.

탈락안 — 더 강한 이미지, 더 나쁜 토폴로지
탈락안. 양팔 위로 쏟아지는 머리는 이미지로는 더 강하지만 리깅의 함정이다 — 메시가 머리카락을 팔에 융합시켜 이후 모든 포즈가 깨진다.

점프스케어 컷 — 잡히는 순간의 얼굴
단 하나의 용도로 생성 — 잡히는 순간의 풀스크린 프레임. 플래시 조명, 젖은 머리, 죽은 눈. 스트로브 오버레이만 얹어 게임에 그대로 들어갔다.
이미지 한 장이 걷기까지 — 3D 작업

리깅 GLB 첫 인게임 배치 — 방향 무보정
리깅 켠 image-to-3D, WebP 압축 8.6MB→2.1MB로 씬에 투입. 골격이 Mixamo 규격으로 나와서 기존 포즈 로직에 방향 보정 없이 그대로 물렸다.

본 축 실측 — 단일 본 6방향 스윕
생성 리그는 축을 문서화해 주지 않는다. 그래서 실측한다 — 본 하나에 여섯 방향 회전을 걸고 컷마다 확인. 이 리그에선 Z축이 팔을 든다는 걸 이 프레임에서 찾았다. 걸음은 추측이 아니라 실측한 축으로 조립했다.

절차 걸음 + 리치 — 클립 없는 뼈들이 걷는다
GLB엔 애니메이션 클립이 없다. 걸음은 순수 코드다 — 고관절과 무릎이 교대로 접히고, 팔이 움켜쥐려 올라오고, 머리가 갸웃한다. 그리고 빔이 닿는 순간 그 자세 그대로 얼어붙는다.

오리엔테이션 응용 — 천장에 거꾸로
애니메이션이 로컬 본 델타라 어떤 그룹 회전에도 같은 걸음이 살아남는다 — 리그를 천장에 거꾸로 뒤집어도 머리카락이 바닥 쪽으로 늘어진 채 그대로 기어온다.
어둠 속에서

타이틀 — DO NOT LOOK AWAY
화면 하나에 전제를 다 담았다 — 잘못된 방으로 잠들어 들어간다. CTA가 곧 픽션이다. '클릭해서 잠든다.'

눈을 뜬 순간 — 빔 서클 밖은 온통 어둠
완전 암전에 17° 원뿔 하나. 문틈만 희미하게 빛난다 — 눈에 보이는 유일한 출구다.

빔에 걸린 그것 — 멈춘다
빔이 닿으면 정지(실측 표류 0.000m). 정지가 절대적이라, 시선을 떼는 값이 비싸게 느껴진다.

불을 끄면 — 어둠 속에서 다가온다
손전등을 끄면 창백한 형체가 어둠 속에서 다가온다. 근접 경고가 유일한 단서다.

다시 켜면 — 코앞
다시 켜면 — 침대 위, 팔을 뻗은 채. 이 소등/재점등 비트가 설계 전체가 복무하는 15초 클립이다.

천장 벡터 — 위를 봐야 보인다
세 접근 벡터 중 하나 — 천장에 거꾸로, 검은 머리가 아래로 쏟아진다. 위를 훑는 것까지 루프가 된다.
공정성 — 디자인으로 가르치고 하네스로 검증한다
첫 플레이테스트에서 개체가 신규 플레이어를 약 1.5초 만에 잡았다 — 튜토리얼 문장이 뜨기도 전에. 텍스트 경고가 아니라 구조로 고쳤다. 처음 눈이 마주치기 전까지 미동도 없게 해서 눈맞춤 자체가 규칙을 가르치게 하고, 아이템을 확보할수록 속도가 오르게 했다. 루프에 대한 주장은 전부 실제 빌드를 상대로 한 Playwright 하네스에서 측정한다 — 정지 표류 0.000m, 암흑 접근 거리, 검거, 리트라이 상태, 탈출 — 그리고 수정은 당일 커밋한다.
플레이로 다듬다 — 잡힘을 빚은 루프
룩어웨이 코어를 내보낸 뒤 직접 반복해서 플레이했고, 매 세션마다 구조적인 걸 하나씩 바꿨다. 풀스크린 사진 점프스케어는 과하게 느껴져서 더 조용하고 더 무서운 잡힘으로 바꿨다 — 개체가 다가와 팔을 벌리고 뻗고, 그 손이 실제로 몸에 닿을 때만 게임이 끝난다. 고어 없이 급암전으로. 플레이해 보니 안 비추면 가만히 있어서 활성화가 너무 소심했는데, 이제 어둠이 몇 초 안에 그것을 깨운다. 뻣뻣한 걷기 사이클은 소리 없는 활공으로 교체했다. 그리고 매 패스마다 방을 키웠다 — 작은 침실 하나로 시작한 공간이 지금은 약 세 배다. 그것이 도착하기 전에 탐색이 숨 쉴 여유를 갖도록. 이 중 기획서에서 나온 건 없다. 직접 빌드를 플레이하면서 무엇이 공포를 깨뜨리는지 물어서 나온 것들이다.
실사 빌드 — 피벗 직전의 룩어웨이 게임
몇 달을 잘라낸 끝에 게임은 여기 있었다 — 빔으로 붙드는 실사 개체. 플레이는 됐다. 하지만 그 형상이 매 순간 나와 싸웠고, 다음에 온 것이 이걸 통째로 대체했다.

깨어남 — 손전등 꺼진 채, 달빛만
손전등이 꺼진 채 어둠에서 깨어난다. F로 켜고 — 방에 이미 무엇이 있는지 알게 된다.

그랩 — 팔을 뻗어 온다, 닿으면 끝
사진 스케어를 대체한 잡힘: 팔을 뻗은 채 활공해 온다. 빔을 유지하면 뻗은 자세로 얼어붙고, 눈을 떼면 손이 거리를 좁힌다.

탐색 = 위험 진입 — 뒤 구석 궤짝
이제 은닉처는 다섯 개, 세 배로 커진 방에 흩어져 있다. 궤짝은 그것이 도사리는 어두운 먼 구석에 뒀다. 그래서 뒤지는 것 자체가 위험 진입이 된다 — 스크립트가 아니라 배치에서 나오는 긴장이다.
피벗 — 애니메이션을 입혀야 하는 얼굴에서, 원래 얼어붙어 있어야 하는 얼굴로
실사 형상은 처음부터 끝까지 나와 싸웠다. '안 보면 움직인다'를 팔려면 그것이 걷고, 돌고, 손을 뻗어야 했는데 — 생성된 인간이 그러면 언캐니 밸리에 빠지거나, 더 나쁘게는 우스꽝스러워졌다. 룩어웨이 규칙에 필요한 건 사실적인 몸이 아니라, 완벽히 정지해 있을 때 섬뜩한 몸이다. 조각상이 정확히 그렇다 — 원래 얼어붙어 있어야 하는 형상, 움직이면 안 되기에 오히려 불안한 것. 닥터후의 우는 천사가 이걸 내가 이미 만들어 둔 규칙으로 정리해 줬다: 보는 순간 멈추고 안 보면 다가오는 석상. 유령을 조각상으로 갈아치우자 모든 문제가 한 번에 사라졌다 — 입힐 표정도, 팔아야 할 걷기 사이클도, 기어 나와야 할 밸리도 없다. 정지는 더 이상 기술적 실패가 아니라 캐릭터 그 자체가 됐다.
규칙은 두고, 몸을 바꾼다
1 · 유령 → 우는 천사 — 코드는 거의 그대로
'관찰됨'은 이미 '손전등 시야 안'을 뜻했다. 같은 정지-전진 로직을 조각상에 겨눴다 — 빔 안에선 돌이고, 눈을 떼는 순간 다가온다. 코어는 거의 안 바뀌었다. 바뀐 건, 이제 정지가 말이 된다는 것. 먼저 조잡한 프리미티브 조각상으로(크레딧 0) 메커닉을 증명하고, 그다음 실사 우는 천사를 생성해 갈아끼웠다.
2 · 거리별 얼굴 전환 — 공포가 근접에 비례해 커진다
사진 점프스케어 하나는 단발 비트다. 대신 천사는 멀리선 얌전한 얼굴을, 손이 닿는 거리에 들면 달려드는 일그러진 얼굴로 전환한다 — 다가올수록 공포가 커지고, 그 전환 자체가 스케어가 된다. 메시 둘을 거리로 스위칭.
3 · 한 방 가득 — 의태(擬態)
진짜 도약은 이거였다: 방을 조각상으로 채우고 그중 일부만 살아있게 한다. 장식과 똑같이 생겨서 위협과 가구를 구분할 수 없다 — 유일한 단서는 '방금 저게 더 멀리 있지 않았나?'. 등장 수·살아있는 것·위치가 매판 랜덤이라 같은 판이 없고, 외운 길이 안전하지 않다.
리네임 — 이름이 게임을 따라가야 했다
「그 집(The Wrong House)」은 절도라는 전제 — 침입한 집 — 에서 나온 이름이었다. 하지만 그 전제는 첫 컷에서 이미 지웠고, 이제 위협은 집 안의 유령이 아니라 한시도 눈을 뗄 수 없는 조각상이었다. 이름이 게임을 따라가야 했다. 「Keep Watching — don't look away」는 규칙 전체를 두 단어로 말한다. 커밋 전에 CrazyGames에 동일 타이틀이 없는지 확인하고, 전부 리네임했다 — 레포·빌드·배포·이 케이스 스터디까지.
지금의 게임 — 마주 보는 조각상들
룩어웨이 규칙을, 조각상과 믿을 수 없는 방을 중심으로 다시 세웠다. keep-watching.vercel.app에 배포된 실제 게임 — 이 사이트에서 바로 플레이할 수 있다.

프로토타입 — 크레딧 0의 프리미티브 조각상
생성에 한 푼 쓰기 전에, 메커닉부터 증명하려고 조잡한 프리미티브로 조각상을 세웠다 — '보면 멈추고 안 보면 다가온다'가 석상에서도 무서운가? 무서웠다. 그제서야 실사 천사를 생성했다.

군중 + 의태 — 어느 게 살아있나
똑같이 생긴 우는 천사 한 방. 일부는 살아있고 일부는 장식이며, 하나가 움직이기 전까지 구분할 수 없다. 피벗 전체가 이 긴장을 위한 것이었다.

덮침 — 얌전한 얼굴에서 달려드는 얼굴로
손이 닿는 거리에 들면 얌전한 얼굴이 이걸로 바뀐다. 두 번이나 지나쳤던 그 조각상이, 지금 당신을 잡으려는 놈이다.

매판 랜덤 — 같은 방, 다른 판
천사 수·살아있는 것·위치가 매판 랜덤이다. 방을 외워도 소용없다 — 위협은 매번 다른 곳에 있다.
$
근거 · 깃·위키 인용