Daily DevLog — 2025-11-30

개발자: 전체 팀 브랜치: main 커밋 수: 2개 변경 파일: 11개


KLingo DevLog - 2025-11-30

1. 오늘의 주요 변경

  • 네트워크 업데이트 빈도 설정 방식 변경: 네트워크 동기화의 업데이트 빈도를 직접 변수에 할당하던 방식을 SetNetUpdateFrequencySetMinNetUpdateFrequency 함수 호출로 변경하였습니다. 이로 인해 내부 로직의 명확성이 향상되고, 향후 유지보수 및 확장에 유리해졌습니다.

  • Luggage 상호작용 시스템 보안 강화: 멀티플레이어 환경에서 Luggage 상호작용의 보안을 강화하기 위해 서버 측 RPC 검증을 추가하고 상태 플래그를 복제하였습니다. 이를 통해 클라이언트 조작으로 인한 소유권 탈취 및 중복 픽업 문제를 방지하고, 물리 시뮬레이션의 일관성을 높였습니다.

  • 상태 복제 및 검증 절차 도입: InteractableComponentbIsPickedUp 상태 복제를 추가하고, Server_PickUp/Drop RPC에 5단계 검증 절차를 도입하여 클라이언트 간 상태 일치를 보장했습니다. 이는 멀티플레이어 환경에서의 안정성을 크게 향상시킵니다.

  • 물리 시뮬레이션 개선: ConveyorBelt의 Tick을 서버 전용으로 변경하고, 물리 이동을 SetPhysicsLinearVelocity 기반으로 수정하여 위치 스냅 및 충돌 문제를 해결했습니다. 이는 물리적 상호작용의 품질을 개선합니다.

  • 디버그 및 유지보수 편의성 향상: 코드 전반에 걸쳐 상태 변화 시 클라이언트 비주얼 동기화 및 디버그 로그를 추가하여 유지보수의 편의성을 높였습니다.

2. 시스템 영향도

  • InteractableComponent: Luggage 상호작용의 보안 및 상태 동기화가 강화되어 멀티플레이어 게임의 안정성이 향상되었습니다. 상태 복제 및 검증 절차 추가로 클라이언트 간 일관성이 보장됩니다.

  • UHookSystem: 서버에서의 라인트레이스 재실행 및 검증 절차 도입으로 치트 방지 기능이 강화되었습니다. 이는 게임의 공정성을 높이는 데 기여합니다.

  • ConveyorBelt: 서버 전용 Tick으로 변경됨에 따라 물리적 상호작용의 일관성이 개선되었습니다. 이는 다른 물리적 요소와의 상호작용에 긍정적인 영향을 미칩니다.

3. 리스크 및 문제

  • 잠재적 리스크: 새로운 검증 절차가 추가됨에 따라 성능 저하가 발생할 수 있습니다. 특히 멀티플레이어 환경에서의 네트워크 지연이 우려됩니다.
  • 기술적 부채: 기존 코드에 대한 리팩토링이 필요할 수 있으며, 특히 RPC 검증 로직의 복잡성으로 인해 유지보수가 어려울 수 있습니다.

4. 검증 필요 항목

  • 상태 복제 검증: bIsPickedUpbIsBeingHooked 상태의 클라이언트 간 동기화가 제대로 이루어지는지 확인해야 합니다.
  • 서버 검증 절차 테스트: Server_PickUp/Drop RPC의 검증 절차가 모든 경우에 올바르게 작동하는지 테스트해야 합니다.
  • 물리 시뮬레이션 성능 측정: ConveyorBelt의 물리적 상호작용이 성능에 미치는 영향을 측정하고 최적화가 필요한 부분을 파악해야 합니다.

5. 회의 기반 후속 작업

  • 회의록과 직접적인 연관 없음: 오늘의 작업은 회의록의 Action Items와 직접적인 연관이 없습니다. 그러나 멀티플레이어 환경의 안정성을 높이기 위한 작업이 진행되었습니다.

6. 관련 Jira 이슈

  • [UN-400] 녹음/STT/대화 - 멀티플레이어 환경에서의 상호작용 안정성 향상과 관련이 있습니다.
  • [UN-419] Linetrace 상호작용 구현 - UHookSystem의 검증 절차와 관련이 있습니다.
  • [UN-551] 플레이어 상호작용 기능 붙이기 - Luggage 상호작용 시스템의 보안 강화와 연관이 있습니다.

생성 시간: 2025-11-30 13:46:09

results matching ""

    No results matching ""