RPG 턴제 전투 시스템 만들기 — 상태이상(중독·수면·혼란), 슬라임 몬스터 AI, ChatGPT 전투 배경 (AI RPG 9편)
여러분, 이 게임에 드디어 상태 시스템과 전투 시스템이 생겼습니다. 지난 8편에서 보물상자와 ESC 메뉴를 만들면서 “다음엔 전투”라고 했는데, 이번에 그 약속을 지켰어요. 결과부터 말하면… 게임오버를 세 번 봤습니다.
RPG 상태 시스템 — HP·MP와 공격력·방어력 스탯
먼저 캐릭터에 상태값이 생겼습니다. ESC 메뉴의 상태 탭을 열면 용사의 HP·MP·EXP와 스탯이 보여요.

화면에 표시되는 용사의 초기 상태값은 이렇습니다.
용사 Lv.1
HP 50/50 MP 20/20 EXP 0/100
STR 8 DEF 5 AGI 6 INT 4 LUK 3
그래도 뭔가 아쉽죠. 고전 RPG에 중독이 빠지면 섭섭하잖아요.
상태이상 구현 — 중독·수면·혼란
그래서 상태이상 세 가지를 추가했습니다.
| 상태이상 | 효과 |
|---|---|
| 중독(POISON) | 매 턴 HP가 5%씩 깎임 |
| 수면(SLEEP) | 행동 불가 |
| 혼란(CONFUSION) | 오조준 |

그런데 문제가 하나 있었어요. 파티원이 없어서 상태이상을 고쳐 줄 수가 없습니다. 해독 아이템도 아직 없고요.
디버그 패널 — 초반 테스트에 꼭 필요하다
그래서 디버그 패널을 미리 만들어 놨습니다. 화면 오른쪽 위 패널에서 중독·수면·혼란을 버튼 하나로 걸고 풀 수 있고, 게임오버 화면도 바로 띄워 볼 수 있어요. 이게 없으면 초반에는 테스트가 정말 어렵거든요. 상태이상 하나 확인하려고 몬스터를 찾아다닐 수는 없으니까요.

RPG 턴제 전투 시스템 — 슬라임과 마법 슬라임
이제 전투 시스템입니다. 몬스터는 예전에 Gemini로 그려 뒀던 슬라임들을 등장시켰어요. 평소 모습과 맞았을 때 모습까지 두 장씩 있습니다.

- 일반 슬라임: 가장 기본 몬스터. 몸통 박치기만 합니다.
- 마법 슬라임: 몬스터끼리 체력을 회복시켜 주는 힐러 겸, 독을 거는 몬스터예요.

몬스터 데이터는 화면 기준으로 이렇게 잡았습니다. 마법 슬라임은 행동 확률을 가지고 있어서 55%는 몸통 박치기, 45%는 마법을 써요.
슬라임 ATK 6 DEF 2 AGI 4 EXP 12 골드 3G
행동: 몸통 박치기
마법 슬라임 HP 22 MP 15 ATK 5 DEF 1 AGI 3 EXP 20 골드 6G
행동: 몸통 박치기 55% / 마법 사용 45%
마법: 쓰담쓰담 (MP 4, 아군 1명 HP +8 회복)
독한기운 (MP 6, 중독 부여 4턴, HP -5%/턴)
첫 전투 — 흰 배경과 마법을 못 쓰는 버그
드디어 전투입니다. 힐러부터 잡는 게 정석이니 마법 슬라임부터 없앴어요.

그런데 두 가지가 이상했어요.
- 전투 장면이 어색합니다. 몬스터 이미지의 흰색 배경이 그대로 박스처럼 보여요.
- 마법 슬라임이 치료 마법 한 번 못 써 보고 죽었습니다. 45% 확률이면 한 번은 써야 하는데요. 버그가 있는 것 같습니다.
마법 슬라임을 정리하고 나머지도 다 쓰러뜨려서 전투 승리, 경험치 획득까지는 확인했어요. 하지만 회복할 방법이 없어서 다음 전투가 부담스럽습니다.
전투 화면 업그레이드 — 흰 배경 제거와 버그 수정
전투 화면을 업그레이드했습니다. 몬스터의 흰색 배경을 없앴고, 마법 슬라임이 마법을 못 쓰던 버그도 수정했어요.
다시 전투를 해 보니… 이번엔 제대로 중독에 걸렸습니다. 대위기 상황이라 도망을 쳤어요.

