Study/TIL(Today I Learned)

24.05.18 나만무

에린_1 2024. 5. 20. 19:39
728x90

나만무

폴리싱 위주

  1. timer 크기를 조정했다.
  2. 속도계 배경 추가하고, 글씨 흰색으로 변경했다.

리타이어 인원 - 게임 결과에 표시되도록 추가

게임 도중에 클라이언트가 disconnect 되면 broadcast가 먹통되던 것 수정

  1. PlayerDisconnect() : socket이 속한 플레이어 리스트에서 플레이어 삭제하고, 다른 플레이어들에게 알린다

종료 카운트다운이 끝난 직후 완주하면 골인 처리가 되는 상황

  1. gameRoomList에 state를 추가하고, 게임 진행 상황을 저장했다.
  2. GameStartCountDown 과 함께 state = true로 변경했다.
  3. GameEnd 와 함께 state = false로 변경했다.
  4. PlayerGoal : room.state == true 인 경우에만 Goal 처리가 가능하도록 조건 수정했다.

클라이언트와 시간 맞추기

  1. 현재 플레이어의 골인시간 : 서버에서 찍은 시간 + 0.1초
  2. 추후 조정 필요하다.

GameStart를 2초 늦게 실행

  1. 너무 빨리 시작해 화면 로딩이 끝나기 전에 게임이 시작되는 경우가 잦다.
  2. 아래 코드를 이용해 모든 플레이어의 준비가 끝나고 2초 후에 시작하게 했다.
// SetPlayerInfo()
setTimeout(() => {
    if(room.readycnt === room.playerList.length && room.start === false)
    {
        CountDown(Protocol.GameStart, socket.roomID);
    }
}, 2000); // 2초(2000ms) 후에 실행

c. 새로운 문제 : GameStartCountDown 여러번 실행되는 상황이 발생했다.

d. 준비 완료된 클라이언트가 2초를 대기해 클라이언트마다 CountDown을 실행하게 된다.

e. 아래 코드를 이용해 조건에 맞는 경우에 2초 대기, CountDown을 한 번만 보내게 유도했다.

// SetPlayerInfo()
if(room.readycnt === room.playerList.length && room.start === false)
{
    setTimeout(() => {
        CountDown(Protocol.GameStart, socket.roomID);
    }, 2000); // 2초(2000ms) 후에 실행
}

GameEndUI Pop up 2초 늦게 실행

  1. 게임이 끝나자마자 바로 pop up이 됐는데, 팀원들의 피드백을 통해서 2초 늦게 pop up 되는 것으로 수정하였다.

GameEnd에 돌아가기 버튼 구현

  1. 게임이 끝나고 결과창에서 돌아가기가 구현이 안 됐는데, 그 부분을 구현했다.

InGame Sound 변경

  1. 원래의 캐주얼한 노래에서 카트라이더 불꽃의 땅 무스펠하임으로 변경했다.

시작시 카운트 다운 노래 변경

728x90

'Study > TIL(Today I Learned)' 카테고리의 다른 글

24.05.20 나만무  (0) 2024.05.22
24.05.19 나만무  (0) 2024.05.20
24.05.17 나만무  (0) 2024.05.18
24.05.16 나만무  (0) 2024.05.16
24.05.15 나만무  (0) 2024.05.16