십이지천
스타크래프트 같은 3종족 실시간 전략인데, 종족을 십이지의 전통 삼분법에서 가져왔습니다. 열두 지지를 넷씩 가르는 사맹·사정·사고가 원래 있는 분류라, 진영이 억지로 쪼갠 것이 아니라 제 성격을 갖고 출발합니다.
여기서 바로 해 보기
아래 버튼을 누르면 이 페이지 안에서 실행됩니다. 누르기 전에는 게임 데이터를 받지 않으므로, 소개만 읽고 가셔도 됩니다. 설치도 로그인도 없습니다.
누구에게 필요한가요
정통 RTS 의 골격(채취·건설·생산·교전·안개)을 갖춘 판을 브라우저에서 바로 해보고 싶고, 한국 전통 세계관이 장식이 아니라 규칙으로 들어간 걸 보고 싶은 플레이어
주요 기능
- 진영이 셋 — 사맹(四孟)=역마는 기동과 시야, 사정(四正)=도화는 물량과 확장, 사고(四庫)=화개는 방어와 화력. 십이지를 넷씩 가르는 전통 분류를 그대로 썼다
- 유닛은 짐승이 아니라 갑옷 입은 무인의 몸에 동물 머리를 얹은 수인(獸人)이다. 원원사지·김유신묘의 십이지신상이 실제로 그 모습이고, 몸이 같고 머리만 달라서 위에서 봐도 종류가 한눈에 구분된다
- 역마의 역참 — 봉수대 둘을 지으면 그 사이를 아군이 건너뛴다. 별도 명령이 아니라 이동 명령에 저절로 얹히고, 봉수대 사이 직선에는 좁은 시야 띠가 놓여 그대로 정찰 그물이 된다
- 전장의 안개가 시늉이 아니다. 시야 판정을 시뮬레이션이 하므로 안 보이는 적은 조준도 피해도 안 되고, 대숲과 절벽이 실제로 시선을 막으며 저지대에서 언덕 위는 들여다볼 수 없다
- 12지신 영웅은 권속의 부하가 아니라 지신 본인이다. 진영마다 넷 중 한 분만 신당에서 모시고, 오라는 늘 켜져 있고 필살기는 쿨다운마다 스스로 터진다
- 맵은 우연에 맡기지 않는다. 플레이어 수만큼 부챗살로 나눠 한 섹터를 회전 복사하고, 길을 나중에 깎아 시작 지점끼리 반드시 잇는다
- 맵을 직접 만든다. 언덕·강·대숲·지형 굴곡·자원 양·확장 기지 수를 손잡이로 고르면 시드와 합쳐 수십 글자짜리 맵 코드가 되고, 그 링크를 받은 사람은 한 칸도 다르지 않은 맵에서 둔다 — 맵을 서버에 올리지 않는다
- 붓으로 그릴 수도 있다. 들·언덕·절벽·강·대숲을 칠하고 논·지맥천·확장 묶음·시작 자리를 손으로 놓는다. 기본은 점대칭이라 한쪽을 칠하면 맞은편도 같이 칠해지고, 시작 자리를 끌어 옮기면 본진 곁 자원이 따라온다
- 막힌 맵은 내보내지 않는다. 두 본진이 강으로 끊기거나 닿을 수 없는 자원이 생기면 그 자리를 붉게 짚어 주고, 붓은 처음부터 자원 칸과 본진 둘레를 비켜 칠한다
- 다 그린 맵은 공개 목록에 올려 누구나 두게 할 수 있다. 목록의 맵으로 바로 두거나 친구와 방을 열거나 가져다 고쳐 만든다. 맵 번호가 곧 내용의 지문이라, 받은 맵이 올린 맵과 한 칸이라도 다르면 받지 않는다
- 소리에 음원 파일이 하나도 없다. 북·장구·징·꽹과리·가야금·대금을 코드로 합성했고, 배경음은 계면조 12박 장단 위에 선율을 매번 다시 짠다
- 교전이 붙으면 장단이 굿거리에서 자진모리로 촘촘해지고 꽹과리가 낀다. 한 판을 재 보면 6분 중 마지막 17초만 그 상태다
- 유닛이 말을 한다. 대사의 한글을 음절로 풀어 모음마다 입모양(포먼트)을 옮기는 방식이라, 12지신이 음높이와 성도 길이가 달라 황우와 서생원이 같은 말을 해도 다른 크기의 입에서 나온다
- 경기는 늘 기록된다. 상태가 아니라 명령만 남기므로 4분 43초 한 판이 0.3KB 다
- 인터넷으로 둘이 둔다. 네 글자 방 코드로 만나고, 서버는 시뮬레이션을 돌리지 않고 명령만 모아 확정해 나눠 준다 — 유닛이 몇백 기든 오가는 것은 명령뿐이다
- 기기가 달라도 어긋나지 않는다. 자바는 sin·cos·atan2·hypot 을 엔진이 알아서 근사하도록 규정해 브라우저마다 마지막 비트가 갈리는데, 시뮬레이션은 사칙연산과 sqrt 로만 짠 자체 수학을 쓴다
- 걸음이 시간이 아니라 이동 거리로 돈다. 느려지면 보폭도 줄고, 발이 땅에 닿는 순간에 먼지가 일고 발소리가 난다
- 쓰러진 유닛은 사라지지 않고 옆으로 넘어갔다 땅에 묻힌다
제품 방향
종족 구도를 먼저 정하고 세계관을 입힌 게 아니라, 반대로 갔습니다. 십이지를 넷씩 세 갈래로 나누는 분류가 명리에 원래 있어서 그걸 그대로 진영으로 썼고, 세 갈래의 성격이 그대로 RTS 색깔이 됐습니다. 유닛 모양도 마찬가지로 전통을 기준으로 삼았습니다 — 처음엔 네발 짐승으로 만들었다가 위에서 내려다보니 호랑이도 멧돼지도 갈색 캡슐이라 갈아엎고, 십이지신상 그대로 사람 몸에 동물 머리를 얹었습니다. 만들면서 가장 오래 붙든 것은 '조용히 망가지는 것'들이었습니다. 화살 소리를 내는 현 합성이 되먹임 때문에 1.5초 만에 진폭 1000배로 발산하고 있었는데 콘솔은 끝까지 깨끗했고, 물결 셰이더는 멀쩡히 들어갔는데 기울기가 1도도 안 돼 화면이 완전히 평평했습니다. 둘 다 파형과 픽셀을 재고 나서야 보였습니다. 그래서 지금은 눈과 귀로 판정하지 않습니다 — 소리 55 항목, 움직임 17 항목을 브라우저에서 숫자로 재고, 시뮬레이션은 311 항목과 리플레이 해시 대조로 확인합니다.
만들면서 쓴 글
- 붓으로 그린 맵을 남에게 건네기까지 — 십이지천 맵 편집기와 공개 맵
십이지천에 지형을 칠하고 자원과 본진 자리를 손으로 놓는 맵 편집기, 그리고 그린 맵을 나누는 공개 목록을 붙였습니다. 아무나 올리는 곳이라 되는 것보다 막는 것에 더 공을 들였고, 시험하다가 중계 서버가 큰 맵을 든 방장을 쫓아내게 되어 있던 것을 찾았습니다.

