센로그

[Unity] 아이스 땡! 본문

프로젝트

[Unity] 아이스 땡!

seeyoun 2024. 1. 21. 13:41

◆ 프로젝트 개발 동기

컴퓨터 네트워크 수업을 듣고, 네트워킹 요소가 가미된 멀티 게임을 개발하고 싶어 함께 수업을 들었던 동기와 함께 본 프로젝트를 진행했습니다.


 프로젝트의 목적

- 기존의 사실적이고 자극적인 FPS 게임들과는 다르게, 남녀노소 누구나 즐길 수 있는 귀엽고 색다른 FPS 게임을 만들고자 이러한 게임을 기획했습니다. 본 게임에서는 동물 캐릭터들이 상대를 눈사람으로 얼려버리는 총을 사용해 전투합니다. 
 


 프로젝트 개요

ㆍ 게임 제목 : 아이스-땡! (Ice-DDANG!)
 플랫폼 : PC
 장르 : 3D Multi FPS
 
< 스토리 >
얼음땡 놀이와 눈싸움에서 착안한 것으로, 동물 친구(플레이어)들은 북극의 하늘섬에서 눈 총을 쏘아 서로를 얼려 눈사람으로 만든다.
 
< 맵 >

 
 
< 게임 진행 방식 >
① 플레이어는 방을 만들거나 원하는 방에 참가한다.

② 게임이 시작되면 ICE 총을 이용해 상대를 얼린다.
③ 얼어서 눈사람이 된 상대에게 DAMAGE 총을 쏘면 눈사람이 부서지고, 킬이 적립된다. (죽은 플레이어는 3초 후 리스폰된다.)
④ 한 게임은 5분 동안 진행되며, 게임이 끝나면 킬 순위 상위 3명이 시상대에 오른다.
 
 
< 특징 >

  • 마음에 드는 캐릭터로 자신을 표현할 수 있습니다.

 

  • 플레이어를 눈사람으로 만들고 깨뜨릴 수 있습니다.
  • 약한 얼음은 여러번 밟으면 깨집니다.

 

  • 상위 3명의 플레이어는 시상대에 올라가며, 춤을 출 수 있습니다.

 


◆ 개발 기간 및 참여 인원

개발 기간 : 2023.02. - 2023.11. (8개월)
참여 인원 : 2명
 


◆ 프로젝트에서 나의 역할

- 전반적인 게임 시스템 구현을 팀원과 함께 진행하였습니다. (로비, 닉네임 설정, 매치메이킹, 플레이어 이동, 총 발사 동기화 등이 이에 해당합니다.)
- 캐릭터 커스터마이징스킨 동기화를 구현했습니다.
- 총기 전환 및 눈싸움 매커니즘을 구현하였습니다. ICE 총에 맞은 경우 눈이 누적되고 눈사람으로 변하는 과정을 구현했습니다. DAMAGE 총에 맞은 경우 사망하고 킬/데스의 업데이트가 동기화 되도록 하였습니다.
- /데스 현황을 실시간으로 저장하고, 랭킹 집계 및 시상식을 구현하였습니다.
 


◆ 기술 스택 및 사용한 도구

  • Unity (C#)
  • Photon Engine (PUN2)
  • GitHub

 


 프로젝트를 통해 얻은 성과와 경험 등 , 발생했던 문제 해결책

- 멀티 플레이 게임인 만큼 고려해야할 부분이 많았던 점이 가장 어려웠습니다. 기능 구현 시 동기화할 필요가 있는 기능인지 생각해야 했고, 어느 부분까지 로컬에서 계산한 후 원격으로 넘겨주는 게 좋을지 고민해야 했습니다. 예를 들어 반응 속도가 중요한 경우 원격으로 최소한의 정보만을 빠르게 전달하여 로컬에서 즉각적으로 반응하도록 하였습니다.

Comments