본문 바로가기

IT상식

클라우드 게임은 어떻게 멀리 있는 서버의 게임을 실시간으로 실행할까?

1. 클라우드 게임의 핵심 원리: 게임은 내 기기가 아니라 원격 서버에서 실행된다

클라우드 게임을 이해하려면 먼저 일반적인 PC·콘솔 게임과 무엇이 다른지 알아볼 필요가 있다. 일반적인 게임에서는 사용자의 컴퓨터나 게임 콘솔에 게임 프로그램이 설치되어 있고, CPU와 GPU가 게임의 물리 계산과 그래픽 렌더링을 직접 처리한다. 반면 클라우드 게임에서는 게임 프로그램과 고성능 그래픽카드가 설치된 데이터센터의 서버에서 실제 게임이 실행된다. 사용자의 스마트폰, 태블릿, 노트북 또는 스마트TV는 게임을 직접 렌더링하는 장치라기보다 서버에서 만들어진 화면을 받아 보여주고, 사용자의 조작 명령을 다시 서버로 전달하는 역할을 한다. 즉 클라우드 게임의 핵심은 ‘게임 실행’과 ‘화면 표시’를 서로 다른 장소에서 수행하는 것이다.

사용자가 게임을 시작하면 클라우드 게임 서비스의 서버가 사용자의 계정 정보를 확인하고 가상 머신이나 전용 게임 환경을 할당한다. 서버에서는 게임 프로그램을 실행하고 CPU가 게임의 인공지능, 물리 계산, 게임 규칙 등을 처리한다. GPU는 캐릭터와 배경, 조명, 그림자, 각종 특수효과를 계산해 하나의 완성된 영상 프레임으로 만든다. 이후 이 영상은 그대로 인터넷으로 전송되는 것이 아니라 H.264, H.265, AV1 같은 영상 압축 기술을 이용해 실시간으로 압축된다. 압축된 영상 데이터는 인터넷을 통해 사용자 기기로 전달되고, 스마트폰이나 PC는 이를 다시 풀어 화면에 표시한다. 사용자가 키보드, 마우스, 게임패드 또는 터치스크린을 조작하면 입력 정보가 반대 방향으로 서버에 전달된다. 결국 ‘입력 → 서버 계산 → 그래픽 렌더링 → 영상 압축 → 인터넷 전송 → 화면 표시’라는 과정이 매우 짧은 시간 안에 반복되는 구조다.

실제 사례로 고사양 게임을 실행하기 어려운 저사양 노트북에서 클라우드 게임 서비스를 이용하는 상황을 생각해 볼 수 있다. 노트북 자체의 GPU가 최신 게임을 원활하게 실행하지 못하더라도 데이터센터의 고성능 GPU가 게임을 실행한다면 사용자는 노트북 화면을 통해 게임을 즐길 수 있다. 이때 노트북의 성능보다 중요한 것이 안정적인 인터넷 연결과 지연시간이다. 이것이 클라우드 게임이 기존 게임과 근본적으로 다른 특징이다.

클라우드 게임은 어떻게 멀리 있는 서버의 게임을 실시간으로 실행할까?

2. 실시간 스트리밍 기술: 게임 화면을 영상처럼 압축해서 전송한다

클라우드 게임에서 가장 어려운 기술 중 하나는 게임 화면을 실시간으로 영상 데이터로 변환하는 것이다. 게임은 초당 수십 개에서 많게는 120개 이상의 화면을 연속적으로 만들어낸다. 예를 들어 60fps 게임이라면 1초에 60장의 새로운 화면을 만들어야 한다. 각 화면을 고해상도 원본 상태 그대로 인터넷으로 보내는 것은 데이터 용량이 지나치게 크기 때문에 현실적으로 불가능하다. 따라서 서버는 GPU가 만들어낸 화면을 영상 인코더를 통해 압축하고, 사용자의 기기는 받은 데이터를 즉시 디코딩하여 화면에 표시한다.

