[요즘 IT] 격투 게임의 새로운 패러다임, 롤백 넷코드가 뭘까?
게임을 좋아하는 나로서는 게임 뒤에서 움직이는 '넷코드'라는 것에 관심이 많았다. 핑 차이로 게임을 지는 것만큼 억울한 것도 별로 없다. 😂 이 주제는 iOS 개발과 당장 연관은 없지만.. 마침 관련 아티클이 나와서 읽고 요약해보았다.
1. 서론: 온라인 격투 게임의 발전과 문제점
격투 게임은 과거 오락실에서 즐기던 장르에서 가정용 콘솔로 옮겨갔고, 현재는 온라인 대전이 기본이 되었다. 그러나 온라인 환경에서는 네트워크 지연(렉)으로 인해 실시간 대전의 쾌적함이 저하되는 문제가 발생했다. 특히, 격투 게임은 반응 속도가 중요한 장르이므로, 0.1초의 지연도 플레이 경험을 크게 해친다. 이를 해결하기 위해 등장한 기술이 바로 롤백 넷코드(Rollback Netcode) 이다.
2. 롤백? 넷코드?
(1) 롤백(Rollback)이란?
- 롤백은 어떤 상태를 이전으로 되돌리는 것을 의미한다.
- 개발자들이 “롤백합시다”라고 하는 것은 시스템을 이전 상태로 복구하는 것을 뜻한다.
(2) 넷코드(Netcode)란?
- 온라인 게임에서 네트워크를 통해 클라이언트와 서버 간 동기화를 맞추는 기술이다.
- 유저 간 입력이 동일한 시점에 반영되도록 하는 것이 핵심이다.
(3) 롤백 넷코드는 무엇인가?
- 롤백 넷코드는 ‘되감는 넷코드’로 해석할 수 있으며, 네트워크 지연을 해결하기 위해 예측과 되감기 기술을 활용하는 방식이다.
- 격투 게임에서 상대방의 행동을 예측하여 화면에 표시하고, 만약 예측이 틀렸다면 되돌려서 수정하는 방식으로 지연을 보완한다.
3. 격투 게임이 온라인에서 겪는 문제
- 오락실이나 같은 콘솔에서 친구와 플레이할 때는 입력이 즉시 반영된다.
- 그러나 온라인 대전에서는 신호가 상대방에게 전달되는 데 시간이 걸리므로, 버튼을 눌렀을 때 즉각 반응하지 못하고 지연이 발생한다.
- 0.1초의 지연도 체감될 정도로 격투 게임은 반응 속도가 중요하며, 지연이 길어질수록 게임의 공정성이 훼손된다.
- 이를 해결하기 위해 기존에는 지연 입력 방식(delay-based netcode) 을 사용했으나, 입력이 늦게 반영되어 부자연스러웠다.
4. 롤백 넷코드의 개념과 작동 방식
(1) 예측 기반의 작동 방식
- 롤백 넷코드는 상대방이 계속 같은 행동을 할 것이라고 가정하고, 그 예측을 화면에 즉시 표시한다.
- 상대방의 실제 입력이 도착하면, 예측이 맞다면 그대로 유지하고, 틀리다면 화면을 되돌려 수정한다.
(2) 애니메이션 프레임을 건너뛰어 렉을 상쇄
- 예를 들어, 상대방이 펀치를 날렸다고 가정했을 때, 기존 방식에서는 입력 지연 후 펀치 애니메이션이 재생되었다.
- 롤백 넷코드는 상대방이 이미 펀치를 날린 것으로 가정하고, 입력이 도착하면 애니메이션 일부를 건너뛰어 반영한다.
- 이렇게 하면 지연이 있는 상태에서도 실시간 반응처럼 보이게 된다.
(3) 체감되는 부드러움
- 0.1초의 입력 지연은 쉽게 느껴지지만, 0.1초의 애니메이션 프레임 삭제는 인간의 눈으로 감지하기 어렵다.
- 따라서, 롤백 넷코드는 유저가 렉을 거의 느끼지 않도록 만들어준다.
5. 이제는 롤백 넷코드가 아니면 안 된다
(1) GGPO SDK와 롤백 넷코드의 대중화
- 2009년, 토니 캐넌(Tony Cannon) 이 개발한 GGPO(Good Game Peace Out) 라는 SDK가 격투 게임에서 롤백 넷코드 도입의 출발점이 되었다.
- 현재 많은 게임사들이 GGPO나 자체 개발한 롤백 넷코드를 활용하고 있다.
(2) 격투 게임에서의 필수 요소가 된 롤백 넷코드
- 최근 격투 게임들은 출시 전부터 ‘롤백 넷코드 지원’ 여부를 강조할 정도로 중요해졌다.
- 심지어 기존 게임들도 롤백 넷코드를 적용하여 재출시되는 사례가 늘어나고 있다.
- 예를 들어, 2000년대 초반 출시된 <마블 vs 캡콤 2> 가 롤백 넷코드를 적용하여 2024년에 재출시되었다.
6. 결론: 모든 것은 유저 경험을 위해
(1) 롤백 넷코드가 격투 게임의 표준이 된 이유
- 롤백 넷코드는 단순히 ‘렉을 줄이는 기술’이 아니라, 온라인 대전에서 실시간 반응성을 보장하는 필수 기술 로 자리 잡았다.
- 격투 게임 유저들은 이제 새로운 게임이 나오면 “이거 롤백 넷코드 지원함?” 이라는 질문을 가장 먼저 던진다.
(2) 롤백 넷코드의 한계
- 인터넷 상태가 극도로 불안정하면 예측과 되감기 과정이 반복되면서 캐릭터 움직임이 부자연스러워질 수 있다.
- 롤백 넷코드를 적용하는 과정에서 개발 비용과 리소스가 증가한다.
(3) 그러나 궁극적으로 유저 경험이 최우선이다
- 격투 게임은 ‘전 세계 사람들과 1:1 대결을 펼친다’는 점에서 매력이 크며, 롤백 넷코드는 이를 실현할 수 있는 기술이다.
- 네트워크 환경이 완벽할 수는 없지만, 롤백 넷코드를 통해 최대한 쾌적한 환경을 제공하는 것이 중요하다.