2025.10 - 현재 IN PROGRESS

HAUL - 2D PvPvE Extraction Game

네오 서울 배경의 멀티플레이어 게임. 기획, 아키텍처, 클라이언트, 서버를 1인 설계, 구현 중.

역할 기획, 설계, 클라이언트, 서버 (1인)
스택
Godot 4.6C#GDScriptASP.NET Core 9MagicOnion (gRPC)LiteNetLib (UDP)SupabaseMessagePack
링크

개요

Gabriel Gambetta의 고속 멀티플레이어 환경(Fast-paced)에 최적화된 Server-authoritative 아키텍처를 구축하고 있습니다.

HAUL - 서버 로그(좌)와 Godot 클라이언트(우). 서버에서 Entity 위치, 전투, 스냅샷을 실시간 처리하는 모습

네트워크

  • Server-authoritative 구조 - 서버와 클라이언트가 동일한 Godot 물리 엔진을 사용하여 misprediction 최소화
  • Client-side prediction + Server reconciliation 적용
  • Snapshot interpolation - 다양한 네트워크 지연 환경(Latency) 시뮬레이션을 통해 최적의 인터폴레이션 버퍼(Snapshot Interpolation, 150ms) 수치를 산출 및 적용했습니다.

AI, 게임플레이

  • NPC AI는 fake InputCmd 패턴 - 플레이어와 동일한 물리 파이프라인을 공유하여 코드 변경 없이 NPC 추가 가능
  • 시민, 청소부, 방역반 등 Human NPC를 7-state FSM으로 구현

진행도

  • ✅ 인증, 매칭, 이동 동기화
  • ✅ 전투, NPC AI
  • ✅ 추출 시스템
  • ✅ 영속 DB (6테이블), 평판 시스템
  • 🔲 인벤토리, 루팅
  • 🔲 맵 확장, 레벨 디자인
  • 🔲 사운드, 연출