여기에서 중요한 개념이 ‘코덱’이다. H.264, HEVC(H.265), AV1 등은 영상 정보를 효율적으로 압축하기 위한 기술이다. 모든 프레임을 완전히 독립된 이미지로 보내는 대신 이전 프레임과 비교해 달라진 부분을 중심으로 데이터를 구성하기 때문에 전송량을 크게 줄일 수 있다. 하지만 일반적인 동영상 스트리밍과 클라우드 게임에는 결정적인 차이가 있다. 넷플릭스나 일반 동영상 서비스는 몇 초 또는 수십 초 정도의 데이터를 미리 저장해 두는 버퍼링을 활용할 수 있다. 인터넷 속도가 순간적으로 떨어져도 저장된 데이터를 재생하면 되기 때문이다. 반면 클라우드 게임은 사용자의 입력에 즉각 반응해야 하므로 긴 버퍼를 사용할 수 없다. 버퍼를 많이 확보하면 영상은 안정적으로 재생할 수 있지만 사용자가 버튼을 누른 시점과 화면에 결과가 나타나는 시점 사이의 시간이 길어지기 때문이다.

예를 들어 게임에서 사용자가 오른쪽으로 이동하기 위해 조이스틱을 움직였다고 하자. 이 입력이 서버로 전달되고 캐릭터의 위치가 계산된 다음 새로운 화면이 렌더링된다. 그 화면이 압축되어 다시 사용자의 스마트폰으로 전송되고 디코딩된 뒤 화면에 표시되어야 한다. 이 모든 과정이 수십~수백 밀리초 정도만 늦어져도 사용자는 조작이 둔하거나 답답하다고 느낄 수 있다. 특히 FPS, 레이싱, 격투 게임처럼 순간적인 반응이 중요한 장르에서는 작은 지연도 게임 플레이에 영향을 줄 수 있다. 따라서 클라우드 게임에서는 단순히 인터넷 속도가 빠른 것뿐만 아니라 영상 인코딩 속도, 네트워크 전송 지연, 디코딩 성능까지 모두 중요하다.

3. 네트워크 지연시간과 엣지 서버: 서버를 사용자 가까이에 배치하는 이유

클라우드 게임의 가장 큰 적은 ‘레이턴시’, 즉 지연시간이다. 사용자가 버튼을 누른 순간부터 서버가 그 명령을 받아 처리하고 결과 화면을 다시 사용자에게 전달하기까지 시간이 걸린다. 서버가 미국에 있고 사용자가 한국에 있다면 데이터가 장거리 네트워크를 이동해야 하므로 아무리 빠른 인터넷을 사용하더라도 물리적인 전송 시간이 발생한다. 인터넷 데이터는 전기나 광신호 형태로 이동하지만 빛의 속도가 무한대가 아니기 때문에 거리가 멀수록 지연이 증가할 수밖에 없다. 여기에 통신망의 라우터를 여러 차례 거치는 과정과 서버 처리 시간, 영상 인코딩·디코딩 시간이 추가된다.

이 문제를 해결하기 위해 클라우드 게임 서비스는 사용자의 위치와 가까운 데이터센터를 활용하는 방식을 중요하게 생각한다. 이를 ‘엣지 컴퓨팅’ 또는 콘텐츠 전송 인프라와 결합한 구조로 설명할 수 있다. 사용자가 서울에서 게임을 한다면 서울이나 수도권에 가까운 데이터센터에서 게임을 실행하도록 하는 것이다. 서버와 사용자의 물리적인 거리가 가까워지면 네트워크 왕복 시간이 줄어들 가능성이 커진다. 물론 실제 지연시간은 거리만으로 결정되는 것은 아니다. 인터넷 회선의 품질, 라우팅 경로, 서버 부하, Wi-Fi 환경, 통신사 네트워크 상태 등 다양한 요소가 함께 영향을 미친다.