그런데 도망을 가도 몬스터를 또 만나요. 버그가 없어진 마법 슬라임은 정말 무섭습니다. 서로 회복해 주고 독까지 거니까요.
- 중독이 자동으로 풀리는 버그가 새로 생겼지만, 그래도 HP가 너무 모자랍니다.
- 또 도망가도 또 만납니다. 랜덤 인카운터 확률 조정이 필요해 보여요.
결국 첫 번째 게임오버.
ChatGPT로 픽셀아트 전투 배경 만들기 — 너무 고퀄이라 너프
게임오버가 된 김에 전투 화면에 배경을 넣기로 했습니다. 지난 편에서 아이템 이미지로 재미를 본 ChatGPT 이미지 생성을 다시 써 봤어요. 초원·숲·사막 세 가지 전투 배경을 요청했더니…

너무 고퀄이라 이 게임의 도트 스타일과 안 어울립니다. 어쩔 수 없이 “너프시켜 달라”고 다시 요청했어요. 해상도와 디테일을 낮춘 픽셀아트 버전이 나왔는데, 아주 마음에 듭니다.

AI 이미지 생성에서 이런 일이 꽤 자주 있어요. “잘 그려 줘”보다 “이 게임에 어울리게 덜 그려 줘”가 더 어렵습니다. 고퀄 버전을 먼저 받고 “더 단순하게, 더 낮은 해상도의 픽셀아트로”라고 깎아 나가는 게 오히려 빨랐어요.
배경음악·타격 효과 넣고 다시 전투 — 그리고 노가다
배경을 넣고, 전투 배경음악과 타격(충격) 효과도 추가해서 다시 전투해 봤습니다. 이제야 전투 같네요.

경험치를 얻으려고 노가다를 좀 했어요. 그런데 회복 수단이 없으니 싸울수록 HP가 줄어들 뿐이고, 계속되는 플레이 끝에 HP가 바닥을 보이더니… 결국 또 게임오버입니다.
여러분, 게임 중독이 이렇게 무섭습니다.
정리 — RPG 전투 시스템 구현에서 배운 것
- 상태 시스템: HP·MP·EXP와 STR·DEF·AGI·INT·LUK 스탯을 ESC 메뉴 상태 탭에 표시.
- 상태이상: 중독(HP -5%/턴)·수면(행동 불가)·혼란(오조준). 고칠 수단이 없으면 게임이 금방 막힌다.
- 디버그 패널: 상태이상과 게임오버를 버튼으로 즉시 테스트. 초반 개발엔 필수.
- 몬스터 AI: 마법 슬라임은 행동 확률(박치기 55% / 마법 45%)로 회복·중독을 섞어 쓴다. 처음엔 마법을 못 쓰는 버그가 있었다.
- 남은 버그·밸런스: 중독 자동 해제 버그, 너무 잦은 랜덤 인카운터.
- ChatGPT 이미지 생성: 처음엔 고퀄로 나오니, 게임 스타일에 맞게 “너프” 요청으로 깎는다.
시리즈 흐름
- 1편: SDXL Turbo로 맵, SAM v3로 지형 마스크. 캐릭터는 실패
- 2편: Gemini(Nano Banana Pro)로 캐릭터 일관성 해결. API 비용 문제
- 3편: 로컬 OpenPose + Canny 파이프라인, 뒷모습만 Gemini 하이브리드
- 4편: LoRA 학습 + SAM3 데이터 증강 + 리터치 자동화. GPU 병목
- 5편: Excalibur.js로 맵 이동 구현 + 시청자 추천 PixelLab 발견
- 6편: Gemini API로 실내맵, Tilewise로 필드맵 타일과 오토타일 경계 처리
- 7편: AI 음원 툴 직접 제작, ACE-Step 배경음악 + AudioGen 효과음을 게임에 적용
- 8편: 보물상자·인벤토리·ESC 메뉴 시스템, ChatGPT로 아이템 이미지 생성
- 9편(이번): 상태 시스템·상태이상·턴제 전투, ChatGPT 픽셀아트 전투 배경
다음에 만들 것들 — 파티원과 상점
이대로는 진행이 어렵습니다. 회복도, 해독도 못 하니까요. 어서 빨리 파티원 시스템과 상점을 도입해야겠습니다.

그럼 다음 시간에 만나요. 감사합니다~
Comments