카테고리 없음

[내일배움캠프 27일차] 팀플 종료! 개판냥판!

티백고래 2025. 5. 15. 21:54

1. 오늘의 정리

오늘은 팀플을 완료하고 발표한 날이다.

이번에는 조금 더 완성도 있는 게임을 만들게 되어 만족스럽다.

어떤 기능이 있는지 간단하게 살펴보도록 하자.

 

2. 게임 preview

이번에 만든 게임, 개판냥판은 사고뭉치 도굴꾼 강아지와 고양이가 신들의 물건, 유물들을 훔치는 이야기이다.  

 

AWD와 화살표 방향키로 이동을 구현했다. 

 

 

 

 

 

S버튼을 누르면 각각의 스킬을 사용할 수 있다. (벽타기, 돌진-가벽부수기)

또한, 개는 상자를 옮길 수 있고, 고양이는 2단 점프가 가능하다!

 

보고있으면 알겠지만, 현재 게임을 종료할 수 있게 해주는 문은 활성화가 되지 않은 상태이다.

문은 '유물'이라고 하는 특수한 아이템을 먹어야한다. 이 '유물'은 맵마다 하나씩 배치되어 있으므로 잘 찾아봐야 한다.

 

 

하지만 단순히 유물만 먹으면 재미없다.

유물과는 별개로, 개와 고양이가 먹을 수 있는 '생선'과 '뼈다귀'를 설치했다.

고양이는 생선을, 개는 뼈다귀를 먹을 수 있다.

먹지 않아도 게임은 클리어할 수 있지만, 전부 먹으면 별을 하나 얻을 수 있다.

 

Observer 패턴을 이용해 이벤트를 UpdateUI() 함수가 구독하게 한다. 또한 매 씬에 들어갈 때마다 내부의 생선과 뼈다귀의 개수를 확인하는 작업을 하는데, 이때도 이벤트를 발생시켜 개수를 씬에 존재하는 생선과 뼈의 개수와 맞추도록 한다.

 

 

함정.

개는 볼풀, 고양이는 캣닙에 닿으면 본래 자리로 되돌아가게 설정했다.

게임의 처음 시작할 때, 개와 고양이의 위치는 Respawner 프리펩을 파괴하고 개랑 고양이가 생성되어 시작하게 된다.

여기서 Respawner의 위치를 스크립트에서 미리 저장해두고, 개와 고양이가 부딪힐 때마다 각 개체의 트랜스폼 포지션을 저장해둔 포지션 값으로 바뀌게 만들어서 구현했다.

해당 요소를 활용하면, 상자가 원치않은 위치에 떨어졌을 때(가령, 일정 발판 위에 있어야 하는 상자가 바닥에 떨어졌을 때) 다시 본래 자리로 되돌리는 기능을 만들 수도 있다.

 

이 외에도 여러 기능이 많다. 점수 저장기능(Playerprefs)를 활용한 것. 이것이 컴퓨터 내에 저장되어 다시 게임을 실행해도 저장된 내용이 남아있는 등이다.

 

다음은 전반적인 게임 플레이 영상이다.

 

 

 

 

 

3. 아쉬운 점 

사실 기믹에 한해서, 더 많은 오브젝트를 넣고 싶었다.

레버와 상호작용하면 나타나는 발판이라던가, 바닥을 뚫어서 빠지면 다시 원래 자리로 돌아오는 공통 트랩 같은 것들 말이다.

아마 구덩이는 바로 가능하긴 했을 것 같은데....

급하게 맵을 뜯어고치기엔 시간이 더 걸릴 것 같았다.(흑흑)

조금의 아쉬웅은 남지만, 전반적으로 만족스러운 팀프로젝트 제작이었다.