본문으로

회귀자는 탑을 오른다강화학습 밸런스 실험 · 모바일 세로 로그라이크 · 1인 개발

AI가 플레이어보다 먼저
전투의 밸런스 빈틈을 찾았습니다

공격 버튼만 연타해도 이기는 전투는 플레이어가 금방 찾아냅니다. 1인 개발 Android 로그라이크 「회귀자는 탑을 오른다」에서는 강화학습 AI를 전투에 먼저 돌렸고, 3차 실험까지 연타 정책이 학습 AI보다 점수가 높다는 빈틈을 확인했습니다. 규칙을 바꿔 다시 돌린 뒤, 가장 높고 안정적으로 이긴 상황 규칙을 동료 마타이오스가 움직이는 규칙으로 옮겼습니다.

평균 보상 점수 연타 1.54 → 상황 규칙 2.104차 전투 실험 · 같은 전투 규칙 · 정책마다 1,000판 · 학습 AI 1.86

내 담당기획 · 전투 규칙 설계 · 강화학습 실험 설계와 판정 · AI 에이전트 작업 지휘와 검증 · Android 빌드

내가 정한 것
전투 규칙과 실험마다 바꿀 조건 · 마타이오스의 판단 규칙 · 길 잠금·전투 미리보기 같은 구현 전 결정 문서
AI로 짠 것
결정 문서대로 맡긴 구현 묶음(화면, 전투 재작업, 이벤트 연결, 루트 수정) · 목표 화면 그림 3장
내가 확인한 것
정책마다 1,000판씩 돌린 전투 실험 점수 판정 · 묶음마다 만든 APK를 실제 폰에서 확인

이주형Unity 6 · C# · ML-Agents · 플레이 가능한 프로토타입(정식 출시 전)

APK 받기 (Android) 동료 대화 학습 케이스

AI가 전투의 빈틈을 찾은 과정

전투 실험 1~6차

  1. 문제

    처음 전투는 공격이나 스킬만 계속 눌러도 이겼고, 마타이오스는 화면 장식처럼 보였습니다. 3차 실험까지 연타 정책이 학습 AI보다 점수가 높았습니다.

  2. 판단

    학습한 AI를 동료로 넣지 않고 전투 규칙의 빈틈을 찾는 실험장으로 썼습니다.

  3. 검증

    규칙을 바꿔 가며 학습시켰습니다. 4차에서 스킬 대기 시간, 체력이 낮을 때 스킬 낭비 감점, 방어 뒤 반격 보상을 넣자 학습 AI가 연타를 넘었습니다.

  4. 결과

    사람이 상황별로 짠 규칙이 가장 높고 안정적이었습니다. 그래서 마타이오스는 읽을 수 있는 규칙으로 움직이고, 본편에 학습 모델은 넣지 않았습니다.

4차 실험에서 나온 점수

같은 전투 규칙 · 정책마다 1,000판

3차까지는 연타 정책이 학습 AI보다 높았습니다. 5·6차는 기준을 넘지 못해 실패 기록으로 남겼습니다. 실험은 훈련용 전투에서만 돌렸고, 본편 전투 코드는 바꾸지 않았습니다.

33연결한 이벤트 화면
138검증한 선택지
112MB최근 Android APK 후보
0본편에 넣은 학습 모델

밸런스 팀에서 쓴다면

이 실험이 맡을 수 있는 일

빈틈 먼저 찾기

연타 같은 지름길을 출시 전에 확인합니다

단순 반복 정책과 학습 AI를 같은 전투에 세워, 반복이 이기면 규칙에 빈틈이 있다고 봅니다. 이 게임에서는 3차 실험까지 연타가 이겼습니다.

고치고 다시 재기

규칙을 바꾼 뒤 점수로 비교합니다

스킬 대기 시간, 체력이 낮을 때 스킬 낭비 감점, 방어 뒤 반격 보상을 넣고 다시 돌렸습니다. 기준을 넘지 못한 5·6차도 실패 기록으로 남겼습니다.

읽을 수 있는 규칙으로

찾은 답을 사람이 고칠 수 있게 옮깁니다

가장 안정적이던 상황 규칙을 동료 행동에 옮겨서, 왜 그렇게 움직였는지 사람이 읽고 고칠 수 있습니다. 본편에 학습 모델은 넣지 않았습니다.

실험은 이 게임의 훈련용 전투에서만 돌렸습니다. 다른 게임의 전투에 옮겨 쓴 적은 없고, 출시 전이라 실제 플레이어 데이터로 확인한 적도 아직 없습니다.

