목록으로
생활 속 AI 활용
혼자서도 하는 마피아 게임: 로컬 AI 5명을 플레이어로 넣고, 판정은 코드에 맡긴 게임잼 제작기
👤 노란고래686 📅 2026-10-22 👁 조회 64
마피아 게임은 6명이 모여야 해서, 게임잼에서 사람 1명과 로컬 AI 5명이 대화·투표하는 게임을 만들었음. AI는 대사만 맡고 승패·투표 판정은 코드가 하게 나눴고, 모델은 실제 게임 대사로 시험해 골랐음.
1. 어떤 상황에서 AI를 썼나

2026년 7월 3일부터 10일까지 열린 게임잼에 팀으로 참가했음. 만든 건 마피아 게임임. 마피아는 재밌지만 6명이 모여야 시작할 수 있음. 그래서 사람 1명과 AI 5명이 같이 하는 6인 마피아를 만들기로 했음. 내 담당은 게임 로직, 로컬 AI 연결, UI와 튜토리얼이었음.

2. 어떤 AI를 어떻게 썼나

AI를 두 군데에 썼음.

① 게임 속 플레이어 (Ollama + Gemma)
- Unity에서 내 PC의 Ollama로 요청을 보내 AI 대사를 받음. 인터넷 서버를 거치지 않아서 플레이어가 친 대화가 밖으로 나가지 않음.
- AI마다 역할(시민·마피아·경찰·의사), 성격, 지금 있는 방, 지금까지 대화를 묶어 프롬프트를 만듦. 같은 방에 있는 AI만 내 말을 들음.
- AI는 '말하는 배우'까지만 맡김. 역할 배정, 투표 집계, 밤 행동 처리, 승패는 C# 코드(GameRules)가 판정함. 생성된 대사가 이상하게 나와도 게임 규칙은 깨지지 않게 하려는 것임.

② 개발 보조 (Claude Code, Codex)
- 기능 구현과 디버깅에 썼음. 작업 세션이 바뀌어도 이어지게 그날 한 일·코드 구조·남은 일을 정리 파일로 남기고, 다음 세션은 그 파일부터 읽게 했음.

3. 결과와 바뀐 점

문제 1. AI가 말을 안 함
- 요청은 성공하는데 대사가 비어 나왔음. 화면 문제인지 응답 문제인지 나눠 봤더니, 모델이 속으로 '생각'하는 데 출력 길이를 다 쓰고 있었음. 생각 기능을 끄고(think: false) 모델을 메모리에 붙잡아 두게(keep_alive) 해서 줄였음.

문제 2. 심사용 PC에서 안 돌아감
- 심사 PC는 그래픽 메모리 8GB급이었는데, 처음 쓴 Gemma 4 12B는 불러오기만 해도 8.1~8.4GB를 차지했음. 게임과 같이 돌릴 수 없었음.
- 더 작은 모델 후보를 게임에서 실제로 쓰는 프롬프트 5종(성격대로 말하기, 모순 잡기, 투표 형식 맞추기, 마피아의 거짓말, 밤 행동 형식 맞추기)으로 각 2번씩 시험했음.
- EXAONE 3.5(7.8B)는 탈락했음. 캐릭터 말투가 사라졌고, 모순은 2번 다 못 잡았고, 숨겨야 할 내부 전략을 말해 버렸고, 자기 자신을 지목했음.
- Gemma 4 e4b-it-qat는 불러올 때 5.7GB였고 5종 모두 12B와 비슷하게 통과했음. 응답 속도는 약 2배 빨랐음.
- 이 모델로 바꾼 뒤 한 판을 끝까지 돌려 봤음. 그 판에서 AI 5명의 투표 응답이 모두 정해진 형식으로 나왔고, 마피아 AI가 밤에 자기를 추리하던 AI를 제거하는 장면까지 확인했음.
- 배운 것: 한국어 시험 점수가 높은 모델이 내 게임에 맞는 모델은 아니었음. 직접 쓸 문장으로 시험해 보는 게 맞았음.

문제 3. 처음 하는 사람이 흐름을 모름
- 처음 해 본 사람이 낮 토론·이동·투표·밤 흐름을 따라오지 못했음. 실제 게임 화면을 찍어 4쪽짜리 시작 튜토리얼을 넣고, 단계가 바뀔 때마다 그 역할에 맞는 조작 안내를 몇 초 띄우게 했음.

4. 나만의 방식

- AI한테 대사는 맡기되 심판은 맡기지 않았음. AI가 틀린 말을 해도 게임이 망가지지 않음.
- 모델을 점수표로 고르지 않고 내 게임 대사로 직접 시험해서 골랐음.
- 클라우드 대신 내 PC에서 돌리는 모델을 써서, 사용료와 대화 유출 걱정 없이 계속 시험할 수 있었음.

5. 다른 사람도 따라 할 수 있나

1. Ollama를 설치하고 작은 모델을 하나 받음 (그래픽 메모리 8GB면 4~5GB대 모델부터).
2. NPC마다 '역할·성격·지금 상황·지금까지 대화'를 묶어 프롬프트로 보냄.
3. 점수·승패·아이템처럼 틀리면 안 되는 건 AI 말고 코드로 판정함.
4. 모델 후보를 실제로 쓸 문장 몇 개로 2번 이상씩 돌려 보고 고름.
5. 처음 하는 사람에게 해 보게 하고, 막히는 곳에 튜토리얼을 넣음.

게임잼에서 만든 시제품이고, 게임 그림과 사운드는 내 담당이 아니었음.
← 목록