피드백
좋았던 점 (Good)
- 컴포넌트 분리
- 코드가 모듈화되어 읽기·유지보수가 수월
- 서버 ↔ 클라이언트 구조 분리
- 네트워크 흐름이 명확하고, 디버깅·테스트가 용이
- 애니메이션·UI 디자인
- 전반적인 비주얼 퀄리티와 사용자 경험이 좋았음
개선할 점 (Improvements)
- 하드코딩된 부분 제거
- 매직 넘버나 문자열을 상수나 데이터 테이블로 분리할 것
→ 처음에 구현한 부분에서는 데이터 테이블을 통해 로드할 수 있도록 구조체 단위로 관리
But, 나중에 구현된 부분에서는 시간 부족으로 하드코딩으로 작성한 부분이 있었음
예) CharacterType(캐릭터 종류 문자열), Threshold(버퍼 제한시간) 등
- 매직 넘버나 문자열을 상수나 데이터 테이블로 분리할 것
- Burst/Super Meter 게이지 증감 Replication
- 현재: Tick에서 매 프레임마다 게이지 증가 → 매번 서버 to 클라이언트 Replicate → 네트워크 부하 증가
- 제안 1: 클라이언트별로 로컬 관리 → Replicate 제거
- 제안 2: 서버에서 관리할 경우 Tick 대신 타이머(예: 1초마다 증가) 사용 → 패킷 횟수 절감
- Replication 대상 필터링 로직
- 현재: 서버가 모든 플레이어 컨트롤러를 순회(for문)하며 자신만 제외 → 플레이어 수 증가 시 비용 급증
ㅡ> 현재 MutlicastRPC가 아닌 ClientRPC로 Owning 클라이언트만 몽타주 재생 제외시키는 형식 - 제안: MulticastRPC 사용 → Owning 클라이언트 쪽에서 “몽타주 재생 여부”만 검사하여 보정
- 현재: 서버가 모든 플레이어 컨트롤러를 순회(for문)하며 자신만 제외 → 플레이어 수 증가 시 비용 급증
- 데이터 타입 최적화
- 현재: 굳이 float을 쓸 필요 없는 HP, 게이지 모두 float 사용 → Replication payload 증가
- 제안: 비트 단위 크기 제한 가능한 타입 활용
- 예) bool → uint8 (0~255)
- Server Delay 변수 관리
- 현재: 단일 변수로 Delay 값을 관리할 경우, 변수가 많아지면 의도치 않은 값 변경 및 패킷 누락 위험
- 제안: 구조체·클래스 단위로 묶어 캡슐화하거나, 별도 매니저 클래스로 분리
- 환경 요소 추가
- 현재: 배경이 정적 → 반복 플레이 시 단조롭게 느껴질 수 있음
- 제안 1: 움직이는 오브젝트·이펙트 추가
- 제안 2: 외부 이벤트(날씨, 경보 등) 연동으로 다채로운 경험 제공
프로젝트 시연 영상 링크
https://www.youtube.com/watch?v=_UCY0DNwhlA&t=1s
GitHub
https://github.com/NbcampUnreal/2nd-Team4-CH4-Project
GitHub - NbcampUnreal/2nd-Team4-CH4-Project
Contribute to NbcampUnreal/2nd-Team4-CH4-Project development by creating an account on GitHub.
github.com
'프로젝트 > CCFF' 카테고리의 다른 글
미친 선인장과 분노의 버섯 - #17 콜리전 오버랩 이벤트 갱신 (0) | 2025.04.17 |
---|---|
미친 선인장과 분노의 버섯 - #16 캐릭터 스테이터스와 인게임 HUD 연동 (0) | 2025.04.16 |
미친 선인장과 분노의 버섯 - #15 버퍼를 이용한 선입력(예약) & 키 조합을 통한 액션 및 상태에 따른 동작 다변화 (0) | 2025.04.15 |
미친 선인장과 분노의 버섯 - #14 더블 클릭을 통한 달리기 (0) | 2025.04.14 |
미친 선인장과 분노의 버섯 - #13 카메라 회전 트러블 슈팅 + 클라이언트 UI 상태 변화에 따른 업데이트 (0) | 2025.04.11 |