한 판이 흘러가는 방식

한 손 · 한 판 5분

  1. 길 고르기

    다음 층 칸의 종류를 미리 보여 주고, 한 번 고른 길은 되돌릴 수 없습니다.

  2. 이벤트 선택

    이벤트 33종, 선택지 138개. 고르면 체력·골드·기억 반응이 바로 돌아옵니다.

  3. 2인 전투

    플레이어가 행동하면 마타이오스가 보호·지원·마무리 중 하나를 고릅니다.

  4. 보상과 상실

    보스 보상과 성장 선택이 다음 판을 기대하게 하고, 회복에는 늘 붕괴가 따라붙습니다.

동료 마타이오스

규칙으로 판단하는 동료

동료 마타이오스 전신 그림

장식 NPC에서 같이 싸우는 동료로

마타이오스는 플레이어 행동 뒤에 보호·지원·마무리·안정화 중 하나를 고릅니다. 판단은 명시한 규칙으로 처리해, 왜 그렇게 움직였는지 사람이 읽을 수 있습니다.

  • 피해 숫자를 플레이어 것과 나눠 표시
  • 전투 기록에 누가 무엇을 했는지 표시
  • 이벤트에서 고른 선택을 기억해 반응

대화는 따로 학습했습니다. EXAONE 3.5 2.4B를 QLoRA로 학습해 26턴 대화 중 25턴에서 한국어를 유지했습니다.

동료 대화 학습 케이스

궁금한 부분을 더 자세히

기획으로 다시 본 네 가지 문제지도 · 전투 · 이벤트 · 동료
영역플레이어가 겪던 문제바꾼 규칙과 화면
지도선택지가 많아 보여도 의미가 흐린 빽빽한 지도길을 3줄로 줄이고, 다음 칸 종류를 공개하고, 지나친 길은 잠그고, 칸을 누르면 바로 확정
전투공격만 반복해도 이기는 피해 경쟁행동별 예상값 표시, 판단 신호(중압·빈틈·정찰), 정찰 효과 재정의, 피해 분리 표시, 처치 후 2초 결과 표시
이벤트결과가 늦거나 내부 이름이 그대로 보여 몰입이 끊김이벤트 화면 33칸 연결, 선택지 138개 결과 처리, 기억 반응 표시, 내부 이름 숨김
동료NPC가 같이 싸우는지 체감하기 어려움규칙으로 판단하는 동료, 보호·지원·마무리 역할, 전투 기록에 행동 주체 표시
시스템 설계루트 · 전투 · 동료 · 이벤트 · 성장 · 피드백
루트

3줄 지도와 되돌릴 수 없는 선택

층마다 전투·이벤트·휴식·상점·보스로 이어지는 짧은 길입니다. 다음 칸은 종류만 보여 주고 눌러지지 않게 해, 위험과 보상을 미리 보고 고르게 했습니다.

전투

연타 대신 판단 신호

공격·방어·스킬마다 예상 피해, 막는 양, 대기 시간을 보여 줍니다. 중압 방어, 빈틈 스킬, 정찰 공격으로 다음 행동을 읽기 쉽게 했습니다.

동료

같이 싸운다는 감각

마타이오스의 피해와 플레이어 피해를 합치지 않고 나눠 보여 주고, 보호·지원 여부를 기록과 화면에서 확인할 수 있게 했습니다.

이벤트

이벤트 33종 · 선택지 138개

배경·선택지·결과·보상·기억 반응을 데이터로 연결했습니다. 내부 이름 노출, 빠진 배경, 처리 못 하는 효과는 정적 검사와 수정을 반복해 없앴습니다.

성장

레벨업 보상과 명령 5칸

공격·방어를 기본으로 두고 스킬을 바꿔 끼웁니다. 정찰은 즉시 큰 피해 대신 다음 공격 강화와 1회 피해 감소로 바꿨습니다.

피드백

피해 숫자 · 흔들림 · 보스 보상

사용자 의견을 받아 전투 시작 버튼을 없애고, 진입 암전·피격 흔들림·격파 표시·보스 보상 창을 넣었습니다. 처치 결과는 약 2초 먼저 보여 줍니다.

화면은 어디까지 왔나실제 구현 화면과 목표 화면

