시리즈: 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 1 – 기본 이론, 지연 기반(delay-based) 넷코드
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 2 – 롤백(Rollback) 넷코드
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 3 – 롤백 넷코드의 기술적 측면과 구현 난점
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 4 (完) – 개발자 및 유저 인터뷰
원문
Iron Galaxy 인터뷰
지연 기반 및 롤백 솔루션이 어떻게 작동하는지 설명하는 것 외에도 여러 프로젝트에서 롤백 작업을 수년 간 진행해 온 게임 개발자들의 의견과 관점을 듣고 싶었습니다. Iron Galaxy 소프트웨어 엔지니어이자 네트워킹의 주역인 Ramón “krazhier” Franco와 Iron Galaxy 디자이너 Adam “Keits” Heart와 함께하게 되어 매우 기쁘게 생각합니다. 그들에게 롤백에 대해 몇 가지 질문을 하고 일반적으로 넷코드의 상황에 대해 조금 논의할 수 있도록 스케줄에 시간을 할애해 주셨습니다.
시간 내주셔서 감사합니다!
Keits: 함께해주셔서 감사합니다! 우리는 롤백에 대한 열렬한 신봉자이므로 우리가 도울 수 있는 일을 하고 싶습니다.
krazhier: 네, 동의합니다. 허락만 해주시면 하루 종일 이 얘기를 할 수 있어요.
대부분의 사람들은 Keits가 Killer Instinct의 S2 및 S3에서 전투 디자이너로 일한 것을 알지만 다른 사람들은 Ramon이 Killer Instinct의 롤백 구현을 개선하는 등 매우 중요한 작업을 수행했다는 사실을 모를 수도 있습니다. 하지만 먼저 역사를 좀 알아보는 게 좋을지도 모르겠습니다. 온라인 격투 게임에서의 롤백에 대한 첫 번째 경험은 무엇이었습니까?
krazhier: Iron Galaxy의 모든 격투 게임에 대한 온라인 엔지니어로서 저는 Third Strike Online Edition에서 롤백을 처음 경험했습니다. 그때까지만 해도 무엇인 줄 몰랐어요. 공교롭게도 그때부터 본격적으로 격투 게임을 시작했습니다. 그 전에는 격투 게임을 하는 것이 단지 직업에 불과하거나, 친구와 함께 하는 일이 전부였습니다. 나는 격투 게임을 좋아하는 방법을 보여준 Iron Galaxy의 동료, 특히 Floe에게 공을 돌립니다.
Keits: 저에게는 #capcom IRC 채널의 옛날 시절이었습니다. GGPO의 설립자인 Tony Cannon은 채널의 공동 소유자였으며 일부 사람들에게 Alpha 2를 테스트 게임으로 사용하여 비공개 베타를 시도할 기회를 제공했습니다. 경험이 너무 좋았습니다. Xbox Live 초기에 좋지 않은 온라인 경험을 몇 년 동안 참은 후 처음으로 FGC가 살아나고 온라인의 미래가 가능하다고 생각했습니다.
롤백 게임을 플레이하는 것으로부터 디자인 및 프로그래밍으로 전환했습니다. 제가 물어볼 수 있는 질문은 정말 다양합니다. 아마도 가장 명백한 질문부터 시작하겠습니다. 격투 게임에 롤백을 포함시키는 것이 얼마나 어려운지 어떻게 평가합니까?
krazhier: 롤백을 구현하려면 먼저 지연 기반 부분을 해결해야 하기 때문에 지연 기반보다 확실히 더 많은 작업이 필요합니다. 내가 지금까지 작업한 롤백 게임에서 예측 프레임과 롤백 알고리즘을 끈다면, 전부 지연 기반 게임이 됩니다. 또한 Mortal Kombat X가 수행한 방식으로 선택하여 기존 게임을 롤백으로 개조하면 훨씬 더 많은 작업이 수행됩니다. 그 사람들은 훌륭한 일을 해내기는 했지만, 나는 그것이 그들에게 큰 투자였다고 생각합니다. 미리 계획하면 관리하기가 더 쉽지만 지연 기반보다 더 많은 작업이 필요합니다.
또한 새 요소가 게임에 추가될 때마다 게임 상태에 영향을 미치고 롤백으로 인한 싱크 엇갈림이 발생할 수 있습니다. 그건 피할 수 없어요. Keits가 저에게 와서 “이 장풍들은 4개의 발사체가 나오고 랜덤 패턴으로 움직이기를 원합니다.”라고 말할 때, 이러한 요소는 코드에 새로운 요소를 추가하는 것을 포함하여 롤백할 수 있도록 해야 합니다. 프로그래머들에게 변수를 롤백 시스템에 등록하도록 교육할 수는 있지만, 어쩔 수 없이 더 많은 작업이 필요합니다. QA 팀과 같은 비 프로그래머도 이제 테스트에 롤백을 통합해야 합니다. 예를 들어, Killer Instinct를 사용하여 QA 팀은 20% 패킷 손실과 150ms의 대기 시간이 항상 켜져 있는 상태에서 테스트했습니다. 그런 종류의 패킷 손실이 있는 경우 공유기를 쓰레기통에 버려야 할 상태이지만, Killer Instinct가 해당 속도에서도 충분히 플레이할 수 있도록 했습니다.
롤백은 또한 프로그래밍 팀에 작은 수갑을 채우는 꼴이 될 수 있으며, 이를 해결하는 방법을 창의적으로 만들어야 합니다. 예를 들어 게임에 발사할 수 있는 장풍이 있고 그 장풍이 당신의 바로 앞에서 사라진다고 가정해 보겠습니다. 해당 장풍이 존재했던 시점으로 롤백해야 하는 경우 해당 발사체를 제거하면 엄청난 성능 부담(performance debt)이 추가됩니다. 그 대신 발사체를 현명한 방법으로 저장해야 하고, 충분한 시점까지 실제로 파괴하지 않는 것이 좋습니다. 이러한 것들의 성능은 큰 문제입니다. 한 프레임에서 10번 시뮬레이션하려면 두 번 생각하지 않고 16ms 안에 할 수 있었던 일을 이제 1ms에 맞춰야 합니다.
하지만 세상의 종말처럼 들리게 하려는 것은 아닙니다. 더 많은 작업에도 불구하고 이 모든 것에는 솔루션이 있고 좋은 롤백 게임이 있습니다. 제 생각에는 매우 가치 있는 투자라고 생각합니다.
롤백이 시작되기 전에 입력 지연을 선택할 수 있는 게임이 있는 반면, 다른 게임은 해당 옵션을 사용자에게 숨기고 항상 각 플레이어에 대해 동일한 지연을 선택합니다. 이 두 가지 옵션에 대해 어떻게 생각하십니까? 서로 우열 관계가 있습니까?
krazhier: Killer Instinct는 사용자가 선택하게 하지 않는 게임 중 하나이며 항상 3프레임의 지연(delay)을 추가합니다. 입력이 반대쪽에 도달하는 데 45ms를 제공합니다. 이것이 좋은 이유는 롤백이 발생하기 시작하는 핑이 90ms을 초과임을 알 수 있기 때문입니다. 롤백 임계값(threshold)에 하나 또는 두 개의 프레임이 있더라도 플레이어에게는 거의 보이지 않습니다. 저는 개인적으로 롤백의 한 프레임이 언제 일어나고 있는지 알 수 없습니다. 그래서 개인적으로 3프레임 지연 방식을 좋아합니다.
Iron Galaxy의 초기 롤백 게임 중 일부에서는 사용자가 지연을 설정하도록 했습니다. 그리고 이것은 당연히 사람들이 자동으로 지연을 0으로 설정한다는 것을 의미합니다. 0은 좋은 숫자이고 좋은 인터넷이 그것을 처리할 수 없을 이유가 없기 때문입니다. 그렇죠? 그러나 이는 버튼을 누를 때마다 다른 사용자가 롤백을 경험하게 된다는 것을 의미합니다. 왜냐하면 적절한 타임 싱크가 이루어진 0프레임에서는 다른 사용자가 입력을 받을 때 항상 과거가 되기 때문입니다. 즉, 사용자가 입력 지연을 설정할 수 있는 우리가 했던 Darkstalkers Resurrection 버전을 선호하는 사람들을 알고 있습니다. 왜냐하면 그들은 항상 토너먼트 연습을 위해 로컬 친구와 로비에서 플레이하기 때문입니다. 그리고 그것은 좋은 선택입니다. 그러나 전체적으로 스튜디오는 일반 플레이어의 연결 품질에 대해 생각해야 합니다. 매번 버튼을 누를 때마다 3프레임의 롤백하는것은 이것을 인식하지 못하는 소비자에게 다소 어려울 수 있습니다.
Keits: 사용자가 수동으로 설정하도록 하는 것이 어렵다는 데 동의합니다. 왜냐하면 그들은 항상 0을 선택할 것이고 상황은 더 나빠 보일 것이기 때문입니다. 특히 대부분의 플레이어는 설정의 진정한 의미를 이해하지 못하기 때문입니다. 세 프레임의 지연은 기본적으로 90ms의 시간이 주어지며 이는 거의 알아챌 수 없는 수치입니다. 즉, 북미 플레이어의 경우 대부분의 아메리카 대륙의 플레이어가 대전 가능한 상대입니다. 그런 다음 몇 프레임의 롤백으로 150ms 핑이 커버 가능하며, 이는 세계 전체로 범위를 증가시킵니다. 동일한 150ms 핑 연결은 지연 기반 넷코드에서 불쾌한 플레이가 됩니다.
사용자가 지연을 선택하지 않을 경우 게임에 접속 품질을 감지하고 지연을 1~2프레임으로 자동 낮추는 것이 바람직하거나 가능합니까?
krazhier: 경기 시작 시 한 프레임 지연을 결정하는 것이 있다는 것은 경기 중반에 갑자기 늘어난 레이턴시로 플레이하는 경우가 있고 지연이 조정되지 않는다는 것을 의미합니다. 그러면 훨씬 더 많은 롤백이 발생하고, 지연 기반 접근법에서는 입력 지연 시간을 즉시 변경하는 것을 피하려고 합니다.. 또한 경기의 10%를 2프레임의 지연으로 플레이하는지 여부가 확실치 않지만, 경기의 90%를 3프레임 지연에서 플레이하는 것이 그만한 가치가 있다고 생각합니다. 모든 게임에서 일관성이 더 중요할 수 있다고 생각합니다.
Keits: 또, 버퍼의 사이즈를 늘려 리버스나 콤보와의 연계를 용이하게 하는 등, 한두 프레임의 지연이 있어도 게임을 보다 쉽게 플레이 할 수 있습니다. 1~2 프레임의 딜레이에서 안정적으로 플레이할 수 있는 상대의 수는 매우 적다고 생각합니다. 당신과 30분 거리에 사는 사람들조차도 좋은 네트워크 연결 상태를 유지하지 못하는 경우가 많습니다. Guilty Gear 온라인을 플레이할 때 지연이 안정적인 한 프레임에 머무르는 경우가 얼마나 되는지 생각해 보십시오. 그래서 저는 “지연 기반 게임에서는 한 프레임의 지연으로 플레이할 수 있지만 이러한 롤백 게임에서는 결코 세 프레임 이하로 플레이할 수 없다”고 말하는 사람들은 실제 상황에서 실제로 작동하는 방식에 대해 약간 잘 모른다고 생각합니다.
롤백 게임을 위해 만들고 있다는 것을 알고 있는 디자이너가 어떻게 현명한 디자인 선택을 할 수 있는지에 대한 방법을 살펴보기에 좋은 시기인 것 같습니다. Keits는 이것에 대해 꽤 많이 생각했을 것입니다.
Keits: 아마도 첫 번째로 이야기할 요점은 움직임의 시작(startup_일 것입니다. 롤백은 상대의 버튼이 눌린 경우에만 발생하기 때문에 롤백이 발생하면 항상 개시(startup)의 일부가 차단됩니다. 즉, 느린 시작(startup)으로 이동하면 롤백을 더 쉽게 숨길 수 있습니다. 예를 들어, 10프레임 주먹 동작의 전면에서 누락된 3개의 프레임은, 3프레임 주먹 동작의 전면에서 누락된 3개의 프레임보다 눈에 띄지 않습니다. 사실 현대 격투 게임에서 3프레임 표준을 사용하는 것에 반대하는 것은 타당한 주장이라고 생각합니다. Killer Instinct의 가장 빠른 히트는 5프레임이므로 게임 속도는 이에 영향을 받지 않습니다. Tekken 게임의 주먹 동작은 10프레임부터 시작이므로 Tekken이 롤백에 적합하다고 생각합니다.
왜 격투게임은 항상 P2P(peer-to-peer)일 뿐이고 다른 많은 장르와 달리 클라이언트-서버 아키텍처가 아니라고 생각하십니까? 서버 기반 시스템에서는 롤백이 제대로 작동하지 않습니까? 격투 게임이 바뀌어야 하나요?
krazhier: 우선, 서버가 각 플레이어에게 입력을 보내는 중개자 역할을 하지 못할 이유가 없습니다. Brawlhalla(격투 게임)는 이러한 시스템을 사용하며 Street Fighter V는 때때로 플레이어 간에 직접 연결할 수 없는 경우 서버를 사용하는 것으로 대체됩니다. 그러나 두 가지 주요 이유는 대기 시간과 비용이라고 생각합니다. 직접 P2P 연결은 메시지가 서버를 통해 라우팅되지 않고 다른 클라이언트에 직접 전달되고 서버를 계속 실행하기 위해 비용을 지불할 필요도 없음을 의미합니다.
서버-클라이언트 토폴로지와 대조적으로 락스텝을 수행하는 이유에 대해서는 이론상 둘 다 가능하다고 생각합니다. 그러나 락스텝의 유일한 변수는 플레이어 입력이기 때문에 격투 게임에 적합하다는 것이 제 경험입니다. 따라서 결정론적(deterministic) 시뮬레이션을 구축하면 FPS 게임의 슈터(shooter)처럼 클라이언트 측 예측에 많은 작업을 할 필요 없이 입력 정보만으로 게임 상태를 도출할 수 있습니다. 일부 오래된 격투 게임은 실제로 락스텝 대신 호스트-클라이언트 아키텍처를 사용했으며 이러한 게임은 온라인과 오프라인 플레이에서 차이가 있었습니다.
Keits: 록스텝에서 중요한 것은 모든 사람이 똑같은 것을 시뮬레이션한다는 것입니다. 예를 들어 한 사람의 PC가 히트박스 충돌의 결과를 약간 더 빠르게 실행하거나 부동소수점 오류로 인해 다른 방식으로 실행한다면, 사용자는 록스텝이 아니며 “실제” 게임 상태를 추적하기 위해 서버가 필요합니다. 서버-클라이언트 시스템에서 내 캐릭터를 볼 때 입력이 동기화되었는지 확인하는 대신 내 캐릭터의 과거의 흔적을 보는 것입니다. 내가 어떤 조작을 하면 서버가 찾아서 확인하고, 그것을 당신에게 보내면, 당신은 그것을 보게 됩니다. 실제로 동기화되지 않습니다.
예를 들어 Overwatch에서 당신이 코너를 향해 달려가는 모습을 보면, 저는 당신이 코너를 돌기 직전에 총을 쏩니다. 하지만 사실 당신은 이미 코너를 지나갔죠. 자, 당신이 피해를 입어야 하나요? 내 총알은 엄밀히 따지면 당신이 없는 곳으로 갔고 당신은 총알을 막는 벽 뒤에 있었지만 내 화면에서는 여지없는 히트였습니다. 슈팅 게임에서 자연스러운 느낌을 주기 위해 사용하는 수십 가지 트릭이 있지만, 슈팅 게임에는 격투 게임과 같은 유형의 히트 반응이 없습니다. 만약 당신이 약간의 피해만을 입기 위해 코너 뒤에서 총알을 맞으면, 당신은 캐릭터에 대한 통제력을 잃지 않고, 그것은 더 견딜 만합니다. 하지만 ‘코너 뒤에서’ Ryu의 강력한 헤비 펀치를 받으면 히트가 되지 않았음을 분명히 알 수 있으며 일반적으로 불가능한 상황에서 콤보를 당하고 있습니다. 이것은 플레이하는 입장에서 정말 답답하게 느껴질 것입니다. 격투 게임에서 서버-클라이언트가 작동하도록 하려면 이러한 제한 사항을 중심으로 전체 게임을 구축하기 위해 많은 이상한 일을 해야 합니다.
실제로 장풍을 쏠 때까지 기다렸다가 스타트업(startup)을 한두 프레임 뒤로 롤백하는 대신, 장풍을 쏠 것이라고 예측했다가 추측이 틀렸을 때 롤백하는 방법이 훨씬 더 나쁘다고 생각됩니다만?
krazhier: 만약 당신이 실제로 최종 결과를 예측하기 전에 그 결과를 추측하려고 한다면, 당신이 원래보다 훨씬 더 자주 틀릴 것이라고 생각합니다. 그런 모델은 10%의 확률로 예측이 빗나간 솔루션이라고 생각되며, 플레이어는 누를 생각도 하지 않는 전혀 발생하지 않은 버튼 입력을 롤백해야 하는 등 현재의 예측 모델보다 훨씬 더 나쁘게 느껴져서 아마 그럴 가치는 없을 거라고 생각됩니다..
롤백은 관중 또는 2명 이상의 플레이어와 어떻게 작동합니까? 모델이 더 많은 플레이어를 추가하는 데 깅점이 있나요?
krazhier: 롤백은 두 명 이상의 플레이어와 함께 잘 작동합니다. Iron Galaxy는 실제로 GGPO를 사용하는 Dungeons & Dragons: Chronicles of Mystara라는 4인 던전 크롤러(*정교한 가상 던전을 탐색하고 싸우는 것을 주안점으로 하는 게임 장르) 게임을 출시했으며 훌륭하게 작동합니다. 예상대로 플레이어가 많을수록 롤백할 기회가 더 많아지고 네트워크를 통해 더 많은 데이터를 전송해야 합니다. 결국 플레이어가 너무 많고 점유 대역폭이 큰 한계에 도달할 수 있지만, 그 한계점은 확실히 두 명은 아닙니다.
Keits: 관중은 게임을 실제로 “라이브”로 볼 필요가 없습니다. 과거 10, 20 또는 30 프레임을 볼 수 있으며 여전히 라이브에 충분히 가깝습니다. 이는 지연이 지나치게 민감하지 않다는 것을 의미하며, 플레이어가 서로에게뿐만 아니라 동일한 유형의 긴급성을 가진 8명의 관중에게도 입력을 보내야 하는 부담을 주지 않습니다.
krazhier: 예를 들어, 마지막 30개 프레임에 대한 모든 입력을 묶은 다음 압축하고 한 플레이어를 지정하여 모든 관중에게 보낼 수 있습니다. 30프레임마다 발생하고 입력을 압축할 수 있기 때문에 대역폭 점유율은 그렇게 높지 않습니다. 비용을 부담할 의향이 있다면 이 작업을 수행할 서버를 지정할 수도 있습니다. 그러나 이론적으로 관중은 롤백을 하지 않아야 합니다. 시뮬레이션을 실행하는 데 필요한 입력이 항상 있어야 하기 때문에 딜레이가 매우 큰 지연 기반 시스템에서만 실행됩니다. 그리고 패킷 손실이 발생하면 게임이 즉시 입력을 받기 위해 스스로를 희생할 필요가 없습니다. 30개 이상의 프레임을 실행하고 있기 때문에 패킷을 10프레임 후에 재발송하는 것만으로 일반적으로 잘 작동합니다.
저는 우리 모두가 이 주제에 대해 하루 종일 이야기할 수 있다고 생각합니다만, 아마도 몇 가지 최종적인 생각을 요약 정리하는 것이 가장 좋을 것 같습니다. 게임에서의 롤백에 대한 일반적인 사용에 대해 어떻게 생각하십니까?
krazhier: GGPO가 아니었다면 지금의 롤백을 지지하지 않았을 것이라고 말씀드릴 수 있습니다. 재밌었어요, 왜냐하면 제가 롤백을 처음 봤을 때, 제 반응은 내 반응은 “어, 왜 다들 안 하는 거지??” 였기 때문입니다. 그리고 Iron Galaxy가 3rd Strike에서 처음 이 작업을 수행했을 때 “와, 이건 마법이고 효과가 있어.”라고 말했습니다. 그래서 저는 GGPO가 뒤늦게 깨닫는다면 믿을 수 없을 정도로 굉장하다고 생각합니다.그게 아마 가장 멋진 점일 거예요 Iron Galaxy에 오기 전에 Blitz the League나 NBA Ballers 같은 록스텝 게임을 했는데 GGPO가 하는 일을 할 생각은 전혀 안 해봤어요. 그래서 게이머로서뿐만 아니라 제 경력의 변화면에서도 GGPO 및 롤백 솔루션을 좋아합니다.
우리는 25년 동안 지연 기반 락스텝 네트워킹 아키텍처를 수행해 왔습니다. Quake가 나오고 우리는 서버-클라이언트 아키텍처(서버가 모든 사람에게 보여야 할 내용을 알려주고 모든 사람이 그것을 매끄럽게 보이도록 보간하는 방식)로 전환했습니다. 이것이 발생했을 때, 록스텝 네트워킹은 진화를 멈췄습니다. 롤백은 록스텝 네트워킹의 다음 단계이며 비디오 게임 개발의 다른 모든 분야와 마찬가지로 록스텝 구현이 진화해야 할 때라고 생각합니다. (롤백 방식에 대한) 시간 투자는 나에게 매우 가치가 있습니다.
Keits: 온라인 격투 게임에 좋은 넷코드보다 더 가치 있는 것은 없다고 생각합니다. 따라서 개발자가 개발 과정에서 롤백을 우선시해야 한다는 것은 당연합니다. 이제 게임 상태를 다르게 관리 및 로드하고 매우 빠르게 시뮬레이션할 수 있어야 하기 때문에 게임 빌드 방법에 대한 약간의 변화가 필요합니다. 그러나 최종 결과는 팬에게 게임을 대륙 끝단간에서 즐길 수 있으며 대부분의 경기를 해외 네트워크에서 즐길 수 있다는 것을 자신 있게 알릴 수 있습니다. “온라인 토너먼트를 할 수 있고 농담이 아니라 결과가 유효할 것”이라는 자신감입니다.
롤백을 개선할 수 있습니까? 향후 10년간 개발자가 실험해야 할 롤백의 진전은 무엇입니까?
krazhier: 개선할 수 있는 주요 두 가지 방법은 필요한 롤백 수를 줄일 수 있는 방법을 구현하는 것과 프레임당 시뮬레이션 시간을 개선하는 것입니다. 이 두 가지에 대해 아직 탐구되지 않은 트릭이 있습니다. 격투 게임 외에 다른 장르를 탐색하는 것도 또 다른 가능성입니다. 3인칭 액션 게임인 For Honor와 같은 게임이 롤백을 구현한 것은 멋지지만 저희는 더 많은 것을 할 수 있습니다. 예를 들어 롤백 스포츠 게임을 하고 싶습니다.
또한 하이브리드 접근 방식을 도입하는 것도 멋질 것 같은데, 롤백이 작은 범위를 넘어서 “중요한” 액션(즉, 사용자에게 가까운 액션)에 대해 프레임락(framer-lock) 롤백 시뮬레이션을 사용하고, 멀리 떨어진 이벤트에 대한 기존의 서버 권한 아키텍처를 사용할 수 있는 방법입니다. 롤백 결정론적 솔루션을 사용하여 근접한 전투 게임 플레이를 할 수 있지만, 서버를 사용하여 나머지 세계를 위한 무거운 작업을 수행할 수 있는 MMO 액션 게임을 상상할 수 있습니까? 이것들은 탐구하기에 재미있는 문제들이 될 것입니다.
Sajam 인터뷰
저는 또한 매일 격투 게임을 하는 커뮤니티의 고인물 회원으로부터 넷코드에 대한 관점을 얻는 것도 매우 가치가 있다고 생각했습니다. Stephen “Sajam” Lyon은 격투 게임 커뮤니티의 가장 큰 토너먼트에서 수많은 상위 8위 안에 드는 댓글을 달았고, 12가지 다른 격투 게임을 플레이하고 연구했으며, Twitch 및 YouTube 채널에서 중요한 격투 게임 주제에 대해 이야기하는 것을 좋아합니다.
채팅에 시간을 내주셔서 감사합니다!
Sajam: 초대해 주셔서 감사합니다! 저는 격투 게임을 위한 네트워킹에 대해 많은 시간을 할애하고 롤백 및 지연 기반 솔루션에 대해 이야기하는 것을 항상 기쁘게 생각합니다.
온라인 격투 게임을 처음 접한 사람들에 대해 조금 배우는 것이 좋다고 생각합니다. 온라인 격투 게임에서의 롤백에 대한 첫 경험은 무엇입니까?
Sajam: 내가 롤백 넷코드로 플레이한 것은 2012년 Street Fighter x Tekken이었습니다. 그 당시에는 Street Fighter 4나 Ultimate Marvel vs Capcom 3과는 넷코드가 많이 달랐다고 느꼈던 기억이 있지만 크게 생각하지 않았습니다. 그 다음 해, Killer Instinct을 플레이하게 되었고, 넷코드의 롤백이 얼마나 중요한지 알게 되었습니다. 저는 Killer Instinct에서 남캘리포니아에서부터 뉴욕까지 거리를 온라인으로 플레이하면서 이것이 차세대 온라인 격투 게임의 미래라고 생각했던 것을 기억합니다. 몇 년 후, 저는 Indience 2의 온라인 경험에 놀랐는데, 미국 동부 해안, 심지어 영국에서 온 선수들과 정말 재미있는 온라인 대전을 했습니다.
우리 둘 다 Killer Instinct를 즐기는 것은 비밀이 아니며 그 중 많은 부분이 온라인 경험과 관련이 있다고 생각합니다. 저에게는 수년간 나쁜 환경의 온라인 격투 게임을 하다가 마침내 큰 스튜디오가 롤백을 도입하였고 이것이 PC의 GGPO 베타에서 플레이되는 고전 게임만을 위한 것이 아니라는 사실을 알게 되어 정말 기뻤습니다. 이 주제에 대해, 롤백 넷코드를 가진 게임이 왜 그렇게 적다고 생각하십니까?
Sajam: 대부분의 경우 개발자들이, 온라인 플레이로 무엇을 할 것인지 생각할 즈음에는 개발에 몰두하여 가장 빠르고 쉬운 솔루션을 사용하기 때문이라고 생각합니다. 이는 불행한 일입니다. 격투 게임의 95%가 다른 상대와 플레이하는 것이고 대부분 온라인에서 하기 때문입니다. 따라서 좋은 온라인 솔루션이 없으면 게임의 재미의 대부분을 찾기 어려울 수 있습니다. 하지만 요즘에는 개발자들이 게임의 온라인 부분을 중요하게 생각하지 않는 것은 미친 것 같습니다. 그래서 그것이 바뀔 수 있기를 바랍니다!
동의하지만 흥미로운 점은 GGPO가 더 이상 새로운 것이 아니라는 점입니다. 10년 전에 개발되었으며 그 이후로 몇몇 주류 게임에만 있었습니다. 롤백을 채택하는 데 왜 그렇게 오래 걸린다고 생각하십니까? 그것이 최선의 해결책이라면 지금쯤 더 많은 게임에 들어가야 하지 않을까요?
Sajam: 오랜 기간 동안 정말 훌륭한 솔루션이었음에도 불구하고 최근 롤백에 대한 요구가 특히 많았던 것 같습니다. 서구 개발자들은 롤백을 수용한 것 같지만 일본 게임에서는 보편화하기 위해 고군분투하고 있습니다. 일본이 Street Fighter, Tekken, King of Fighters, Soul Calibur, Marvel vs Capcom, Guilty Gear, BlazBlue, Under Night In-Birth와 같은 사랑받는 격투 게임 프랜차이즈를 너무 많이 만들기 때문에 특히 불행한 일입니다.
롤백 넷코드를 구현하면 이러한 게임을 둘러싼 생태계가 어떻게 바뀔 것이라고 생각하십니까? 게임의 플레이어, 해설자 및 팬은 어떤 이점을 얻을 수 있습니까?
Sajam: 우선 온라인에서 누군가와 플레이할 수 있는 상대의 수는 엄청나게 늘어납니다. 이것만으로도 플레이어 풀이 작은 커뮤니티나 함께 훈련하고 싶지만 거리가 멀기 때문에 훈련할 수 없는 지역에 엄청난 이득이 됩니다. 우리는 매주 Mortal Kombat 11의 스트리밍을 통해 미국 및 유럽 전역의 플레이어와 함께 SonicFox 트레이닝을 일관되게 시청하고 있습니다.
캐주얼하고 경쟁적인 플레이어가 가능한 상대를 얻는 것 외에도 온라인 이벤트/토너먼트에 대한 신뢰성을 제공합니다. Capcom Pro Tour Online과 같은 이벤트는 경쟁 서킷에서 누가 포인트를 나눠야 하는지를 결정하는 실행 가능한 방법으로 명성을 얻습니다. 또한 개발자는 유효성이 있음을 인지하고 순위 경쟁이나 리그를 실행할 수 있습니다. 해설자는 토너먼트의 모든 온라인 경기 영상을 사용할 수 있게 되었고 해설자로서 해외 출장을 할 필요 없이 온라인 토너먼트에 더 많이 접근할 수 있습니다. 여기서 멈추겠습니다. 다양한 유형의 격투 게임 팬과 플레이어에게 혜택을 주는 이유가 무궁무진하다고 생각하기 때문입니다.
이러한 혜택의 대부분은 경쟁적인 플레이어나 게임에 과도하게 투자한 플레이어를 대상으로 하는 것 같습니다. 캐주얼한 플레이어가 기본 지연 기반 솔루션에 대한 롤백을 알아차릴 것이라고 생각하십니까? 롤백이 뭔지도 모를 전혀 무관심할 것 같은 캐주얼 플레이어로부터 “게임을 할 때 지연이 없습니다”와 같은 말을 자주 듣습니다. 개발자는 하드코어 커뮤니티 때문에 롤백을 적용해야 합니까, 아니면 캐주얼 게임 팬에게도 혜택이 있다고 생각합니까?
Sajam: 아, 캐주얼 팬을 위한 혜택은 확실히 있습니다. 우선 콘솔에서 게임을 하는 많은 캐주얼 팬이 Wi-Fi를 사용하며 이는 지연 기반 솔루션에서 정말 난감합니다. 롤백은 일관되지 않은 연결 유형을 처리하는 데 훨씬 뛰어나며 지연이 전혀 없는 것처럼 보입니다. 캐주얼 팬의 경우 거리에 따라 함께 플레이할 수 있는 친구 수를 늘리고 온라인 플레이를 기분 좋게 하는 것은 큰 이득입니다. 사람들이 나쁜 넷코드와 좋은 온라인 기능의 부족이 격투 게임의 즐거움을 해친다는 말을 얼마나 자주 듣는지 설명하기 어렵습니다. 지연 기반 솔루션 대 롤백을 알아차리는 한, 롤백이 중요한 이유는 롤백이 심각한 지연을 얼마나 잘 감추느냐에 있습니다.
일부 플레이어로부터 들은 바는 게임에 좋은 넷코드가 있으면 사람들은 게임을 위해 현지인이나 토너먼트로 여행하는 것보다 집에 앉아서 온라인으로 플레이하는 것을 선호한다는 것입니다. 좋은 넷코드가 실제로 어떤 면에서는 “나쁜 것”이거나 로컬 플레이계(local scene)에 부정적인 영향을 미칠 수 있다는 이 아이디어에 장점이 있다고 생각하십니까?
Sajam: 저도 그런 얘기를 들은 적이 있는데, 꽤 흥미롭게 생각해 볼 수 있는 부분인 것 같아요. 넷코드가 아무리 좋아도 오프라인에서 격투 게임을 하는 느낌을 대체할 수 없으며 풀뿌리(grassroots) 이벤트 및 토너먼트에 존재하는 커뮤니티 측면을 대체할 수 없습니다. 그렇다고는 해도, 원활한 접속으로 많은 사람을 온라인으로 플레이 할 수 있는 것은, 때때로 로컬에 참가하고 싶다고 하는 유혹을 확실히 느낄 수 있습니다. 그런 경우, 온라인상에서 현지 친구들과 놀거나, 매주 온라인으로 현지/지역 이벤트를 개최할 수 있는 기회가 열린다고 생각합니다. 어느 쪽이든, 나는 그것이 더 큰 지역이나 메이저 대회들을 짓밟을 것이라고 생각하지 않습니다. 온라인 플레이가 얼마나 좋은지 상관없이 그것들은 참석할 가치가 있습니다.
소비자들이 무언가에 불만이 있을 때, 그들은 종종 “지갑으로 투표”하는 것을 선택합니다. 격투 게임의 경우, 개발자들이 구체적인 피드백을 얻을 수 있도록 커뮤니티 전체가 롤백을 구현하지 않는 게임의 지원을 중단해야 한다는 의견이 있었습니다. 한편, 롤백을 사용하지 않을 가능성이 낮다고 해도, 곧 있을 격투 게임에 흥미를 느끼지 않는 것은 매우 어려운 일입니다. 훌륭한 게임을 하고 싶으면서도 롤백 문제에 대해 지갑으로 투표하고 싶은 사람에게 당신은 뭐라고 말할 것인가요?
Sajam: 그게 힘든 자리이고, 늘 그 자리에 있는 사람으로서 그런 말을 해요. 나는 곧 출시될 Guilty Gear에 대해 정확히 그렇게 느끼지만 최근에 발표된 Riot의 격투 게임과 같은 것에 대해서도 같은 느낌을 갖고 있습니다. 넷코드가 당신에게 딜 브레이커라면 지갑으로 투표할 수 있다고 생각합니다. 최소한 우리 모두는 현대 시대에 게임을 만들 때 개발자가 넷코드를 고려하도록 요구해야 합니다.
그렇다고는 해도, 지연을 베이스로 한 넷 코드의 훌륭한 격투 게임이 일본에서 얼마나 많이 오고 있는지, 참기 어려울지도 모릅니다. 격투기 팬이라는 것은 이런 순간들로 가득 차 있습니다. “야, 이건 정말 멋질 것 같은데, 그들이 이걸 하지 못한 게 너무 아쉽다.” 특히 다른 경쟁 게임들을 보면 항상 힘들다는 생각이 들어요. 특히 좋은 넷코드와 같이 다른 격투 게임에서 우리가 원하는 많은 것들이 10년 이상 존재해왔을 때 말입니다. 너무 아쉬워요.
Street Fighters V의 롤백 구현이 ‘대전 게임을 위한 좋은 온라인 솔루션’이라는 롤백의 명성에 피해를 입혔다고 생각하십니까?
Sajam: 의심할 여지 없이 그렇습니다. 불행히도 Capcom은 롤백 넷코드를 구현하여 올바른 작업을 수행하려고 했지만 몇 가지 문제가 있었습니다. 그 중 일부는 이 기사에서 언급되어 SFV의 온라인 플레이의 현재 상태로 이어졌습니다. 즉, 이와 같은 기사와 저와 같은 제작자가 우리의 목소리를 사용하고 사람들에게 롤백이 여전히 사용 가능한 최상의 옵션임을 알리는 것이 중요합니다.
어떤 사람들은 SF4보다 SFV의 넷코드를 더 좋아한다고 언급했는데, 이는 저에게 정말 매력적입니다. 일반적인 지연 기반 솔루션에 비해 제대로 작동하지 않는 롤백 솔루션을 누군가가 즐길 수 있다는 생각은 올바른 경로를 선택했다는 좋은 신호입니다. 그래도 SFV의 롤백 버전이 당신을 괴롭혔다면 나는 당신을 비난할 수 없습니다. Killer Instinct, Punch Planet, Skullgirls, Mortal Kombat 11 등과 같이 롤백이 올바르게 수행된 게임을 살펴보시기 바랍니다!
온라인 격투 게임을 많이 하는 사람들과 나누고 싶은 마지막 생각이 있으신가요?
Sajam: 네! 대부분의 경우 개발자가 처음부터 그 방법을 결정하지 않으면 롤백 넷코드를 추가하는 것이 어렵습니다. 따라서 개발자가 이를 사용할 때마다 개발자에게 감사하고 좋은 넷코드를 사용한 격투 게임이 얼마나 멋진지 감사해야 합니다! 그 외에도 이 멋진 기사를 작성해 주셔서 감사합니다. 시간을 내어 이 인터뷰를 읽어주신 모든 분들께도 감사드립니다!
바쁜 시간을 내어 넷코드의 기술적 측면에 대해 논의해 준 krazhier와 Keits, 인터뷰 질문에 답하고 작성 과정 전반에 걸쳐 도움을 준 Sajam에게 감사드립니다. 또한 이 기사에서 볼 수 있는 모든 멋진 비디오를 만들어준 MagicMoste에게 특히 감사드립니다. 그들의 모든 도움은 무료로 제공되었으며 그들의 호의에 감사드립니다.
그리고 이 글을 끝까지 읽어주신 독자 여러분께도 감사드립니다! 진심으로 바라는 것은 당신이 격투 게임을 온라인에서 원활하게 플레이할 수 있도록 하는 문제에 대해 새로운 것을 배웠기를 바라며, 또, 만약 친구나 FGC의 다른 멤버와 넷 코드의 롤백에 관한 이야기가 나온다면, 그들과의 논의가 더 쉬웠으면 합니다. 읽어주셔서 감사합니다.
시리즈: 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 1 – 기본 이론, 지연 기반(delay-based) 넷코드
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 2 – 롤백(Rollback) 넷코드
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 3 – 롤백 넷코드의 기술적 측면과 구현 난점
- 격투 게임이 지연 기반 넷코드 및 롤백 넷코드를 사용하는 방법에 대한 설명 4 (完) – 개발자 및 유저 인터뷰
0개의 댓글