[TIL] 프로젝트 회고

MINO·2024년 6월 11일
0
post-thumbnail

2024-06-11


프로젝트 결과

숙련주차 팀 프로젝트 - Unity 3D 를 통해 3인칭 시점 게임을 완성했다.

  1. 플레이어 이동
    • 플레이어가 화면에서 좌우로 움직일 수 있어야 합니다.
  2. 장애물
    • 플레이어가 피해야 하는 장애물을 생성하고 배치해야 합니다.
  3. 점수 시스템
    • 플레이어가 장애물을 피하거나 아이템을 수집함에 따라 점수를 얻습니다.
  4. 게임 오버 조건
    • 플레이어가 장애물에 부딪히면 게임이 끝나야 합니다.
  5. 카메라 제어
    • 플레이어를 따라가는 카메라를 제어해야 합니다.
  6. 캐릭터 애니메이션
    • 캐릭터가 달리고, 점프하고, 충돌할 때의 애니메이션을 구현해야 합니다

ReadMe


팀 프로젝트 회고

처음으로 팀장을 맡게 되어 부담감이 있었지만, 코드가 잘 맞는 팀원들을 만나
버그가 발견돼도 웃으며 디버깅하며 버그를 고칠 수 있었다.


회고록을 진행하며, 팀원들에게 KPT 회고를 제안하여
프로젝트 간의 좋았던 점, 개선해야할 점, 시도해보면 좋을 점을 골라보았다.

Keep

  • Vehicle 의 상태를 나누어 상태에 따라 기능을 부여하였다. FSM 을 잘 활용한 것 같다.
  • 버그가 발생했을 때, 팀원과 화면을 공유하여 어떤 문제가 발생했고, 어떻게 수정하면 좋을지 회의하는 방식이 도움이 되었다.
  • Git 을 활용할 때, 개인 씬을 나눠 작업하는 방식 덕분에 충돌을 사전에 방지할 수 있었다.
  • 주말과 잠도 반납하며 프로젝트에 몰두할 정도로 열정과 끈기 있는 모습을 보여준 팀원들 덕분에 좋은 결과물을 낼 수 있었다.

Problem

  • 기능 구현을 마친 후, 코드 리팩토링을 시도해보았지만 최적화 문제와 일부 기능이 제대로 작동하지 않아 코드 리팩토링을 완벽하게 하지 못하였다.
  • Git 을 통해 merge 할 때, 알 수 없는 이유로 설정한 Layer 가 해제되는 버그가 발생했다.
  • Vehicle 를 오브젝트 풀을 통해 생성할 때, 생성되는 위치를 좌표를 통해 지정해주는 방식이 적절하지 않은 것 같다.
  • RunPizzaRun 게임의 모작으로는 좋은 성과를 낸 것 같지만, 새로운 창작 요소가 부족했던 것 같다.

Try

  • Vehicle 이 Player 를 따라올 때, 조금 더 정확하고 빠르게 따라오게 구현했으면 유저에게 긴장감을 더욱 줄 수 있을 것 같다.
  • Vehicle 이 Player 주변 일정 범위 안에서만 생성된다면, 최적화 문제를 해결할 수 있을 것 같다.
  • Update 와 FixedUpdate 를 상황에 맞게 써야겠다.
    • Update : 프레임 마다, FixedUpdate : 물리 연산이 필요할 때마다

개인적으로 아쉬운 점

코드 리팩토링

Vehicle 을 담당해 기능 구현을 마친 뒤, 코드 리팩토링을 위해 튜터님께도 찾아가보고 3일간 코드를 수정해봤지만 실패해서 매우 아쉬웠다.


최적화 VS 기능

Vehicle 이 Player 를 쫓아가는 Chasing 상태일 때,
Update() 통해 매 프레임마다 Player 를 추적하는 SetTarget( ) 메소드를 사용했다.

이후, 최적화를 위해 FixedUpdate() 로 SetTarget( ) 메소드를 옮겨 Chasing 상태의 Vehicle 이 Player 를 전 보다 못 따라오게 되었다.

FixedUpdate 를 사용하면서도 Vehicle 이 Player 를 잘 따라오게 구현하면 좋을 것 같다.


개선한 점

최적화

이전 개인 프로젝트와 마찬가지로, 맵 에셋을 받아 사용하였다.
맵의 지형과 건물이 비교적 단순하여
Mesh Renderer 대신 Box Collider 를 통해 불필요한 물리 연산을 줄였다.


프로젝트 시연 영상

유튜브를 통해, 시연 영상을 남겨두었다.

PPAP 시연영상

TIL 마무리

프로젝트 회고를 마치고, 꽤 친해진 팀원들과 최종 프로젝트에 관한 이야기를 나눴다.

어떤 계기를 시작해 게임 개발자의 꿈을 꾸게 되었는지,
최근 즐겨한 게임은 무엇인지,
만들고 싶은 게임이나 방향에 대해 이야기하며

같은 꿈을 꾸고 있는 개발자들의 고민을 공유하는 시간을 가져 매우 유익했다.

profile
안녕하세요 게임 개발하는 MINO 입니다.

0개의 댓글