관리 메뉴

cyphen156

[Unity6] 배틀로얄짬뽕 본문

포트폴리오

[Unity6] 배틀로얄짬뽕

cyphen156 2025. 9. 15. 09:34

프로젝트 소개

Unity6 엔진을 활용한 탑뷰 시점의 캐주얼 배틀로얄 게임입니다.

플레이어 시야 제한(암흑 시야), 인벤토리/장비 슬롯, FSM 기반 게임 흐름 제어, 오브젝트 풀링을 포함한 Netcode 멀티플레이 구조를 설계·구현했습니다.
싱글 → 로컬/근거리 네트워크 멀티플레이로 확장하며, 데이터/정책 분리를 통해 기능 교체와 컴포넌트 단위 개발을 통해 테스트를 용이하게 했습니다.

발표 당일, 동일 LAN 환경에서 20인 동시 플레이를 검증했습니다. (Host 1 + Client 19)

  • 팀 구성 : 오융택(팀장/본인), 박광호(팀원), 이정균(팀원), 이재훈(팀원)
  • 개발 기간 : 2025.05.12 ~ 2025.05.29 (18일)
  • 기획 의도 : Unity NetCode를 활용한 배틀로얄 게임 개발
  • 개발 목표
    •  Unity Netcode 기반 Host-Client 멀티플레이 구조 구현
    • 플레이어의 시야를 제한하여 긴장감 있는 전투 연출
    • 인벤토리/장비 슬롯 시스템 구축
    • 엄폐물을 배치로 전략성 강화
    • FSM으로 전체 게임 흐름 제어

수행 역할

  • 게임 시스템 : 상태 FSM, 게임 루프/타이머, 이벤트 브로드캐스팅
  • 네트워크 : RPC/NetworkVariable 설계, Host 권한 위임 정책
  • 전투/판정 : 총기 FSM, 충돌/피격 처리, 오브젝트 풀링
  • UI/이벤트 : 결과 이벤트 발행, UI 구독 구조 정리

핵심 기능

  • 멀티플레이(Netcode) : Host 기준 이동·상태 동기화, 시스템 이벤트 브로드캐스팅
  • 플레이어 시야 제한 : Raycast 탐지 + 마스킹
  • 플레이어 FSM : 체력/장비/버프 등 상태 관리 및 UI 반영
  • 총기 FSM : 사격/재장전/쿨타임 상태 전이
  • 아이템 파밍/사용 : 랜덤  드롭박스 파밍, 소비형/장착형 처리
  • 인벤토리·총기 부착물 슬롯 : 슬롯–아이템 매핑, UI 동기화
  • 오브젝트 풀링 : 총알/이펙트 재사용

실행 방법 (Windows 빌드)

  1. ProjectK.zip 다운로드
  2. 압축 해제 → ProjectK.exe 실행
  3. 게임 플레이 : PC1에서 Host 시작 → PC2에서 Client 접속 (필수 : 동일 네트워크)

기술 스택

  • 엔진 : Unity 6 (6.0.34f1)
  • 언어 : C#
  • 네트워크 : Unity Netcode for GameObjects
  • 버전관리 : GitHub Desktop
  • 데이터 : CSV 

시연 자료

저장소

 

GitHub - cyphen156/ProjectK: Unity6 12th TeamProject Team 4th ProjectK / reference :: SuperVive/PUBG

Unity6 12th TeamProject Team 4th ProjectK / reference :: SuperVive/PUBG - cyphen156/ProjectK

github.com