NTS RIVALS
NTS UNITED 로 STORM ATHLETIC 과 붙는 11대11 축구입니다. 세 경기를 이어서 치르는 RIVALS CUP 과 자유 설정 친선 경기가 있고, 선수 스물일곱 명에게 각자 이름과 등번호와 능력치 열한 가지가 붙어 있어 누구를 세우고 누구를 언제 뺄지가 경기의 일부가 됩니다. 설치도 로그인도 없고, 첫 화면이 뜬 뒤에는 인터넷도 쓰지 않습니다 — 게임 전체가 파일 하나입니다.
여기서 바로 해 보기
아래 버튼을 누르면 이 페이지 안에서 실행됩니다. 누르기 전에는 게임 데이터를 받지 않으므로, 소개만 읽고 가셔도 됩니다. 설치도 로그인도 없습니다.
누구에게 필요한가요
축구 게임을 하고 싶은데 수십 기가를 받고 계정을 만들 생각까지는 없는 사람, 그리고 스쿼드를 만지는 쪽이 경기만큼 재미있는 사람
주요 기능
- 11대11 정규 경기. 공 소유와 충돌, 포메이션에 따른 협력 움직임, 골키퍼 판단, 세트피스, 오프사이드, 골 리플레이까지 돈다
- RIVALS CUP — 4분 경기 셋을 세미프로 → 프로 → 월드클래스 순으로 오른다. 승리 3점 무승부 1점이고, 완주 점수가 7점 이상이면 GOLD, 4점 이상이면 SILVER, 나머지는 BRONZE 다. 끝낸 경기만 저장하므로 중간에 나가면 그 라운드를 다시 한다
- 명예의 전당이 컵을 넘어 쌓인다. 완주 횟수와 메달 수, 최고 점수를 들고 있다가 기록을 넘으면 종료 창에 그렇게 적는다
- 선수 스물일곱 명(우리 16, 상대 11)에게 고정된 이름·등번호·주발·본 포지션과 능력치 열한 가지(속도·패스·시야·볼 컨트롤·슈팅·침착성·헤딩·위치 선정·태클·체력·선방)가 있다. 이전에는 자리마다 난수로 만들었고 화면에 보이지도 않았다
- 선수 특성 열 가지 — 번개, 플레이메이커, 저격수, 공중 장악, 강철 체력, 양발잡이, 테크니션, 철벽, 강심장, 거미손. 팀 특성(연결·결정력·체력)은 그 위에 한 번만 더해진다
- 스쿼드를 직접 짠다. 선수를 누르면 능력치와 특성이 보이고 이어서 다른 선수를 누르면 자리가 바뀐다. 골키퍼는 골키퍼끼리만 바꿀 수 있고, 본 포지션이 아닌 자리에 세우면 위치 선정과 패스에 감점이 붙어 목록에 표시된다. 편성은 포메이션별로 저장된다
- 경기 중 교체 세 명. 일시정지 창에서 뛰고 있는 선수의 현재 체력이 %로 보이고 45% 밑이면 붉게 뜬다. 나간 선수는 다시 못 들어오고 골키퍼는 골키퍼와만 바꾼다 — 이 규칙들은 화면이 아니라 시뮬레이션이 판정하고, 화면은 거부 이유만 안내한다
- 피부색·머리색·키·축구화·테이핑이 자리가 아니라 선수에게 붙어 있다. 편성이나 교체로 다른 선수가 들어오면 그 자리의 3D 모델을 새로 만든다
- 전술 넷(균형·점유·역습·압박)을 경기 중에 1~4로 바꾼다. 난이도는 아마추어부터 레전드까지 다섯 단계, 포메이션은 4-3-3·4-4-2·4-2-3-1 셋이다
- 외부 라이브러리가 하나도 없다. WebGL2 렌더러를 직접 짰고 선수와 경기장 무늬는 코드로 그린다. 소리도 음원 파일 없이 Web Audio 로 관중과 효과음을 만든다
- 검사기가 그것을 강제한다. 빌드 전에 돌리는 check.mjs 가 http(s) 주소, fetch, import(), XMLHttpRequest, WebSocket, Worker 가 하나라도 있으면 실패한다 — 넷을 하나씩 끼워 넣어 네 번 모두 실패하는 것을 확인했다
- 키보드와 게임패드와 터치를 모두 받는다. 패스·슈팅은 누르고 있는 시간만큼 세진다
- 최근 20경기를 브라우저에 적어 두고 승·무·패와 최근 다섯 경기의 점수·난이도·포메이션·날짜를 보여 준다. 끝난 경기만 세고 데모는 빼며 같은 경기를 두 번 세지 않는다
제품 방향
받아 오는 것 없이 축구 한 경기가 돌아가는지를 보려고 시작했습니다. 그래서 규칙을 하나 세웠습니다 — 바깥에서 아무것도 안 받는다. 그림도 소리도 라이브러리도 없고, 배포되는 것은 HTML 파일 하나입니다. 이 규칙은 말로만 두면 언젠가 깨지므로 검사기가 대신 지킵니다. 만들면서 배운 것은 대부분 "보이지 않는 실패"였습니다. 컵 모드가 친선 설정을 덮어쓰고 있었는데 화면에는 아무 문제가 없었고, 미니맵 색이 이름을 바꾸기 전 팀 색으로 남아 있었고, 선수 외형이 선수가 아니라 자리에 묶여 있어서 교체를 해도 같은 얼굴이 뛰었습니다. 능력치를 넣을 때는 한 번 크게 헛짚었습니다. 태클 성공률의 기준점을 눈대중으로 0.75 에 놓았더니 AI끼리 붙인 데모 경기에서 태클이 16~20% 줄었습니다. 두 팀 필드 선수의 실제 평균인 0.66 으로 옮기고 나서야 원래대로 돌아왔습니다 — 수치를 바꿀 때마다 난이도별로 스물네 판씩 돌려서 골·슈팅·태클·선방·패스 성공률을 이전 버전과 나란히 놓고 봅니다. 그래도 스물네 판은 적어서, 골 수 차이는 아직 우연일 수 있다고 적어 둡니다. 규칙은 전부 시뮬레이션이 쥐고 화면은 결과만 그립니다. 교체 한도도, 골키퍼 규칙도, 재투입 금지도 화면에서 단추를 잠그는 것으로 막지 않았습니다 — 잠그는 쪽으로 막으면 잠그는 것을 잊은 자리가 생깁니다.
현재 상태
공개
- 개발 시작2026년 9월
플레이 안내
- WebGL2 를 지원하는 브라우저가 필요합니다. 데스크톱과 세로 화면 모두 배치를 따로 잡아 뒀습니다
- 설정과 경기 기록, 컵 진행, 스쿼드 편성은 이 브라우저에만 저장됩니다. 시크릿 모드나 사이트 데이터 삭제에는 남지 않습니다
- 혼자 하는 게임입니다. 상대는 AI 이고 온라인 대전은 없습니다
- 실제 4분 경기의 체감 밸런스와 진짜 터치 기기·게임패드 입력은 아직 충분히 확인하지 못했습니다. 밸런스는 AI 끼리 붙인 데모 경기로 재고 있습니다
- 예전 주소 /touchline11/ 로 들어와도 같은 자리로 넘어갑니다. 저장된 기록은 주소가 아니라 도메인에 붙어 있어서 그대로 남아 있습니다
바로가기
써 보셨나요?
좋았던 점, 불편했던 점, 버그, 바라는 기능을 남겨 주세요. 읽어 본 뒤 공개하고, 고치는 데 씁니다.