실제 생활에서도 이러한 차이를 경험할 수 있다. 같은 집에서 같은 인터넷 회선을 사용하더라도 Wi-Fi 공유기와 멀리 떨어진 방에서 게임을 할 때 입력 반응이 불안정해질 수 있다. 특히 2.4GHz Wi-Fi는 주변 장치의 간섭을 받을 수 있고, 무선 환경에서는 순간적인 패킷 손실이나 지연 변동이 발생할 수 있다. 반면 유선 LAN을 사용하거나 안정적인 5GHz 또는 최신 Wi-Fi 환경을 이용하면 보다 일정한 연결 상태를 확보할 가능성이 높다. 여기서 중요한 것은 평균적인 지연시간뿐만 아니라 ‘지터(Jitter)’라고 불리는 지연시간의 변동이다. 평소 20ms 정도의 지연시간을 유지하다가 갑자기 100ms 이상으로 튀는 상황이 반복되면 평균값이 낮더라도 게임 화면이 순간적으로 끊기거나 조작이 늦게 반응하는 것처럼 느껴질 수 있다.

4. 클라우드 게임의 미래: AI와 네트워크 기술이 지연시간을 줄인다

클라우드 게임 기술은 단순히 게임을 인터넷으로 보내는 수준에서 점점 발전하고 있다. 앞으로 중요한 기술 가운데 하나는 인공지능을 활용한 영상 압축과 프레임 생성이다. 게임 서버에서 만들어지는 영상 데이터를 보다 효율적으로 압축하면 같은 화질을 유지하면서도 필요한 네트워크 대역폭을 줄일 수 있다. 반대로 같은 데이터 전송량으로 더 높은 해상도나 프레임률을 제공하는 것도 가능하다. 또한 AI 기반 업스케일링 기술을 활용하면 서버에서 비교적 낮은 해상도의 화면을 전송한 뒤 사용자 기기에서 더 높은 해상도로 보정하는 방식도 활용할 수 있다.

또 다른 중요한 기술은 프레임 생성과 예측이다. 서버와 클라이언트가 사용자의 입력 패턴이나 화면 변화를 분석해 다음에 나타날 가능성이 높은 화면을 미리 예측한다면 체감 지연을 줄이는 데 도움을 줄 수 있다. 물론 예측이 틀리면 화면이 부자연스럽게 보일 수 있기 때문에 정확도와 안정성이 중요하다. 네트워크 자체도 계속 발전하고 있다. 광대역 인터넷, 5G, Wi-Fi 6·7 같은 기술은 더 높은 전송속도뿐 아니라 네트워크 지연과 연결 안정성을 개선하는 방향으로 발전하고 있다.

클라우드 게임의 가장 큰 장점은 고성능 게임을 실행하기 위해 반드시 비싼 게이밍 PC나 콘솔을 직접 구매하지 않아도 된다는 점이다. 반대로 단점도 분명하다. 인터넷 연결이 불안정하면 화면이 깨지거나 입력이 늦어질 수 있으며, 높은 화질과 프레임률을 사용하면 상당한 데이터가 필요할 수 있다. 또한 서버가 아무리 강력해도 사용자의 입력이 서버까지 갔다가 다시 화면으로 돌아오는 과정 자체를 완전히 없앨 수는 없다. 결국 클라우드 게임은 ‘멀리 있는 컴퓨터를 인터넷으로 조종하는 기술’이라고 단순하게 표현할 수도 있지만, 실제로는 고성능 GPU, 실시간 영상 인코딩, 초저지연 네트워크, 데이터센터, 스트리밍 코덱, 클라이언트 디코딩 기술이 동시에 작동해야 가능한 복합적인 시스템이다. 앞으로 네트워크와 반도체, AI 기술이 발전할수록 서버와 사용자의 거리를 체감하기 어려울 정도로 반응성이 개선될 가능성이 있으며, 게임을 실행하는 장소가 개인의 PC에서 거대한 데이터센터로 이동하는 흐름은 더욱 확대될 것으로 예상된다.