기안서 『게임형 MES 시스템 구축 기안 및 기본설계서』를 기반으로, 심시티형 공장 맵과 게더타운식 근접 협업을 결합한 MES MVP를 하루 만에 구축·검증했습니다. 기획서의 Phase 1 전체와 Phase 2·3의 핵심이 동작하는 상태입니다.
게임 타이틀 로그인 → 캐릭터 설정 → 아이소메트릭 공장 맵(4존·설비 10대) 입장. 다중 접속 실시간 위치 동기화, 설비 상태창(HUD), 근접 대화 자동 활성화(서버 판정), 파일 공유, append-only 대화·이력 기록. 기획서 3.2 대표 시나리오(설비 알람 → 가상 집결 → 파일 공유 → 조치 → 이력 저장)를 2인 동시 접속으로 검증.
설비 상태 점유율, 알람 대응 시간, 대화 로그 검색(설비/기간/키워드), 설비·사용자 마스터 관리. 이후 알람 대응 리포트(에피소드별 대응 시간·협업 지표)로 확장 — 기대효과 "대응 시간 30% 단축"의 측정 근거.
존 영역 드래그 지정·설비 드래그 배치(코드 수정 없이 맵 변경 — NFR-02 실증). 설비별 데이터 연동 설정(프로토콜/주소/태그) 저장 구조 선반영. 캐릭터는 외부 에셋 없이 절차 생성한 4방향 도트 스프라이트로 교체, 플레이어 색상별 자동 생성.
맵 에디터의 연동 설정을 읽어 상태를 자동 발행하는 게이트웨이. 수동 변경과 동일한 이벤트 규격이라 클라이언트 무수정(설계서 5.3 원칙 실증). MQTT는 실제 브로커 접속·구독(LIVE), OPC-UA/Modbus는 시뮬레이션(SIM). 로컬 브로커·발행기 개발 도구 포함.
scrypt 해시 비밀번호, JWT 12시간 세션(재시작에도 유지), 역할 3종(작업자/보전/관리자). 상태 변경은 보전·관리자만 — UI 비활성화와 서버 강제 이중 차단. 비밀번호 변경(본인)·초기화(관리자) 지원.
관리자가 발행한 작업지시가 현장에는 퀘스트로 표시 — 수락·완료(양품/불량 실적 등록)가 설비 이력에 자동 기록. 포인트(완료 +100P, 무결점 +20P, 알람 해제 +50P), 레벨, 뱃지 4종, 개인·팀 리더보드.
에디터에서 설비 간 라인을 클릭 체인으로 연결. 상류 가동 시 재공 유입, 하류 가동 시 배출되는 부하 모델 — 하류 정지 시 재공이 쌓여 라인이 녹→황→적으로 변하고, 90% 돌파 시 "라인 정체" 전체 알림. 자재 점이 라인을 따라 흐르는 애니메이션으로 흐름을 시각화.
| ID | 요구사항 | 상태 | 비고 |
|---|---|---|---|
| FR-01~03 | 게임형 로그인 · 캐릭터 · 공장 맵 | 완료 | 맵 에디터 포함, 도트 캐릭터 절차 생성 |
| FR-04~05 | 설비 상태창 · 다중 접속 | 완료 | 수동 변경 + 게이트웨이 자동 수집 |
| FR-06~09 | 근접 대화 · 파일 · 기록 · 알림 | 완료 | 서버 근접 판정, append-only |
| FR-10 | 관리자 콘솔 | 완료 | KPI·로그 검색·마스터·맵 에디터·알람 리포트 |
| FR-11 | 설비 연동 (Phase 2) | 부분 | MQTT 실연동 완료, OPC-UA/Modbus는 시뮬레이션 |
| FR-12~13 | 생산관리 · 게이미피케이션 (Phase 3) | MVP 완료 | 작업지시 퀘스트·실적·포인트/레벨/뱃지/리더보드 |
| NFR-03 | 보안 (인증·권한) | 완료 | scrypt+JWT, 역할 기반. SSO/AD는 미적용 |
| NFR-02·06 | 확장성 · 기록 무결성 | 완료 | 맵·설비 데이터 정의, 이벤트 규격 통일, append-only |
MVP는 외부 인프라 없이 단일 Node.js 서버로 동작하며, 기획서의 목표 스택으로 교체 가능한 경로를 유지합니다.
ALARM/{"status":"RUN","value":72.5} 발행 → 맵 실시간 반영·이력 기록 확인