Unity 모바일 게임 [Mirror Ball]

2019. 6. 23. 02:21프로그래밍/Unity [게임]

  • 게임 이름 : Mirror Ball
  • 게임 장르 : 리듬 레이싱
  • 개발 기간 : 2019.04.25 ~ 2019.06.17
  • 개발 인원 : 5명
  • 개발 엔진 : Unity3D
  • 게임 플랫폼 : 모바일(Android)

 

 원터치로 플레이하는 간단한 리듬 레이싱 게임을 만들었습니다. 게임을 시작하면 음악이 재생되고 공 하나가 움직이는데 공이 길에서 벗어나지 않도록 해주는 게임입니다.

 저는 이 프로젝트에서 메인 프로그래머의 역할을 맡았으며 공, 타일, 카메라의 움직임, 점수 집계와 점수에 따른 플레이 방식의 변화를 제작했습니다.

 

 

 

 


 

1. Tile

 길은 Tile들이 모여 만들어지는데 미리 Tile을 배치해 놓은 것이 아니라 게임이 시작하면 음악의 스펙트럼을 분석해 길을 만들기 때문에 플레이할 때마다 다른 길을 만들어 줍니다. 

스펙트럼에 의해 꺾인 Tile은 Queue에 저장되어 플레이어가 어떤 Tile이 어떤 방향으로 꺾이는지 알 수 있게 해줬습니다. 

Tile은 오브젝트 풀링을 이용해 미리 여러 개의 Tile을 만든 후 그 Tile들만 이용해 효율적으로 길을 만들어 줍니다.

 

code(Tile)https://github.com/UserUk/Unity-MirrorBall/blob/master/CreateTile.cs

 

 

2. Ball

 공은 게임이 시작하고 몇 초간 멈춰있습니다. 멈추게 만든 이유는 이 만들어지는데 여유를 주기 위함과 동시에 플레이어가 준비할 시간을 가질 수 있게 하기 위함입니다.

길이 꺾인 구간에서 터치하면 공이 타일과 같은 방향으로 회전하고 combo가 쌓이며 공이 일정 속도까지 점점 빨라지게 됩니다.

 

code(Ball) : https://github.com/UserUk/Unity-MirrorBall/blob/master/PlayerController.cs

 

 

3. FiverMode

 FiverMode는 플레이어가 일정 콤보를 달성했을 때 활성화됩니다. 공의 속도와 노래 재생 속도가 빨라지며 기존에 2D였던 화면이 3D로 바뀌면서 더욱 역동적인 움직임을 연출합니다.

 

 

 

code(GameManager) : https://github.com/UserUk/Unity-MirrorBall/blob/master/GameManager.cs

 

 

4. Camera

 2D, 3D모드와 게임을 clear 했을시 바뀌는 camera의 행동을 만들었습니다.

 

code(Camera)https://github.com/UserUk/Unity-MirrorBall/blob/master/CameraManager.cs

 


 

 이펙트와 Post Processing을 적용한 플레이 영상입니다.

 

 

 

 아래는 스마트폰에 적용해 플레이하는 영상입니다. 기종은 Galaxy S8+입니다.

 

 


 

<구글 플레이스토어 링크>

 

 

Mirror Ball - Google Play 앱

노트가 다가오면 터치하고 콤보를 쌓아서 10콤보 이상 쌓게 되면 Fever모드로 변환되어 빠른 속도로 레이싱 느낌이 나는 리듬 게임을 플레이 할 수 있는 게임입니다.

play.google.com

 

'프로그래밍 > Unity [게임]' 카테고리의 다른 글

Unity 게임 [The snake game]  (0) 2019.07.10
Unity AI 프로그래밍 [Wolf and Rabbit]  (0) 2019.06.30
Unity 공포게임 [Doll's Night]  (1) 2019.06.22
Unity VR공포게임 [Hang]  (0) 2019.06.20