영원한 휴일
  • 정책 기획 📝 네트워크 문제 발생 시 처리
    2024년 03월 19일 20시 55분 37초에 업로드 된 글입니다.
    작성자: Astroboi
    반응형

    게임_콘트롤러_이미지

    0. 네트워크 문제?

    게임을 진행하다 보면 생각보다 자주 발생하는 이슈가 있습니다. 바로 [네트워크 문제]입니다..! 이전 보다 우리나라의 통신 속도가 비약적으로 발전했기 때문에 과거보다 발생 빈도가 줄었지만, 우리나라가 아닌 해외 유저들은 아직까지도 네트워크 문제를 많이 직면하고 있습니다. 😥 (필자는 해외에서 공부할 때.. 인터넷이 느리고 자주 끊겨서 스트레스가 이만저만이 아니었음..)

     

    아무튼, 각설하고 오늘은 모바일 게임에서 네트워크 문제가 발생했을 때 어떻게 처리할지에 대한 기획 내용을 공유하고자 합니다. 많은 분들께 도움이 됐으면 하네요.

     

     

    보통 모바일 게임에서 네트워크 문제는 크게 세 가지 상황에서 벌어질 수 있다고 생각합니다 :)

    ① 서버와 연결 끊김 (게임 진행 중..)

    ② 백그라운드 → 포그라운드 전환 시

    ④ 클라이언트 ↔ 서버 응답 지연 발생

     


    1. 서버와 연결 끊킴

    유저가 게임 플레이 중에 게임 서버와 연결이 끊기게 되는 이슈는 다음 두 가지 상황에서 자주 발생합니다.

    ⓐ 상황 : 클라이언트 네트워크 끊김 (서버는 정상)

    ⓑ 상황 : 게임 서버 다운

     

    네트워크_재연결_팝업
    네트워크 연결 시도 팝업 (좌) / 네트워크 연결 시도 화면 (우)

     

    ⓐ, ⓑ 상황에서 다음과 같이 처리합니다.

    • 서버와 연결이 끊기는 순간 화면은 딤(Dim) 처리되고, 최상위 레이어(Layer)에 네트워크 연결 시도 팝업을 호출한다.
    • 네트워크 연결 시도 팝업이 호출된 상태에서 [RE-CONNECT] 버튼을 눌러 네트워크 연결이 다시 이루어진다면, 네트워크 연결 팝업은 자동으로 닫힌다.
      • [RE-CONNECT] 버튼을 누르면 팝업이 닫히고 네트워크 연결 시도를 합니다.
        • "Loading..." 스트링이 화면 중앙에 노출됩니다.
        • "Loading..." 스트링 등장 시점부터 n초 간 네트워크 연결 시도를 진행합니다.
        • n 초간 연결 시도를 했으나, 네트워크 연결이 되지 않는 경우에는 네트워크 연결 시도 팝업을 다시 호출합니다.
          • n = 개발팀과 상의하여 결정

    2. 백그라운드에서 포그라운드로 전환

    앱이 백그라운드 상태로 전환되고 m분이 경과했을 경우 (m = 10이라고 가정..) :

    • 백그라운드 상태로 m분 이상 유지된 후 앱이 포그라운드로 전환될 때
      • 처리 방안 ① 앱을 재시작합니다.
      • 처리 방안 ② 메인 로딩화면을 호출합니다.

     

    • 백그라운드 상태로 m분 미만 유지된 후 앱이 포그라운드로 전활 될 때
      • 처리 방안 ① 백그라운드 상태로 전환되기 직전 프로세스/플로우를 이어서 진행합니다.
        • ※ 보통 싱글 게임에서 차용합니다.

    3. 클라이언트 ↔ 서버 통신 지연 발생

    클라이언트와 서버가 서로 통신을 해야 하는 상황에서 원활한 통신이 불가하여 응답지연이 발생하는 상황에서는 다음과 같이 처리합니다.

    • 응답 지연 시간 설정 = z초
      • z = 10 (개발팀과 상의가 필요한 요소)
    • 클라이언트 ↔ 서버 통신 지연이 발생되는 상황에서는 화면이 딤(Dim) 처리되고 네트워크 연결 시도를 합니다.
      • 'Loading...' 스트링을 노출합니다.
      • 'Loading...' 스트링이 노출된 시점부터 y초 이내에 서버와 통신이 해결되면 클라이언트에서 처리하고자 했던 프로세스/플로우를 이어서 진행합니다.
      • 'Loading...' 스트링이 노출된 시점 부터 y초 이후에도 서버와 통신이 해결되지 않으면 네트워크 연결 시도 팝업을 호출합니다.
    반응형
    댓글