팀 프로젝트 개요
- 프로젝트 명 : Rescue Animals (동물 구출 대작전!)
- 프로젝트 소개 : 벽돌 사이에 갇힌 동물들을 구한다!
팀 프로젝트 결과물
깃허브
GitHub - szlovelee/RescueAnimals
Contribute to szlovelee/RescueAnimals development by creating an account on GitHub.
github.com
시연영상
프로젝트 회고
내가 맡은 부분
- UI 디자인
- GameManager (나중에 팀원분의 정리 덕에 갈아엎어지긴 했지만,,)
- 랭킹 시스템
- 코인 시스템
후기
- UI 디자인: 너무... 적성에 잘 맞아서 어떡하나.... 웹서비스 디자인을 해 본 경험이 많이 도움되는 것 같다. 이번에 Vertical Layout Group, Scroll을 새롭게 활용해봤는데, 생각보다 어렵지 않았다. 앞으로도 잘 활용해봐야겠다.
- GameManager: 너무 힘들었다... 구조를 처음부터 내가 짠 게 아니라서 팀원들의 의도를 파악하는 데 오래 걸렸고, 구조적인 문제도 있었지만 나의 코드 작성이 미숙해서 꽤나 지저분해졌다. 한계가 가장 많이 느껴졌던 부분...
- 랭킹 시스템을 만들면서 Scriptable Object 생성, 데이터 저장 등의 활용해본 적 없는 것들을 써볼 기회가 생겼다. 그리고 랭킹 시스템의 구조를 설계하는 것도 재미있었다.
- Rank 클래스: 개별 랭킹 정보를 저장하고 Sort기능 사용 시 정렬 순서를 맞추도록 CompareTo메서드를 구현 (IComparable<T> 구현 - 객체의 정렬이 필요한 경우, Sort() 사용 가능)
- RankSystem 클래스: Scriptable Object 구현 (CreateAssetMenu), List<Rank> rankings 저장, rankings에 Rank 객체 추가 (rankings를 정렬하고 범위 밖의 랭킹 자동 제거), rankings를 반환하는 메서드
- List<Rank> 형태의 랭킹 정보를 저장하고 불러옴.
- 코인 시스템: 데이터를 저장하고 불러오는 과정을 복습하는 느낌이었다. 불편했던 것은 이 정보가 GameManager를 통해 저장되고 업데이트 되어야 하는데, GameManager의 역할이 제한적이어서 번거로운 방식들을 활용해야 했던 것이 문제
팀원에게 유니티 디버깅을 배웠다. 팀원의 귀중한 시간을 너무 많이 빼앗아서 죄송스러운 마음이 들었다. 하지만 결과적으로 얻은 것이 많아서 감사함이 더 큰 것 같다. 일반적으로 스크립트만 디버깅하는 것과 달리, 유니티를 실행시켜보면서 실제로 버그가 발생하는 지점을 구체적으로 파악할 수 있었다. 그 결과 나의 자잘한 실수.... 혹은 저장 과정에서 생각지도 못한 문제.... 등이 발견되어 허무함이 컸지만,
어쩌겠어 그게 프로그래밍인 걸
분명히 배운 것도 많고, 어려운 점도 많았는데 기록을 전부 하지 않았던 것이 너무 아쉽다.
심적으로도, 시간적으로도 여유가 부족했던 것 같다.
앞으로는 미리 작업 과정, 버그 해결 등을 기록할 수 있는 템플릿을 만들어두고 그 때 그 때 작성하는 습관을 길러야겠다.
'👾 내일배움캠프 > 🎮 TIL & WIL' 카테고리의 다른 글
내일배움캠프 31일차 TIL - 프레임과 timeScale (0) | 2023.09.21 |
---|---|
내일배움캠프 30일차 TIL - 스크립트 분리 (0) | 2023.09.21 |
내일배움캠프 29일차 TIL - GameManager (0) | 2023.09.21 |
내일배움캠프 28일차 TIL - 코루틴 (1) | 2023.09.21 |
내일배움캠프 26일차 TIL - Json을 활용한 데이터 저장 (0) | 2023.09.21 |