시스템을 먼저 만들고 검증했습니다. 앞 네 장은 지금 돌아가는 Unity 프로토타입 캡처이고, 뒤 세 장은 화면 방향을 잡으려고 그림 생성으로 만든 목표 화면입니다. 목표 화면은 게임에 반영한 뒤 실제 캡처로 바꿀 예정입니다.

실제 구현 화면 (Unity 프로토타입 캡처)

프로토타입 전투 화면
전투적, 체력, 플레이어와 동료, 행동 버튼
프로토타입 상점 화면
상점전투 사이에 자원 선택을 끼움
프로토타입 기억 이벤트 화면
기억 이벤트배경·장면·결과를 나눠 표시
프로토타입 전투 진입 화면
전투 진입조우 장면과 전투 화면 연결

목표 화면 (그림 생성으로 잡은 방향)

전투 목표 화면
전투피해 분리와 아래쪽 명령 버튼
루트 목표 화면
루트고를 수 있는 칸과 이벤트 창
성장 목표 화면
성장아이템·명령 칸·단련 선택
AI와 같이 만든 방식결정 문서 · 작은 묶음 배포 · 시험과 폰 확인 분리

세션을 나누고, 깨끗한 작업 폴더에서 구현하고, 증거를 고정한 뒤 APK를 검사하는 흐름으로 AI 에이전트 작업을 관리했습니다.

설계

구현 전에 결정 문서로 잠금

길 확정(D-034), 동료 판단(D-035), 전투 미리보기(D-036), 명령 정리(D-038)를 먼저 정하고 구현을 맡겼습니다.

구현

작은 묶음으로 나눠 APK까지

화면 묶음, 전투 재미 재작업, 이벤트 연결, 루트·콘텐츠 수정을 작게 나눠 올리고 매번 APK를 만들었습니다.

검증

자동 시험과 폰 확인을 나눔

자동 시험으로 막을 수 있는 회귀와 실제 폰에서만 보이는 읽기 문제를 구분해 따로 확인했습니다.

개선

「전투가 재미없다」를 쪼개서 고침

피해 분리, 처치 피드백, 보스 체력, 스킬 의미, 성장 화면, 명령 칸으로 나눠 하나씩 고쳤습니다.

빌드 정보와 남은 위험APK 확인값 · 알려진 문제
상태정식 출시 전 플레이 가능한 프로토타입. 최종 스토리는 아직 쓰는 중입니다.
커밋7ac43be5ae9aab8f73832430aaf78ea68e0177d0
APKGoogle Drive 내려받기 폴더
SHA-25608ca2014c2f08bfeb06dcf8d28c46f97ece806be151efc735586fa195e95c932
Androidcom.godju.hwigitower · arm64-v8a · APK 서명 v2 확인
남은 위험일부 Unity 시험은 기본 패키지 컴파일 문제로 결과 파일을 만들지 못했습니다. Android 빌드와 대상 시험은 따로 확인했습니다. 실제 기기 자동 확인은 아직 없습니다.
이주형 · 회귀자는 탑을 오른다

플레이어보다
먼저 찾은빈틈

강화학습 AI를 전투에 먼저 돌려 버튼 연타로 이기는 빈틈을 찾았습니다. 규칙을 고쳐 다시 재고, 가장 잘 이긴 상황 규칙을 동료 마타이오스의 행동 규칙으로 옮긴 Android 로그라이크입니다.

01 한 판은 이렇게
  1. 길 고르기
  2. 이벤트 선택
  3. 2인 전투동료
  4. 보상과 상실

한 판 5분 · 이벤트 33종 · 선택지 138개

02 빈틈 찾기

학습한 AI를 동료로 넣기

학습한 AI로 전투 규칙의 빈틈 찾기

3차 실험까지 연타가 학습 AI를 이겼습니다. 규칙을 바꿔 가며 다시 학습시켰습니다.

03 내가 맡은 것
  • 기획과 전투 규칙 설계
  • 강화학습 실험 설계와 판정
  • AI 에이전트 작업 지휘와 검증
  • Android 빌드와 배포
04 결과2.10

평균 보상 점수 연타 1.54 → 학습 AI 1.86 → 상황 규칙 2.10

4차 실험 · 같은 전투 규칙에서 정책마다 1,000판 · 평균 보상 점수

05 동료 마타이오스
마타이오스

보호·지원·마무리를 읽을 수 있는 규칙으로 고르고, 이벤트 선택을 기억해 반응합니다.

실험 기록, 화면, 빌드 정보는 원래 페이지에 있습니다.

동료 대화 학습 케이스