프로젝트 목록으로 돌아가기

Multiplayer Fishing

2026 GitHub 팀 협업 Unity, Mirror
Multiplayer Fishing screenshot 1

프로젝트 소개

Multiplayer Fishing은 Mirror 서버를 이용해 구현한 캐주얼 멀티플레이어 낚시 게임입니다. 여러 플레이어가 같은 공간에서 이동하고 낚시 플레이를 진행하는 흐름을 목표로 제작했습니다.

이 프로젝트는 GitHub를 사용해 팀원들과 협업했습니다. 저는 캐릭터 애니메이션 프로그래밍, 서버 내 버그 및 오류 수정, Supabase 연동 파트를 맡았습니다.

물고기를 잡을 때마다 포획한 물고기 데이터와 재화 데이터가 Supabase에 기록되도록 연결했고, Supabase에서 잡은 물고기 데이터와 재화 데이터를 확인할 수 있는 흐름을 구현했습니다.

담당 포지션

  • 캐릭터 이동 상태에 맞춘 이동 및 낚시 애니메이션 연결과 전환 로직 구현
  • 멀티플레이 환경에서 발생하는 서버 관련 버그와 오류 수정
  • 물고기 포획 데이터와 재화 데이터를 Supabase에 저장하고 확인할 수 있도록 연동
  • GitHub 기반 협업 과정에서 기능 수정 사항 관리 및 반영

수정한 버그

멀티플레이 상황에서 플레이어 캐릭터가 앞뒤로 떨리는 오류를 수정했습니다.

Mirror 기반 서버 권한(Server Authority) 이동 구조에서 클라이언트 입력 처리와 서버 이동 시뮬레이션이 서로 다른 업데이트 루프(Update / FixedUpdate)에서 동작하며 위치 보정이 불안정해지는 문제를 분석했습니다.

입력 처리와 서버 이동 흐름을 동일한 프레임 기준으로 정리하고, 원격 플레이어의 CharacterController 및 로컬 이동 로직이 NetworkTransform 보간 결과와 충돌하지 않도록 구조를 분리했습니다.

이를 통해 원격 플레이어 및 호스트 환경에서 발생하던 캐릭터 떨림(Jitter) 현상을 개선했습니다.

이 과정에서 멀티플레이 환경에서는 로컬에서 자연스럽게 보이는 움직임도 서버 동기화 및 갱신 타이밍이 겹치면 흔들림으로 보일 수 있다는 점을 경험했습니다.

사용 기술

Unity 6 C# Mirror Unity Relay Supabase Supabase REST API Multiplayer Animator Controller Character Animation Network Debugging GitHub Collaboration ScriptableObject Inventory System Shop System Excel Data NPOI Excel Parser Bug Fixing