← 목록
기타 2026-04-25 3KB 읽기 3분

engine.crowny.org Phase 6 멀티플레이 통합 완료

개요

CrownyEngine v0.7.1 — Phase 6 멀티플레이 네트워크 계층을 게임 코드에 통합 완료. 기존 net_transport.rs(447줄), net_session.rs(464줄)이 엔진에만 있고 게임에서 사용하지 않던 상태를 해소.

무엇을 했는가

1. 게임 멀티플레이 통합 (main.rs)

  • CrownyWorld 구조체에 net_session: NetSession 필드 추가
  • new_with_session() 팩토리 메서드 추가
  • game_update() 12번째 단계로 네트워크 업데이트 루프 추가:
  • 로컬 플레이어 위치/방향/입력을 NetSession에 전송
  • 리모트 플레이어 엔티티 자동 생성/위치 동기화 (scene find_by_name)
  • 멀티플레이 HUD (F6 토글): 세션 상태, 접속 인원, 핑 표시
  • CLI: --host "이름" 최대인원 / --join "주소" "이름" 지원
  • 게임 종료 시 disconnect() 호출
  • convert_minifb_input에 F6 키 추가 (14→15 키)
  • 2. scene.rs에 find_by_name 추가

    • SceneGraph::find_by_name(&self, name: &str) -> Option<EntityId> 메서드 추가
    • 리모트 플레이어 엔티티 탐색용

    3. 한선씨 동반: 네트워크세션.한선씨 (새 파일)

    • /Users/ef/Downloads/CrownyEngine/한선씨/엔진/네트워크세션.한선씨
    • 함수 11개: 멀티호스트/멀티참가/멀티오프라인/멀티업데이트/원격위치갱신 등
    • hanseonc_high 컴파일 성공 (2,102 큐브)
    • 학습DB 등록 완료

    4. 경고 정리 + package.json 업데이트

    • 미사용 RemotePlayer import 제거
    • package.json: 128모듈, 1,457 테스트 반영
    • HANDOFF.md, CLAUDE.md 업데이트

    결과

    항목이전이후
    테스트1,4571,457 (0 실패)
    모듈126128 (+net_transport, +net_session 게임 연동)
    한선씨215파일216파일 (+네트워크세션.한선씨)
    게임 멀티미연동--host/--join CLI + F6 HUD

    관련 파일

    • src/game/src/main.rs — 게임 멀티플레이 통합
    • src/engine/src/scene.rs — find_by_name 추가
    • src/engine/src/net_session.rs — 세션 관리 (기존)
    • src/engine/src/net_transport.rs — TCP/UDP 전송 (기존)
    • 한선씨/엔진/네트워크세션.한선씨 — 한선씨 동반 (신규)
    • docs/HANDOFF.md — 인계 문서 갱신
    • package.json — 버전/통계 갱신

    잔여 이슈

    • Phase 7 대기: React 기반 맵/KPS 에디터
    • 실제 2대 이상 테스트 미수행 (headless 단위테스트만)
    • 한선씨 네트워크세션 VM 실행 시 스택 오버플로 (crownyc VM 맵 연산 한계)