← 목록
기타 2026-04-26 4KB 읽기 4분

K-BINGO 글로벌 LIVE 멀티플레이어 고도화

개요

K-BINGO를 전세계가 실시간으로 함께하는 플랫폼으로 고도화. Socket.io 멀티플레이어, 모바일 참가자 뷰, 신규 테마 2종, 다국어 UI 구현.

무엇을 했는지

1. 실시간 멀티플레이어 (Socket.io)

  • kbingo-server.js에 Socket.io 통합 (http.createServer + io)
  • 호스트: 방 생성 → 6자리 룸코드 → 참가자 대기 → 추첨 브로드캐스트
  • 참가자: 룸코드 입장 → 5×5 카드 자동 생성 → 실시간 추첨 수신 → 마킹 → 빙고 선언
  • 이벤트: host:create/start/draw/end, player:join/mark/bingo, room:draw/bingo/ended
  • 룸 자동 정리 (3시간 만료, 호스트 연결 해제 시 종료)
  • REST API: GET /api/rooms/:code (방 상태 조회)

2. 모바일 참가자 뷰 (player.html)

  • URL: kbingo.crowny.org/play 또는 /play/ROOMCODE
  • 모바일 퍼스트 반응형 디자인
  • 입장 화면: 룸코드 입력 + 닉네임 + 언어 선택
  • 게임 화면: 5×5 카드, 호출된 항목 자동 하이라이트 (주황 점멸)
  • 탭하여 마킹, 빙고 라인 자동 감지, BINGO 버튼 활성화
  • 콜 배너: 최신 추첨 항목 실시간 표시 (이모지+텍스트+카테고리)
  • 위너 오버레이 + 컨페티 애니메이션

3. 다국어 UI (4개 언어)

  • 한국어(ko), English(en), 日本語(ja), 中文(zh)
  • player.html에 언어 전환 버튼
  • I18N 객체로 모든 UI 텍스트 관리

4. 신규 테마 2종

K-드라마 빙고 (75항목)

  • D (Drama/히트작): 오징어게임, 눈물의여왕, 사랑의불시착 등 15작품
  • R (Role/캐릭터): 독고진, 성기훈, 전지현, 마동석 등 15인
  • A (Award/수상): 에미상, 칸영화제, 넷플릭스1위 등 15성과
  • M (Music/OST): 봄날, Beautiful, Stay With Me 등 15곡
  • S (Spot/촬영지): 남이섬, 주문진해변, 강릉 등 15곳
K-뮤직 빙고 (75항목)
  • K (K-Pop/아이돌): BTS, 블랙핑크, 뉴진스 등 15팀
  • M (Melody/명곡): Dynamite, Gangnam Style, Ditto 등 15곡
  • U (Unique/장르): K-Pop, 트로트, 발라드 등 15장르
  • S (Stage/무대): MAMA, 코첼라, 잠실주경기장 등 15무대
  • C (Culture/문화): 팬덤, 응원봉, 포토카드 등 15문화

5. 호스트 뷰 업데이트

  • kbingo.html 시작화면에 5개 테마 카드 + LIVE 멀티플레이 버튼
  • LIVE 셋업 화면 (테마/제목/부제목 설정 → 방 만들기)
  • 게임 중 라이브 패널 (룸코드, 참가자수, URL 표시)
  • 인쇄카드 테마 셀렉트에 kdrama, kmusic 추가
  • Socket.io 클라이언트 연결 (추첨 시 자동 브로드캐스트)

6. 한선씨 동반

  • 한선씨/라이브빙고.한선 — 룸코드생성, 참가자카드생성, 빙고체크(12줄), 5테마 목록
  • 컴파일 성공 (hanseonc_high → 1,799 큐브)

아키텍처

[호스트 브라우저]          [서버 7762]           [참가자 모바일]
kbingo.html    ←Socket.io→ kbingo-server.js ←Socket.io→ player.html
 └ 전광판 5×15              └ Room 관리              └ 5×5 카드
 └ 추첨 + TTS               └ 카드 생성              └ 자동 마킹
 └ LIVE 패널                 └ 빙고 검증              └ 빙고 선언

관련 파일

  • /Users/ef/crowny-play/kbingo-server.js — Socket.io 멀티플레이어 서버
  • /Users/ef/crowny-play/src/kbingo/engine.js — 5테마 데이터 (375항목)
  • /Users/ef/crowny-play/public/kbingo.html — 호스트 SPA (LIVE 모드)
  • /Users/ef/crowny-play/public/player.html — 참가자 모바일 SPA (다국어)
  • /Users/ef/crowny-play/한선씨/라이브빙고.한선 — 동반 코드
  • /Users/ef/crowny-play/CLAUDE.md — v0.3.0 업데이트

테마 현황

테마항목수카테고리
숫자75B/I/N/G/O (1~75)
K-한글75ㄱ/ㄴ/ㅁ/ㅅ/ㅇ (고유어)
K-컨텐츠75먹거리/볼거리/즐길거리/자랑거리/누릴거리
K-드라마75히트작/캐릭터/수상/OST/촬영지
K-뮤직75아이돌/명곡/장르/무대/문화

잔여 이슈

  • QR 코드 자동 생성 (룸코드 → QR → 대형 스크린 표시)
  • 참가자 카드 인쇄 기능 (player.html에서)
  • 호스트↔참가자 채팅
  • 글로벌 리더보드 (국가별)
  • PWA 지원 (오프라인 캐싱)