HelloWorld 프로젝트 피드백 및 KPT 연계 정리
HelloWorld 프로젝트 피드백 및 KPT 연계 정리
프로젝트 피드백 정리
기획적인 아쉬움
- 맵의 트랩과 보스 패턴에 대한 기획 부족
- 게임의 난이도와 재미 요소가 충분히 반영되지 못함
- 플레이어에게 도전적이고 흥미로운 경험 제공 기회를 놓침
스킬 관리
- 스킬이 많아질 경우 추상 클래스로 묶어서 관리 필요
- 유지보수성과 확장성이 향상됨
- 새로운 스킬 추가 및 기존 스킬 수정 시 복잡성 감소
아이템 시각적 디테일
- 현재 아이템이 시각적으로 충분히 매력적이지 않음
- 아이템의 중요성을 플레이어에게 전달하는 데 어려움 존재
- 시각적 디테일 추가로 아이템의 가치 명확화 필요
패턴 클래스화
- 패턴을 별도의 클래스로 관리한 점 긍정적
- 코드 가독성 증가
- 패턴의 재사용성 증가로 개발 효율성 향상
데이터 관리
- 전역적인 데이터의 독립적 관리 부족
- 데이터 일관성과 무결성 유지 어려움
- 데이터 관리 방식 개선 필요
UI 관리
- UI를
GameState가 아닌 UI Manager에서 다루는 것이 바람직함
Tick 함수 사용
- Tick 함수 사용 빈도 많음 → 성능 최적화 필요
- 타이머 및
lateUpdate 함수 활용 권장
- 불필요한 계산 최소화
KPT 회고
K (Keep)
- 활발한 진척도 공유 : 팀원 간 지속적인 공유로 협업 강화
- 깔끔한 깃 플로우 전략 : 체계적인 전략으로 코드 버전 관리 효율적 수행
- 소프트 스킬 : 원활한 의사소통과 협력이 프로젝트 성공에 기여
- 잘 지켜진 코드 컨벤션 : 코드 일관성과 가독성 유지
- 문제 해결을 위한 팀의 협력 : 협력하여 문제 해결
- 명확한 역할 분리 : 각 팀원의 역할 명확히 구분하여 업무 효율성 증가
- 승현님의 깃 해결 능력 : 깃 관련 문제 해결 능력 덕분에 원활한 진행
P (Problem)
- 언리얼 기반 클래스의 추상화 부족 : 코드 재사용성과 유지보수성 저해
- 세부적인 기획 부족으로 인한 개발 중 변경 : 초기 기획 미흡으로 개발 중 빈번한 변경 발생
- 인터페이스 간 통신 구조 미흡 : 모듈 간 의존성 감소 어려움
- 게임 수학을 활용한 로직 설계의 어려움 : 복잡한 로직 구현에 시간 소요
- 블루프린트와 C++의 역할 분리 부족 : 코드 복잡성 증가
- 인벤토리 데이터 관리 어려움 : 비효율적인 데이터 관리로 일관성 유지 어려움
- GameState, GameMode, GameInstance의 역할 이해 부족 : 코드 설계 혼란 발생
- 프로젝트 메모리 관리 어려움 : 메모리 비효율적 사용으로 성능 저하
T (Try)
- 코드 리뷰 세션 정례화 : 주 1회 코드 리뷰를 통해 피드백 공유 및 전체 시스템 이해도 증가
- 설계 문서 작성 및 관리 시스템 도입 :
PlantUML, Draw.io 등을 활용한 문서화 자동화 및 지속 갱신
- 언리얼 엔진 아키텍처 스터디 :
GameState, GameMode, GameInstance 역할 학습 및 아키텍처 패턴 연구
- 추상화 리팩토링 계획 수립 : 공통 기능을 식별하고 추상 클래스로 리팩토링 진행 (특히 스킬 시스템 중심)
- 인터페이스 기반 설계 도입 : 의존성 주입 패턴 활용하여 모듈 간 결합도 감소
- 게임 수학 스터디 및 라이브러리 활용 : 수학적 로직 구현을 위한 언리얼 엔진 제공 라이브러리 학습
- 블루프린트-C++ 가이드라인 수립 : 성능이 중요한 부분은 C++, UI 및 프로토타이핑은 블루프린트로 역할 분리
- 데이터 관리 시스템 개선 : 인벤토리 및 게임 데이터 통합 관리 시스템 설계 및 검증 메커니즘 도입
- 메모리 프로파일링 도구 활용 : 언리얼 엔진의 메모리 프로파일링 도구 사용하여 메모리 최적화
- 접근 지정자 가이드라인 수립 : 캡슐화 원칙을 강조한 접근 지정자 사용 가이드라인 마련 및 코드 리뷰 적용
- 애니메이션 워크숍 진행 : 언리얼 엔진 애니메이션 시스템 학습 및 블루프린트 활용법 익히기
- 기획 단계 강화 : 세부적인 게임 메커니즘, 레벨 디자인, 보스 패턴 문서화 및 변경 관리 프로세스 확립