현재 상태
프로토타입 공개
- 개발 시작2026년 9월
- 현재 버전v0.1.0
- 마지막 작업2026.09.29
플레이 안내
- 좌클릭·드래그로 선택, 우클릭으로 이동과 채취와 공격입니다. A 는 공격이동, S 는 정지, Space 는 본진, F2 는 전 병력입니다
- 카메라는 화살표키·화면 가장자리·미니맵으로 옮기고 Q·E 로 45도씩 돌립니다. WASD 는 A·S 가 명령과 겹쳐서 일부러 뺐습니다
- 소리가 납니다. 브라우저 정책상 화면을 한 번 누른 뒤부터 들리고, 오른쪽 위에서 음량·배경음·유닛 목소리를 따로 끕니다(M·N·V)
- 유닛 대사는 합성 목소리라 뜻을 또렷하게 전하지 못합니다. 무슨 말인지는 화면 아래 자막이 맡습니다
- 화면 위 '온라인 대전'을 누르면 네 글자 방 코드와 초대 링크가 나옵니다. 그 링크를 받은 사람이 그냥 열면 같은 방으로 들어옵니다
- 같은 망 안에서 중계 서버를 직접 띄워 겨루는 LAN 대전도 그대로 있습니다
- 시작 화면의 '맵 만들기'에서 맵을 고르거나 '붓으로 고치기'로 직접 그리고, '공개 맵'에서 남이 그린 맵으로 둡니다. 그리던 맵은 이 브라우저에 저절로 남아 다음에 이어서 칠할 수 있습니다
- 공개 목록에 올린 맵은 올린 사람이 직접 지울 수 없습니다. 맵 이름에 욕설이나 연락처는 넣을 수 없고, 여러 사람이 신고한 맵은 목록에서 숨겨집니다
- 진행은 저장되지 않습니다. 새로고침하면 새 판이 생성됩니다
- 탭을 옮기거나 창이 가려지면 브라우저가 화면 그리기를 멈춰 게임도 함께 멈춥니다
- 12지신 초상 그림은 코덱스로 생성했습니다. 그 외 3D 모델·지형·소리는 전부 코드로 만듭니다
바로가기
써 보셨나요?
좋았던 점, 불편했던 점, 버그, 바라는 기능을 남겨 주세요. 읽어 본 뒤 공개하고, 고치는 데 씁니다.