📌KPT 회고
프로젝트를 마무리하고 어떤 부분에서 만족했는지, 어떤 부분에서 불편함을 느꼈는지, 개선할 수 있다면 어떤 방법이 있을지에 대해 팀원들과 회고하였다.
✅Keep - 현재 만족하고 있는 부분
- 팀원들과 협업하며 프로젝트를 완성했다.
- [정혜창] [김동현] [김건우] [이찬민]
- 초기 프로젝트 설계시에 필수/도전기능에 대한 구현을 성공적으로 구현. 책임감을 성취했다.
- 프로젝트를 진행,기획 하며 학습하지 않은 부분들을 주도적으로 찾아보며 프로젝트에 적용한 점
- [강창훈] [정혜창] [이찬민]
- 프로젝트를 진행하며 담당 파트에 대한 추가 학습, 언리얼 기술 스택 향상
- 주어진 동일한 기능 구현에 대한 심도있는 개발 능력
- 지속적인 팀 회의, 좋은 분위기
- [강창훈] [김동현] [김건우] [이찬민]
- 왜 협업을 하는지에 대한 이유를 알 수 있었던점
- 긍정적인 분위기 및 원활한 팀회의를 통한 빠른 문제 해결 능력 제공 및 추가 학습
- 확장성을 고려한 객체지향적인 개발
- [강창훈] [김건우]
- 당장의 게임 완성을 위한 하드코딩이 아닌, 확장성을 고려한 객체지향적인 코드 작성
- 게임 내부가 완성도가 높았다.
- 담당파트의 구현 로직이 의도한대로 설계된 점
- [정혜창]
- Stat FPS를 사용한 프로파일링 및 기획시 의도한 레벨 전환 구현으로 성취감 달성
- 아침/저녁 시간마다 회고를 진행한 부분
- [정혜창]
- 회고를 통해 자기 자신이 얼마나 학습했는지에 대한 인지
- 팀원들의 학습을 공유받으며 담당 파트 외에도 추가적인 학습기회 제공
- 협업시 Git을 활용한 스킬 향상
- [정혜창] [이찬민] [김동현] [김건우]
- Git을 활용한 컨벤션에 대한 종류 및 장단점 학습
- Branch Merge시 발생하는 Conflict원인 및 해결과정 등 병합하는 과정에 대한 이해도 향상
- 상황에 맞는 방어코드를 작성함으로써 빌드 오류가 발생하지 않은점.
- [강창훈]
- 게임 실행시 크래쉬가 발생하지 않는 방어코드 작성. 패키징 고려한 코드 작성
- 예외 발생시에 대한 방어코드 및 메모리관리를 철저하게 한 프로그램 내적 완성도 향상
- 오류가 발생할 수 있는 부분에 대한 참조메모리, 콜스택들을 확인하며 트러블 슈팅을 할 수 있는 방법 학습
- 어떠한 상황에 Equals, Valid, Check, Ensure를 사용하는지에 대한 방어코드 차이점 학습
✅ Problem - 불편하게 느끼는 부분
- 추가기능을 대부분 구현하지 않은 점
- [강창훈] [김건우]
- 구현할 수 있는 추가기능들이 다양했지만, 프로젝트 완성까지 적용/시도 하지않았다.
- 완성된 기능에 대한 추가적인 개발을 하지 않은점
- [강창훈]
- 코드에는 정답이 없다. 다른 방법으로 개발을 할 수 있었는데 하지 않았던 점
- 코드 리팩토링을 추가적으로 하지 않았음
- 언리얼 엔진 내부에 대한 이해도 부족
- [강창훈] [정혜창] [이찬민]
- 메모리 관리에 대한 이해도 부족으로 인한 메모리 해제를 제대로 적용하지 않은 점
- 게임 인스턴스 클래스를 활용한 Object Pooling 적용 실패
- 액터 라이프사이클에 대한 이해도 부족으로 인한 의도치 않은 결과 발생
- 느슨한 초기 기획 설계
- [정혜창] [김동현] [김건우]
- LFS에 대한 이해도 부족으로 인한 Config 세팅을 개별로 적용하던 점
- UML 클래스 다이어그램, 초기 GameMode 파일 등을 기획하지 않아 병합시 문제가 발생한점
- 중복되는 파일,DA,DT들이 존재, 유지보수성이 낮아진 부분
- Content,Source 폴더 내 디렉토리 구조가 준수되지 않아 팀원들의 파일을 찾기 힘든점
- 내부적으로 존재하는 중복되는 코드들에 대한 유지보수성
- [이찬민]
- 프로젝트 완성을 목적으로 중복되는 코드들을 리팩토링 하지 않은점
- 트러블 슈팅에 대한 기록을 하지 않은점
- [정혜창] [김건우]
- 프로젝트 발표시 트러블 슈팅에 대한 정보 누락
- 팀 회의를 통해 트러블 슈팅 원인, 해결과정을 인지하지만, 기록하지 않아 리마인드가 힘듬
- 최적화에 대한 근거 부족
- [김건우]
- 각자 최적화를 하기위한 설계를 하였지만, 이론상으로만 최적화가 좋아짐.
- Profile CPU,GPU / Stat Fps를 활용한 성능 비교를 실행하지 않음
✅Try - Problem에 대한 해결책, 당장 실행 가능한 것
- 추가기능을 대부분 구현하지 않은 것
- Render Text와 같이 구현하지 않은것들, 피격 이펙트, 사운드와 같은 추가기능들을 초기 설계시에 디테일하게 기획한다.
- 프로젝트 제작 기간에 맞는 계획 기간에 맞춘 설계 구현
- 완성된 기능에 대한 추가적인 개발을 하지 않은 것
- 팀원간 회의를 통한 상시 피드백
- 코드 리뷰를 통한 추가적인 기획 피드백
- 언리얼 엔진 내부구조에 대한 이해도 부족으로 인한 문제점
- 부족한 내용들에 개념을 공식문서, 강의를 통한 추가 학습
- 팀원들과 공유를 함으로써 개인적인 성장이 아닌 팀 위주의 학습 성장 태도
- 느슨한 초기 기획 설계
- 게임 장르에 대한 설계만이 아닌 개발자로써의 기획 설계 추가
- 각자의 아이디어를 제공, 적극적인 태도
- 내부적으로 존재하는 중복되는 코드 (유지보수성 관련)
- 객체지향언어의 특징 및 원칙을 추가학습하며 적용하도록 습관화 하기
- 트러블 슈팅에 대한 기록을 하지 않은것
- 기록 습관화
- 발생 원인, 해결 과정, 해결 결과 세가지를 기록해두기(TIL 등)
- 최적화에 대한 근거
- FPS, CPU, GPU 사용량을 개발하며 체크, 어떤것에서 많이 문제가 발생했는지 기록하기
- 프로젝트 완성 후 최적화 작업 진행하기
- 메모리 관리
'내배캠 > TIL' 카테고리의 다른 글
25.03.11 (화) (0) | 2025.03.11 |
---|---|
25.03.10 (월) (0) | 2025.03.10 |
25.02.17 (월) (0) | 2025.02.17 |
25.02.11 (화) (0) | 2025.02.11 |
25.02.10 (월) (0) | 2025.02.10 |