분야 : 메타버스 게임
장르 : FPS / 싱글 플레이
기간 : 24/01/22 ~ 24/04/26
담당 : 디자인 리소스 제외 모든 구현 담당
과정 : 개발 완료 (플랫폼 내에서 운영중)
고민한 것
1. Last Shot 연출
(시행 착오)
- 이차 함수 (a 값이 작아서 거의 보정이 안 됨)
- 중간 점 이용 (중간 점을 찍어도 중간 점까지 직선 이동이라서 부드럽지 않음)
- 스플라인 보간법 : 두 점 사이에 보간법을 이용해 부드러운 곡선을 만드는 방법
스플라인 보간법을 이용해서 움직임을 보정했는데 원리까지 이해하진 않았다. 추가로 카메라 연출을 찾아보면서 Unity 시네머신이라고 카메라 연출을 도와주는 패키지가 있던데 알아두면 나중에 편하지 않을까 싶었다.
(최대한 도구 사용하지 않고 직접 구현하려고 했는데 굳이 노가다하면서 퀄리티 떨어지는 결과물 내기보다는 있는 도구 잘 활용하는 것도 능력이라는 것을 느꼈다. 고로 도구를 잘 익히자)
2. Editor
맵 레벨 디자인을 위해서 물체를 편하게 배치하는 툴을 만들 필요가 있었다. 그래서 처음으로 Unity Editor Script를 작성해보았다. 해당 프로젝트가 빨리 진행되어야 해서 ChatGPT와 대화하면서 Editor를 만들었다. Editor Custom을 처음 접해서 신기했고 나름 편의성을 신경써서 만들어서 미리보기 지원, Prefab을 바로 띄우는 등 편의성을 위한 기능을 고민하면서 구현했다. 근데 저장하거나 불러올 때 버그가 있는데 이를 고치진 못 했다. 아마 이벤트 함수에서 에러가 있었던거 같은데 Editor라도 완성도를 높이면 좋지 않았을까하는 생각이 든다.
3. 모드 추가
초반에 모드 확장을 생각하고 만들지 않아서 게임 종료 조건 등을 모드에 맞게 설정하는게 힘들었다. 해당 게임은 모드가 2개밖에 없어서 switch문으로 다 나누었지만.. 정말 좋지 않은 코드였던거 같다. Spawn은 전략 패턴을 사용했는데 게임 종료 조건은 전략패턴으로 나누기에 의존성이 높아서 분리하지 못 했다. 이번 프로젝트에서 가장 아쉬운 구현이었다.
기억할 점
1. 앞으로 메타버스 플랫폼 게임 만들 일이 있다면 플랫폼 의존도를 최대한 낮추도록 구현하기
하나의 예로 Last Shot 연출 시작 위치가 다른 객체랑 엮어있어서 고치기 힘들었다. 결국 나중엔 의존성 없애는 방향으로 코드를 고쳤는데 처음부터 꼭 의존성이 필요한지 생각하고 구현하도록 하자
2. 수정사항 있으면 대표님께 꼭 보고하기 (혼자 넘기지 맙시다!)
개인 회고
1. 객체지향 아직 부족하다
모드 하나 추가하려고 하니 가장 중요한 클래스에서 의존도가 매우 높아서 수정하기 힘들었다. 또한 현재 하고 있는 다른 프로젝트에서도 public 함수가 명확하지 않아서 코드를 하나하나 다 읽어야 하는 것을 보아 내 코드는 독립적인 행동을 한다고 보기 힘들다. 책읽고 다른 API 문서 보면서 감을 잡으려고 하는데 더 생각하고 노력해야겠다.
2. 프로젝트 후반에 떨어지는 집중력
프로젝트 후반에 수정사항이 오는데 나는 끝났다고 생각한 프로젝트에서 수정사항이 오니 스트레스 받아서 하기 싫어했다. 정산하기 전까지 끝난게 아닌데..! 내 태도를 반성한다.
앞으로의 방향성
최근에 개인 프로젝트랑 책 읽기를 하고 있다가 과부화 와서 쉬고 있다. (그래서 회고도 멈췄다) 8월에 새로운 개인 프로젝트 들어가려면 유니티 도구 좀 익히고 개인 공부도 미리 해놔야 할거 같다. 근데 책읽기랑 병행하려니까 책이 자꾸 밀리는데 적당히 빌려야 도서관 가는 시간을 아낄 수 있을거 같다.
'개인 > 회고+계획' 카테고리의 다른 글
주간회고:: 2024년 7월 1주차 회고 (0) | 2024.07.07 |
---|---|
분기계획:: 2024 2분기 회고 및 3분기 계획 (0) | 2024.06.29 |
분기계획:: 2024 1분기 회고 및 2분기 계획 (0) | 2024.04.21 |
주간회고:: 2024년 4월 3주차 회고 (0) | 2024.04.21 |
주간회고:: 2024년 4월 2주차 회고 (0) | 2024.04.14 |