MMX Beta Project Documents 계획, 근거, 댓글이 같은 기록으로 남는 작업 저장소
M0 Text GameEngine Implementation Plan V0.1

M0 Text GameEngine 구현계획서 V0.1

2026-05-23 · CODEX PM · Working baseline

1. 목적

M0의 목적은 MMX가 앱, 음성, 로비, 방 운영 이전에 “시나리오가 게임으로 실행되는가”를 가장 작은 단위로 증명하는 것이다.

이번 단계에서는 text 기반으로 시나리오를 작성하고, 같은 text 기반 플레이어에서 처음부터 끝까지 완주한다. 화면 완성도, 음성, 로비, 방 입장/퇴장, Agora, 실시간 채팅은 DexPM 수다방 Task 범위로 둔다.

2. 핵심 명제

scenario.txt
→ parse
→ validate
→ runtime scenario
→ text play
→ ending reached

3. 범위

포함text scenario 최소 작성 규칙, “마지막 통화” 변환, parser, validation report, runtime JSON, text player, 단서/선택/범인 선택/엔딩, 플레이 로그.
제외음성 채팅, 로비, 방 생성, 입장/퇴장, Agora, active speaker, 실시간 텍스트 채팅, Flutter production UI, Studio 고급 편집기, 멀티플레이 동기화.

4. 기준 시나리오

M0의 사용자 경험 기준 시나리오는 docs/MMX_FUE_and_Scenario_v0_1/MMX_TEST_SCENARIO_LAST_CALL_v0_1.md의 “마지막 통화”로 한다.

기존 www/public/studioPOC/scenarioFiles/1.txt는 매크로 parser 기술 fixture로 유지한다. 즉, “마지막 통화”는 FUE와 text play 검증용이고, scenarioFiles/1.txt는 macro grammar와 Reader 검증용이다.

5. 산출물

  1. scenario.txt: M0 text scenario source.
  2. scenario.json: parser가 만든 runtime scenario.
  3. validation_report: 누락, unreachable branch, unsupported command 기록.
  4. text player 실행 결과: 엔딩 도달 로그.
  5. implementation result report: 성공/실패와 후속 판단.

6. 최소 문법 방향

M0 text format은 작가가 읽고 고칠 수 있어야 한다. 과한 DSL을 만들지 않는다.

초기 문법은 title, intro, character, scene, clue, choice, accusation, ending_success, ending_failure 정도만 허용한다.

조건과 분기는 v0.1에서 범인 선택과 성공/실패 엔딩으로 제한한다. 복잡한 조건, 반복 조사, 동시 플레이, secret handout은 M1 이후로 보낸다.

7. 구현 순서

  1. “마지막 통화”를 M0 text format으로 변환한다.
  2. parser가 scene, character, clue, choice, ending을 구조화한다.
  3. validator가 title, character, clue, accusation, ending, scene 참조를 검사한다.
  4. text player가 CLI 또는 간단한 terminal UI에서 플레이를 진행한다.
  5. 플레이어가 범인을 선택하고 엔딩에 도달한다.
  6. 결과를 문서 댓글 또는 결과보고서에 남긴다.

8. 성공 기준

  • text source만 보고 시나리오 의도를 이해할 수 있다.
  • parser가 runtime JSON을 생성한다.
  • validator가 오류를 숨기지 않고 보고한다.
  • text player가 “마지막 통화”를 엔딩까지 진행한다.
  • 정답 선택과 오답 선택이 다른 결과로 이어진다.
  • 구현 결과가 App M0/M1 통합 계획에 재사용 가능하다.

9. M1과의 관계

M1은 폐기하지 않는다. M0는 M1 앞에 놓이는 엔진 증명 단계다.

M0가 끝나면 CODEX PM의 text scenario GameEngine과 DexPM의 수다방/로비/방/음성 계획을 합쳐 App 구현계획서를 새로 만든다. 구조는 “게임 엔진이 먼저 있고, 수다방/방/음성은 그 위의 플레이 환경”을 따른다.

10. PM 원칙

  • 구현은 작게, 판정은 엄격하게 한다.
  • 동작하지 않는 것을 동작한다고 쓰지 않는다.
  • 시각적 완성보다 플레이 가능한 시나리오 엔진을 우선한다.
  • M0에서 막힌 기술 이슈는 숨기지 않고 issue 또는 결과보고서에 남긴다.

댓글