rastalion.dev
ISSUE

말빨로 싸우는 도트 랩배틀, 웹게임 ‘DRIP FIGHTER II’를 공개합니다

teinam 2026-10-26updated 10-27 2 MIN

브라우저에서 친구들과 말빨로 랩배틀을 벌이는 웹게임 ‘DRIP FIGHTER II’를 만들어 drip-battle.rastalion.dev에 공개했습니다. 방을 만들고 6자리 방 코드나 링크를 공유하면 최대 8명이 한 방에 모입니다. READY를 누른 사람끼리 랜덤 대진 토너먼트로 1:1 배틀을 하고 나머지는 관전하며 투표와 이모지로 반응합니다. 드립 한 줄을 던지면 AI가 채점해 데미지를 매기고 체력이 0이 되면 K.O.입니다. 설치나 회원가입 없이 닉네임만 넣으면 바로 할 수 있습니다.

DRIP FIGHTER II 첫 화면. 닉네임 입력창, 방 만들기 버튼, 방 코드 입력창과 캐릭터 8명이 보인다

방 하나에 최대 8명, READY 한 사람끼리 토너먼트

첫 화면에서 닉네임을 넣고 ‘방 만들기’를 누르면 방이 생기고 주소가 /r/방코드 형태로 바뀝니다. 이 링크를 공유하거나 친구가 첫 화면에서 방 코드를 입력하면 같은 방에 들어옵니다.

방에 들어오면 캐릭터 8명 가운데 하나를 고릅니다. 뉴비·링고·뽀삐·한기·모스·그림·츄르·보스는 모두 이 게임을 위해 만든 오리지널 픽셀 캐릭터로, 캐릭터마다 말빨·텐션·근성 스탯과 한 줄 소개가 붙어 있습니다.

캐릭터 선택 화면. 왼쪽에 캐릭터 8명, 가운데에 고른 캐릭터와 스탯, 오른쪽에 접속자 목록이 보인다

READY를 누른 사람이 2명 이상이 되면 10초 카운트다운 뒤 토너먼트가 시작되고 그 10초 안에 READY 한 사람까지 참가합니다. 대진은 랜덤이고 지면 탈락합니다. 인원에 따라 결승, 4강, 8강 가운데 한 곳에서 시작하고 대진표에서 남는 자리는 부전승으로 처리합니다. 경기는 한 번에 하나씩 열리고 나머지 사람은 관전합니다.

드립 한 줄이 데미지가 되기까지

배틀이 시작되면 두 사람이 번갈아 한 줄씩 디스를 던집니다. 한 턴은 30초이고 그 안에 아무것도 던지지 않으면 침묵 데미지 18을 받습니다. 체력은 100입니다. 아래 배틀 화면 두 장은 봇과 붙는 오프라인 연습 모드에서 찍은 것입니다.

오프라인 연습 모드의 배틀 화면. 왼쪽 캐릭터가 말풍선으로 디스를 던지고 있다

던진 드립은 AI가 찔림(아픈 곳을 정확히 찔렀는지)·재치·받아치기(상대의 직전 드립을 되돌렸는지)·신선도 네 가지로 채점하고 그 결과로 8에서 75 사이의 데미지가 정해집니다. 같은 말을 재탕하면 신선도 점수가 낮아집니다. AI 채점을 쓸 수 없을 때는 문장 길이와 텐션, 신선도에 약간의 무작위 값을 더하는 공식으로 대신 채점합니다.

관전자가 있으면 데미지가 들어가기 전에 10초짜리 투표창이 열립니다. 관전자는 ‘치명타’·‘쏘쏘’·‘하찮’ 가운데 하나를 고르고 관객 투표 70%와 AI 점수 30%를 합쳐 최종 데미지를 냅니다. 아무도 투표하지 않으면 AI 점수만 씁니다. AI가 판을 끝낼 만한 킬링 라인으로 보거나 투표한 관객의 과반이 ‘치명타’를 고르면 데미지가 1.3배인 치명타가 됩니다.

오프라인 연습 모드의 배틀 화면. 오른쪽 캐릭터가 맞아 -40 데미지가 뜨고 화면 가운데에 FIGHT! 글자가 떠 있다

선을 넘으면 자기 체력이 깎입니다

이 게임은 친한 친구끼리의 로스트 배틀을 가정합니다. 외모·성격 놀림, 랩 실력 디스, 자기 비하 개그는 허용됩니다. 반면 과한 욕설, 성적 표현, 부모님·가족을 거는 패드립, 장애·질병 비하나 혐오 표현 같은 인신공격은 금지입니다. 금지 표현을 던지면 상대 대신 자기가 45 데미지를 받고 턴이 넘어갑니다.

검열은 두 단계입니다. 1차로 오픈소스 욕설 사전 korcen과 자체 금칙어 목록을 쓴 정규식 필터가 욕설, 성적 표현, 패드립, 비하·협박 표현을 걸러냅니다. 필터를 통과한 말이 가벼운 놀림인지 실제로 상처를 주는 공격인지처럼 문맥이 필요한 판단은 AI가 채점하면서 함께 합니다. AI 채점을 쓸 수 없을 때는 1차 필터만 적용됩니다.

규칙 한눈에 보기

항목 값
인원 방마다 최대 8명
대전 방식 READY 2명 이상이면 10초 뒤 랜덤 대진 토너먼트, 한 번에 한 경기
체력 100
턴 제한 30초, 넘기면 침묵 데미지 18
데미지 8~75, 치명타는 1.3배(킬링 라인·투표 과반), 공식 채점은 12% 확률로 1.7배
관전자 투표 10초, 관객 70% : AI 30%
금지 표현 자해 45, 턴 넘어감
방 유지 5분 동안 활동이 없으면 방 삭제

서버 없이 여는 연습 모드도 있습니다

게임 클라이언트 코드는 HTML 파일 하나로 빌드되고 캐릭터·배경 이미지는 별도 파일로 둡니다. 이 HTML 파일을 서버 없이 브라우저로 바로 열면 봇 7명이 있는 방에서 봇 한 명과 1:1로 붙는 오프라인 연습 모드로 돌아갑니다. 이 모드에는 토너먼트·AI 채점·관전자 투표가 없고 공식으로 채점합니다. 서버는 외부 패키지 없이 Node.js만으로 동작하고 방 안의 상태는 SSE(Server-Sent Events, 서버가 브라우저로 이벤트를 계속 내려보내는 방식)로 전달합니다. 캐릭터와 배경 그림은 Google의 Gemini 이미지 생성 모델로 만들었습니다.

생각: 영어 디스 배틀 요청에서 시작했습니다

여기서부터는 게임을 만든 사람으로서 하는 개인적인 이야기입니다.

얼마 전 영어 학습 사이트를 만들었는데 황조롱이 유지 님에게서 영어로 디스 배틀을 뜨는 걸 만들어 달라는 요청을 받았습니다. 그 말에 갑자기 필이 받아서 AI를 이용해 이틀 만에 이 게임을 만들었습니다. 그렇게 나온 결과물은 한국어로 말빨을 겨루는 게임입니다.

아쉽게도 아직 게임을 하러 오는 사람은 거의 없는 것 같습니다. 10월 27일 기준으로 게임 첫 화면에 표시되는 누적 통계는 방 9개, 참가(방 입장) 9회입니다. 친구 몇 명만 모이면 바로 한 판 할 수 있으니, 링크를 단톡방에 던져 놓고 한번 붙어 보시길 바랍니다.

Advertisement
Comments