https://www.youtube.com/watch?v=Kly7gh-5nWU&t=13s
https://github.com/gusdh8380/Miner-Commando
1. 프로젝트 개요
유니티로 개발한 2D 어드벤처 멀티 플레이 게임
지구가 살 수 없는 행성이 되어 제2의 지구를 찾는 모험. 생존을 위해 여러 행성을 탐사하며 자원 채굴과 몬스터와의 전투를 중심으로 진행.
- 개발 인원: 2인 팀
- 개발 환경: Unity 2022.3.16f1, Unity Version Control, Pun2 네트워크 라이브러리 사용
2. 기술적인 세부 사항
- 네트워크 동기화: 네트워크 동기화 담당, 게임 로비 씬과 로딩 씬 구현
- 도전 과제
-
플레이어가 함께 조종하는 탐사선에 대한 구현
- 상속을 통한 각 모듈(조종석)을 구현
- 모듈을 동시에 조종하는 경우, 각 모듈의 작동은 독립적으로 작동하되 동기화는 되도록
-
창고에 대한 동기화
- 모든 플레이어가 공유하는 인벤토리 → OnPhotonSerializeView로 실시간 관찰, 결과 동기화
-
게임 시작 씬(전용 서버 입장을 통해 룸 생성을 위한) 구현
- 룸 생성 후 호스트- 클라이언트 방식인 리슨서버로 전환
- 룸에서 4인 팀 구성 → 방장(호스트)가 게임 시작 → (로딩씬 이후)게임 로비로
- 채팅창 기능 구현
-
게임 로비씬 구현
- 스토리와 임무 부여, 행성탐사 출동를 위한 로비씬
- 채팅창 기능 구현
-
게임 로딩씬(로비 → 행성) 구현 실패
- 비동기적 호출로 구현하려고 하였으나, 게임 입장 시 플레이어 생성에 버그를 해결하지 못해 결국 비동기적 호출이 아닌 PhotonNetwork.LoadLevel()로 씬 전환 구현
3. 기여 및 역할
- 네트워크 동기화: 게임 입장 씬, 로비 씬 구현, 로딩, 인게임 씬 동기화 작업
4. 결과와 성과
- 게임 완성도: 4개의 스테이지로 구성된 게임 완성
- 학습 효과: 네트워크 동기화 및 2D 픽셀 그래픽, Tile Palette 활용 능력 향상