본문 바로가기
Unity/TIL

3번째 팀 프로젝트 제출 및 마무리 (게임개발 입문)

by 김차루 2024. 5. 23.
스파르타 내배캠 27일차 TIL
C5조_🥱안하조(사실 해)

 

 

 

 

게임개발 입문 주차 팀프로젝트가 끝났다.

 

C5조_안하조는 블록 부수기 게임을 레퍼런스로 게임을 만들었다. 다중 플레이 방식과 보스전이 특징인 게임이었다. 나는 PM 역할과 공의 충돌처리 및 보스 컨텐츠를 기획하고 개발했다.

 

화면설계와 Uml를 작성하고 본격적으로 작업을 했다.

 

내가 맡은 작업은 아래와 같이 나왔다. 

 

 보스의 각 애니메이션과 보스 전투  

보스 애니메이션

전투 과정은 영상에서 확인 가능하다.

https://youtu.be/_CFSOwNxDSE?t=89

 

애니메이션 작업은 세 가지 parameter(OnHit, isIdle, isAttack)을 사용하였고 Idle 상태와 공격, 맞는 동작을 확인할 수 있다. 보스는 IBlock을 상속하고 블록과 마찬가지로 TakeDamage와 Death()를 가지고 있다. 그 외에 보스는 공격을 할 수 있고 등장씬이 존재하여 그 부분을 추가했다.

등장씬은 애니메이션으로 구현하지 않고 transform을 변경하여 구현하였고 등장하자마자 플레이어를 때리지 않게 하기 위해 코루틴을 이용했다. 데미지는 블록과 같이 공에 맞았을 때 피가 깎이게 하였고 공격은 delay를 잴 수 있는 함수를 두고 구현했다.(지금 생각하면 코루틴을 사용해도 됐을 듯)

 공 충돌 

공 충돌

공은 별 다를 것 없었다. 블록에 입사각과 반사각이 같은 물리 충돌인 physics material을 사용했기 때문에 랜덤 방향으로 발사 되겠금 시작하였고 그 이후에는 발사된 힘을 속도에 곱하여 움직이게 되었다.

Problem

이 부분이 문제가 됐던 것 같은데 어쩌다 공이 블록 사이의 모서리에 맞거나 다른 오브젝트에 밀리게 되면 90도로 내려오는 현상이 발생했다. 그리고 90도로 들어온 공이 90도로 튕기게 되니 위아래로 무한 튕김 현상이 발생했던 것이다. 

Solve

그래서 팀원 중 한 분이 패들의 가운데를 기준으로 패들 오른쪽에 공이 맞았을 때 튕기는 각도를 오른쪽 각도로 변경하고 왼쪽 패들에 맞으면 왼쪽으로 변경되게 구현해주셨다. 최선의 방법이었을까 하는 질문이 머리에 있지만 우리 선에서는 그 방법이 최선이었던 것 같다.

Still Question

그리고 사실 이론적으로 생각하면 만약 벽에 밀려 90도로 내려오는 공이 패들의 오른쪽이나 왼쪽을 맞으면 그 각도도 변할까 라는 의문이 있다. 이것을 확인하고 싶었으나 벽을 타고 90도 이동하는 상황을 만들기 어려웠다. 

 PM 역할

내배캠 활동 중 두 번째 팀장 역할은 무척 아쉬웠다. 조율을 잘 했어도 일정 조절을 생각했어야 했고 팀원들의 스킬을 고려했어야 했다. 발등에 불이 떨어지니 조급해진 탓에 팀원들을 불안하게 했던 것 같다. 그리고 팀원들의 역량을 확인하고 조금 더 신중했어야 했는데 그 또한 부족했던 것 같다. 이제까지 잘 하시는 분들과 팀을 해본 경험만 있어서 그런가...(버스만 타서 그런가)... 뭐 이런저런 생각이 들지만 이것도 하나의 경험으로 삼아야지. 

 

https://github.com/rlarhdal/BlockBuster

 

GitHub - rlarhdal/BlockBuster: 팀스파르타 내배캠, Unity 입문 팀C5(안하조) 팀 프로젝트

팀스파르타 내배캠, Unity 입문 팀C5(안하조) 팀 프로젝트. Contribute to rlarhdal/BlockBuster development by creating an account on GitHub.

github.com

 

KPT

  내용
Keep  
Problem 코드를 구성할 때 SOLID원칙을 고려하지 못해 코드가 난잡해진다. 
Try 설계를 집중적으로 한 후에 코드 작성에 들어가야 한다. 

 

 

.  

'Unity > TIL' 카테고리의 다른 글

Unity 조명(Lighting)  (0) 2024.05.27
Input System  (1) 2024.05.24
TIL  (1) 2024.05.22
Unity 컬렉션  (1) 2024.05.21
유니티 Physics Material  (0) 2024.05.17