AI에게 배틀로얄 게임 개발을 통째로 맡겨 보기 ④ — 아쉬운 점 고치기, 그리고 «말이 되나?»를 따져 본 촬영 모드
직접 해 본 뒤 아쉬웠던 점과 새 재미(자폭 드론 · 휴전과 배신 · 명예의 전당)를 요청 세 번으로 더하고, 영상을 만들다 드러난 어색한 장면을 «촬영 모드»와 요청 두 번으로 더 고친 기록입니다. 대단한 게임이 아니라 짧은 시간에 만든 게임이 조금씩 나아지는 과정을 그대로 담았습니다.
이 글을 세 줄로
- 앞 편까지 만든 «폭풍섬»을 직접 해 보고, 아쉬운 점(시계탑 · 엎드리기 · 좁은 집 · 아이템)과 새 재미(자폭 드론 · 손 흔들어 휴전과 배신 · 명예의 전당)를 15 · 16 · 17번째 요청으로 맡겼고, 세 판에 2시간 11분 55초가 걸렸습니다.
- 영상을 만들다 보니 자동 조종 녹화는 목적 없이 돌아다니는 시간이 길어서, 장면마다 정해진 대로 연기하는 «촬영 모드»를 18번째 요청으로 따로 만들었습니다. 그 화면을 자세히 보니 «담에 막혀 있는데 엎드려서 어떻게 쏘지?» 같은 어색한 곳이 보여, 19 · 20번째 요청으로 숫자를 재서 고쳤습니다.
- 만든 지 사흘 된 게임이라 요즘 게임과는 거리가 멉니다. 그래서 영상도 «대단한 걸 만들었다»가 아니라 «아쉬웠던 점 → 고친 것 → 아직 부족한 점» 순서로 다시 짰습니다.
이 글에 나오는 말
- 판: 요청 한 번으로 만든 게임 한 벌입니다. 판마다 폴더가 따로 남아서 15판부터 20판까지 그대로 다시 열어 볼 수 있습니다.
- 촬영 모드: 주소에
?shot=장면이름을 붙이면 그 장면 하나만 정해진 동작과 카메라로 매번 똑같이 펼쳐지는 기능입니다. 총알 · 폭발 · 쓰러짐은 게임 원래 방식 그대로 일어나고, 동작과 카메라만 대본대로 움직입니다. - 틈(총안): 시계탑 전망대 담 아랫부분에 낸 좁은 구멍입니다. 엎드린 사람이 이 틈으로 총구만 내밀고 쏠 수 있습니다.
- 명예의 전당: 1등을 한 사람의 이름을 서버에 저장해 «이번 주»(월요일마다 새로 시작)와 «역대» 순위로 보여 주는 판입니다.
처음 요청
15판은 직접 해 본 뒤 이렇게 요청했습니다.
시계탑 위에 올라갈 수 있게 해줘. 업드리는 것도 가능하게 해줘. 집이 너무 좁은데. 사람에 비하여 집이 좁아서 안에 돌아다니는게 너무 불편해. 다른 더 다양한 아이템들이 더 있으면 좋겠어. 예를 들어 수류탄, 연막탄, 특수 핼멧, 방탄조끼, 등등등... 말야.
16판은 «기존 배틀그라운드에는 없는 재미난 아이디어 없을까?»라는 물음에서 시작했습니다. 후보 여덟 가지(밀물 · 썰물, 번개가 쇠붙이를 노림, 바람, 시계탑 종, 손 흔들어 휴전, 가짜 소리 미끼, 갈매기 유령, 진흙 발자국)를 드렸고, 그중 «손 흔들어 휴전 · 배신»과 직접 낸 아이디어를 골랐습니다.
자폭 드론 아이템이 있으면 좋겠네.. 그것을 사용하면 드론 뷰가 되어 적에게 자폭할 수 있게 말야.
17판은 이 한마디였습니다.
지속될 수 있는 1등에 대한 보상이 필요해보여. 1등을 하면 어딘가에 이름이 올라가야 할 것 같아...
개발 AI에게는 이 말을 그대로 넘기지 않고, 앞 판들처럼 «게임을 직접 해 본 사람의 말투»로 풀어서 넘겼습니다. 예를 들어 엎드리기는 «엎드리면 몸이 실제로 바닥에 붙은 자세가 되어 느리게 기어가고, 풀숲에 숨기 좋고, 조준이 더 안정되면 좋겠어요»처럼 원하는 모습을 구체적으로 적었습니다.
완성된 영상
어떻게 만들었나
15판 — 시계탑 · 엎드리기 · 넓은 집 · 새 아이템 (57분 31초)
| 요청 | 결과(개발 AI 보고) |
|---|---|
| 시계탑 오르기 | 탑 속을 비우고 안쪽 벽에 사다리, 꼭대기 바닥 구멍으로 올라섬 · 전망대 담 뒤에 앉으면 머리만, 엎드리면 완전히 숨음 · 저격형 봇도 가끔 올라감 |
| 엎드리기 | 서기 · 앉기(C) · 엎드리기(Z) · 엎드리면 무릎을 끌며 기고 조준이 가장 안정 · 풀숲에 엎드리면 12m 밖 봇이 알아보지 못함 |
| 넓은 집 | 작은 집 9×7m → 13×10m, 2층 집 10×8m → 14×11m, 창고 12×9m → 16×12m · 천장 3.4m · 문 폭 1.7m · 가구는 벽 쪽으로 |
| 새 아이템 | 수류탄(G, 3.2초 뒤 폭발) · 연막탄(T, 18초 연기 벽) · 헬멧 · 조끼 · 배낭 1~3단계(몸에 보임) · 붕대 · 에너지 음료 · 4배 조준경 · 확장 탄창 |
C와 Z를 앉기 · 엎드리기에 쓰게 되면서 춤 · 손 흔들기 · 팔굽혀펴기 키는 B · N · M으로 옮겼습니다. 개발 AI는 «키보드로 직접 하는 조작은 녹화 도구로 누를 수 없어서 화면으로는 확인하지 못했다»고 따로 적어 왔습니다.
16판 — 자폭 드론 · 손 흔들어 휴전과 배신 (48분 0초)
자폭 드론은 X로 띄우고, 화면이 드론 카메라로 바뀌어 배터리 · 거리 · 높이가 보입니다. 클릭하면 돌진해 부딪힌 곳에서 터지고, 배터리 20초가 다 되면 그 자리에서 터집니다. 조종하는 동안 내 몸은 무방비라서, 맞으면 드론 연결이 끊깁니다. 봇은 «윙» 소리를 듣고 올려다보며 쏘아 떨어뜨리기도 하고, 매복형 · 저격형 봇은 직접 드론을 날리기도 합니다.
손 흔들기(N)를 하면 봇이 «의심 중…» 말풍선을 띄운 뒤 성격에 따라 받아 주거나, 거절하고 바로 쏘거나, 받아 주는 척하다가 등 뒤에서 쏩니다. 배신하기 직전에는 총을 살짝 고쳐 잡는 낌새가 있습니다.
개발 AI는 «같은 시드에서 15판 플레이어는 마지막 3명까지 갔는데 16판은 9등으로 쓰러졌다, 운의 차이가 크다고 보지만 다른 시드로는 비교하지 못했다»고 난이도에 대한 의심도 스스로 적어 왔습니다.
17판 — 명예의 전당 · 칭호 · 장식 (26분 24초)
| 우승 횟수 | 칭호 | 장식 |
|---|---|---|
| 1번 | 생존자 | 헬멧에 금빛 줄 |
| 3번 | 섬의 사냥꾼 | 금빛 견장(개발 AI가 정함) |
| 5번 | 폭풍의 주인 | 작은 왕관 |
| 10번 | 폭풍섬 챔피언 | 금빛 망토 |
| 20번 | 섬의 전설 | 몸을 감는 금빛 기운 |
장식은 겉모습만 바뀌고 실력과는 상관이 없습니다. 개발 AI는 같은 시드로 우승 0 · 1 · 5 · 10 · 20번을 찍어 «판의 흐름이 똑같았다»는 것으로 이를 확인했습니다.
서버 쪽 약속은 네 가지입니다.
POST /api/start 판을 시작할 때 «표» 한 장 받기
POST /api/win 1등 하고 이름 올리기 (표 · 이름 · 브라우저 열쇠 · 처치 수 · 걸린 초)
GET /api/hall 이번 주 · 역대 순위 · 지난 판 1등
GET /api/me 내 우승 횟수 (칭호 · 장식용)
저장하는 것은 이름 · 처치 수 · 시각뿐이고 방문자 IP는 남기지 않습니다. 가짜 기록을 줄이려고 «표 한 장에 한 번 · 판을 시작하고 2분이 지나야 인정 · 처치 수 최대 19명 · 같은 이름 하루 30번까지 · 욕설 이름 거절»을 넣었습니다. 다만 게임이 브라우저에서 돌아가는 구조라서, 작정하고 가짜 기록을 보내는 것까지 완전히 막을 수는 없습니다. 그래서 기록을 지우거나 이름을 바꾸는 관리 도구도 함께 두었습니다.
개발 AI가 게임 화면을 시험할 수 있도록, 녹화 도구에 같은 모양으로 답하는 «흉내 서버»를 붙여 두었습니다.
18판 — 촬영 모드 (37분 8초)
첫 영상은 자동 조종 녹화를 한 조각에 평균 22초씩 길게 틀었습니다. 그러다 보니 캐릭터가 목적 없이 돌아다니는 시간이 드러나고, 카메라도 설명하려는 장면을 제대로 비추지 못했습니다. 그래서 게임 기능이 아니라 «촬영 모드»를 요청했습니다.
?shot=tower&hud=0&seed=1 시계탑 장면 하나만, 화면 장식 없이, 매번 똑같이
?shot=list 장면 이름 · 길이 · 내용 목록
장소는 섬 자료(시계탑 · 2층 집 · 키 큰 풀숲 · 흙길 · 해변 · 마을 마당)에서 장면마다 서로 다른 곳을 고르고, 수류탄 · 연막탄은 던지기 전에 미리 계산해서 «봇 둘 사이»처럼 정해 둔 자리에 정확히 멈추게 했습니다. 명예의 전당 · 우승 장면은 서버에 아무것도 보내지 않고, 예시 이름에 «예시 기록» 표시를 붙였습니다.
이때 개발 AI는 «담이 엎드린 눈높이보다 높아서 엎드린 채로는 쏠 수 없다»는 것을 스스로 발견했는데, 게임을 고치지 않고 «몸을 일으켜 조준경 화면으로 명중시키는» 순서로 장면만 바꿨습니다.
19판 · 20판 — «이게 말이 되나?» (34분 17초 · 35분 0초)
19판에서는 담 아래에 틈을 내고, 총알과 시야가 틈으로만 지나가게 했습니다. 우승 장면에서 화면 전체가 하얗게 덮이던 것, 드론 폭발 때 1초 넘게 회색 연기만 보이던 것, 장비 비교에서 세 번째 사람이 화면 끝에 잘리던 것도 함께 고쳤습니다. 개발 AI는 나머지 13개 장면도 스스로 다시 보고, 공중에 떠 있던 깃발에 줄을 그리고 카메라가 벽을 뚫고 지나가던 곳을 장면 전환으로 바꿨습니다.
그런데 찍힌 화면을 보니 엎드린 몸이 바닥에서 떠 있고, 총은 틈 밖으로 땅을 향해 늘어져 있었습니다. 20판에서는 «틈 높이와 몸 높이를 실제 숫자로 재서 맞춰 달라»고 요청했고, 개발 AI는 고치기 전과 뒤를 숫자로 재서 보고했습니다.
| 잰 것 | 19판(고치기 전) | 20판(고친 뒤) |
|---|---|---|
| 틈 높이 | 바닥에서 10~62cm | 20~58cm (엎드린 눈높이 45cm가 그 안) |
| 몸 | 머리가 22~73cm까지 들림 | 배 · 무릎 · 발끝이 바닥에 닿음(0cm) |
| 총 기울기 | 아래로 −17°(봇이 47m 아래) | −1.5°(봇을 106m 떨어진 언덕에) |
| 총구가 담 밖으로 나온 길이 | 56cm | 5cm |
이 고침은 촬영 장면에만 들어간 것이 아니라, 봇과 자동 조종 플레이어도 같은 틈 · 같은 자세를 씁니다. 대신 틈이 좁아져서 이제 틈으로는 70~100m 넘게 떨어진 상대만 쏠 수 있고, 가까운 상대에게는 봇이 일어서서 담 너머로 쏩니다. 사람이 직접 할 때의 자세는 개발 AI가 직접 조작으로 시험하지 못했다고 적어 왔습니다.
고쳐 간 과정
받은 지적 → 바꾼 것
| 영상 판 | 받은 지적 | 바꾼 것 |
|---|---|---|
| 1판(4분 26초) | 화면과 나레이션이 다르고, 같은 화면이 반복되고, 게임 플레이 화면이 형편없음 | 18판 촬영 모드로 장면 18개를 새로 찍고, 장면 하나에 그 장면에서 일어나는 일만 말하도록 대본을 다시 씀 |
| 2판(3분 20초) | 시계탑 위에서 엎드려 쏠 때 벽에 막혀 있음 · 세밀함이 부족 | 19 · 20판으로 틈 · 자세 · 총 기울기를 고치고, 다른 장면도 «말이 되나?»로 다시 봄 |
| 2판 | 대단한 게임을 만든 것처럼 보임 · 짧은 시간에 만든 게임이 서서히 완성되어 가는 모습이 목적 | 대본 3판: 처음에 «요즘 게임과 비교하면 아직 많이 부족하다»고 밝히고, 기능마다 «아쉬웠던 점 → 고친 것 → 아직 부족한 점», 고치기 전(19판) · 뒤(20판)를 나란히 |
| 3판(3분 36초) | 목소리가 갑자기 무겁고 중후해짐 | 4편을 시작할 때 참고 영상을 따라 낮은 목소리(약 126Hz)로 바꿨던 것을, 1~3편과 같은 목소리(약 160Hz)로 되돌림 |
목소리는 대본을 바꿔서가 아니라 목소리 자체가 바뀐 것이었습니다. 처음에는 앞쪽 몇 줄의 말투가 가라앉은 탓으로 잘못 짚었고, 견본 여덟 개의 높이를 재고 나서야 원인이 드러났습니다. 즉, 이어지는 시리즈에서 목소리를 바꿀 때는 지난 편과 높이가 얼마나 다른지를 먼저 말씀드려야 했습니다.
스스로 고친 것
| 무엇을 | 어떻게 |
|---|---|
| 줄과 줄이 겹침 | 목소리를 바꾸면 줄 길이가 달라져서, 겹친 네 줄의 시작을 0.5~0.9초 늦춤 |
| 고치기 전 장면이 조준경 화면까지 이어짐 | 19판 장면을 0.5배로 천천히 틀고, 조준경으로 넘어가기 전(9.8초)에 끊음 |
| 말과 화면이 맞는지 | 줄마다 처음 · 가운데 · 끝 화면을 찍어 대본과 맞춰 보고, 맥에서 받아쓰기로 37줄 모두 대본대로 읽혔는지 확인 |
숫자로 자세히 보기
판마다 걸린 시간과 작업량 (개발 AI 기록 그대로)
| 판 | 요청 | 걸린 시간 | 작업(도구 호출) | 코드 줄 |
|---|---|---|---|---|
| 15 | 시계탑 · 엎드리기 · 넓은 집 · 아이템 | 57분 31초 | 284번 | 11,254 |
| 16 | 자폭 드론 · 휴전과 배신 | 48분 0초 | 283번 | 12,381 |
| 17 | 명예의 전당 · 칭호 · 장식 | 26분 24초 | 171번 | 12,973 |
| 18 | 촬영 모드(장면 18개) | 37분 8초 | 340번 | 14,332 |
| 19 | «말이 되나?» 다섯 곳 + 나머지 장면 | 34분 17초 | 304번 | 14,517 |
| 20 | 엎드려 쏘기 숫자로 맞추기 | 35분 0초 | — | 14,615 |
| 합계 | 3시간 58분 20초 | 10,007 → 14,615 |
게임 기능(15~17판)에 2시간 11분 55초, 촬영 모드와 고치기(18~20판)에 1시간 46분 25초가 걸렸습니다. 20판의 도구 호출 수는 기록에 일부만 남아 표에서 뺐습니다.
영상 판마다
| 판 | 길이 | 바뀐 것 |
|---|---|---|
| 1판 | 4분 26초 | 자동 조종 녹화 조각 12개(평균 22초) · 31줄 |
| 2판 | 3분 14초 → 3분 20초 | 촬영 모드 장면 18개 · 19판 장면으로 한 번 더 |
| 3판 | 3분 36초 | 대본 3판(37줄) · 고치기 전 · 뒤 나란히 · 20판 장면 |
| 완성본 | 3분 40초 | 1~3편과 같은 목소리 · 1440p · 쇼츠 36초 |
미리보기는 맥북에서 960×540으로 한 번에 약 2분, 1440p 완성본은 약 8분이 걸렸습니다. 장면 녹화(WebGL)는 그래픽 카드가 있는 PC에서 했습니다. 영상의 진행 목소리는 AI 음성(Typecast)입니다.
따라 해 보기
이 게임을 직접 해 보니 [아쉬운 점]이 불편했어요. [원하는 모습]처럼 바꿔 주세요.
다 만들면 그 장면을 찍어서 확인하고, 직접 확인하지 못한 것은 따로 적어 주세요.
영상으로 보여 줄 장면이 정해져 있다면, 자동 조종 녹화를 길게 쓰기보다 «촬영 모드»를 따로 요청하는 편이 낫습니다.
주소에 ?shot=장면이름 을 붙이면 그 장면 하나만 처음부터 끝까지 정해진 대로 펼쳐지게 해 주세요(시드 고정, 매번 똑같이).
장면은 [장면 이름: 무엇이 · 어디서 · 어떤 각도로]예요.
다 만들면 장면마다 처음 · 가운데 · 끝을 찍어서, «실제 게임에서 이게 말이 되나?»를 기준으로 확인해 주세요.
어색한 곳을 고쳐 달라고 할 때는 «틈 높이와 몸 높이를 실제 숫자로 재서 맞춰 주세요»처럼 잴 수 있는 기준을 함께 적으면, 개발 AI가 고치기 전과 뒤를 숫자로 보여 줍니다.
← AI연구소 글 전체 보기