GAME콘솔 게임기의 하위 호환

콘솔 게임기의 하위 호환


 아니 최신 게임기라면서 이렇게 옛날에 나온 게임도 못 돌리는 게 말이 돼?

by 사요



 

콘솔 게임기의 하위호환 개념을 이해하지 못하면 무지막지한 손해를 볼 수 있다. 

당신의 컴퓨터 운영체제가 윈도우 10이라고 가정해보자. 

어느 날 갑자기 마이크로소프트에서 새로운 윈도우를 공개한 다음 무서운 발표를 하는 거다.

“안타까운 소식을 하나 전합니다. 새로운 윈도우에선, 윈도우즈 10에서 돌아가던 모든 프로그램이 안 돌아갑니다!” 

인터넷 브라우저 프로그램, 아래한글이나 워드 같은 오피스는 물론이고, 스팀에서 다운받아 즐겁게 하고 있던 수많은 게임들까지 모두 안 돌아간다는 소리다! 

아마 전 세계에서 폭동이 일어날 거다. 

말도 안 되는 사태니까 폭동이 일어나도 이상할 게 없다. 

그런데 이런 황당한 시나리오가 얼마 전까지도 콘솔 게임기에선 당연한 이야기였다. 

믿을 수 없다고? 그래서 지금부터 하위 호환에 대해 이야기를 하려는 거다.


게임기에선 고전 게임이 안 돌아가는 이유를 알려면 일단 호환의 의미부터 생각해야 한다. 

‘하위 호환’은 아래쪽에 있는 뭔가를, 위쪽에서도 잘 돌릴 수 있는지 따지는 계층적 개념이라고 할 수 있겠다. 

여기서 ‘아래쪽에 있는 뭔가’는 옛날에 나온 과거 제품을, ‘위쪽’은 최신 제품이라고 생각해도 무방하다. 

간단히 예를 들자면, 세대별 PlayStation을 떠올리면 된다. “PlayStation 4로 PlayStation 3 게임 소프트웨어를 구동할 수 있는가?” 이 질문이 하위호환의 가능성을 묻는 아주 구체적인 질문이라고 할 수 있겠다. 

참고로 이 질문의 대답은 No. 그렇다. 

PlayStation 4에선 3는 물론이고 2, 1 시절에 나온 게임 CD를 넣어도 제대로 동작하지 않는다! 


당연히 PlayStation 4는 이전 게임기들에 비해 최신 기술이 쓰였을 것이니 머신 파워가 부족한 것은 아닐 텐데, 어째서 이런 일이 생기는 것일까?

 그 이유를 한마디로 설명하면, ‘게임기 안에 들어가는 부품이 달라져서’라고 할 수 있다. 

우리가 쓰는 컴퓨터는 그래픽카드나 CPU가 다르다고 해서 프로그램 실행에 직접적인 영향을 받진 않지만, 콘솔 게임기에선 실제로 그런 일이 종종 일어난다. 

콘솔 게임기는 컴퓨터와 달리 신제품이 나오는 주기가 비교적 긴 편이고, 그 사이에 하드웨어가 완전히 갈려버리는 경우가 많기 때문에 이런 호환성 문제가 나타나기 쉽다고 알려져 있다. 

극단적인 예로 게임 카트리지를 쓰던 제품에서 게임 CD를 쓰는 제품으로 게임기가 변하는 상황을 떠올려보자. 

신형 게임기에 일부러 카트리지를 따로 꼽을 장소를 넣어주지 않으면, 그 게임기로는 카트리지 게임을 할 수 없는 것이 당연한데, 이런 현상이 콘솔 게임기의 프로그램 내부에서 벌어지고 있는 거다. 

당연히 충돌이 일어날 것이다. 이게 바로 하위 호환이란 문제가 생겨나는 근본적인 원인이다.

게임기가 바뀌면 옛날 게임을 못 한다! 

사실 원리를 따지면 당연하기 그지없는 이 명제는, 하지만 수많은 게임기 제조회사들을 고민하게 만드는 문제이기도 했다. 

일단 소비자들은 그런 복잡한 문제에 관심이 없고, 내가 사두었던 많은 게임들이 쓰레기로 변하는 상황을 반기지 않으며, 회사 입장에서도 자기네 게임기가 가지고 있던 소중한 게임 생태계를 그냥 포기하긴 힘들 수밖에 없었다. 

그래서 콘솔 게임기 업계 3대장인 닌텐도, 소니, 마이크로소프트 모두 이 문제를 매우 진지하게 다뤄왔고, 제각각 비슷하면서도 조금씩 다른 해결책을 언제나 제시해왔다. 물론 PlayStation 4처럼 아무 해법도 제시하지 못한 케이스가 없진 않았지만, 이렇게 되면 게임기 메이커에 대한 비난과 판매량 폭락이 따라왔다. 

기업 입장에선 어떻게든 피하고 싶은 문제일 수밖에 없다.


그럼 이쯤에서 하위 호환 문제를 다시금 정리해보자. 

옛날 게임은 옛날 부품에서만 돌아가도록 만들어져 있는지라, 최신 부품을 쓴 게임기에선 돌아가지 않는다는 소리다. 

그렇다면 발상을 바꿔보자. 최신 게임기에도 옛날 게임기의 부품을 쓰면 문제가 해결되지 않을까? 

어찌 보면 단순무식하면서도 가장 명쾌하기 그지없는 이 해답이, 바로 닌텐도 게임기들이 대대로 하위호환 문제를 해결해온 방법이다. 

물론 CPU 같은걸 그대로 쓰면 최신 게임기가 이름만 최신이고 성능은 구닥다리인 사태가 벌어지기 때문에, 옛날 게임기의 CPU를 최신 게임기의 소리 제어 부품처럼 성능에 덜 영향이 가는 부품으로 돌려막기 했다고. 

덕분에 게임보이나 DS, 3DS 등은 항상 이전 세대의 게임을 돌릴 수 있었으며, 이 부분에 한해서만은 아무도 닌텐도를 욕하는 사람이 없었다. 

이 방식은 소니도 종종 써먹어와서, PlayStation 2, 3, 그리고 Vita도 이런 식의 내부 설계를 채용했다고 한다.

한편, 부품에 의존하지 않고 어떻게 프로그램을 잘 만들어서 옛날 걸 최신 기종으로 돌릴 수 있게 하면 되지 않을까? 

늘 이런 식의 고민도 한쪽에선 이어져 왔다. 이게 바로 ‘에뮬레이션’이라 불리는 기법인데, 사실 컴퓨터로 게임 좀 하던 사람들은 누구나 들어봤을 에뮬레이터가 바로 여기서 온 단어다. 

게임기 중에서는 Xbox가 이쪽 계통으로 하위 호환 문제를 해결하고 있는데, 마이크로소프트에서 만든 게임기 아니랄까봐 최초로 나온 Xbox의 게임도 지원하는 높은 호환성을 보여준다. 

다만 이건 게임 하나하나마다 에뮬레이션을 일일이 지원해줘야 하기 때문에, 가끔 그걸 빼먹어서 호환이 되지 않는 게임도 존재한다는 것이 단점이다. 

하지만 프로그램을 가지고 개입하기 때문에 오히려 성능 향상이나 화질 개선 등의 긍정적인 영향을 끼칠 수 있단 장점도 있는데, 새로 나올 Xbox Series X에서 과거 게임들의 4K 출력을 지원해주는 것이 바로 그런 예라고 할 수 있겠다.


이렇게 보면 하위 호환은 일부 예외를 빼고 잘 해결되어 가는 문제인 것 같지만, 사실 여기에는 단점이 하나 있다. 

한세대 이전의 하위 호환은 그렇다 쳐도, 그보다 이전으로 가거나 아예 시리즈가 망해버린 과거 게임기는 대부분 하위 호환 서비스 대상에서 배제되는 문제가 생긴다. 

예를 들어 PlayStation 5는 4와의 하위호환은 약속되어 있지만, 현재로선 3나 2 게임은 지원하지 않을 것이란 예상이 지배적이다. 

PC 게임은 DOSBox 등의 프로그램으로 얼마든지 옛날 게임을 지금도 즐길 수 있지만, 콘솔 게임기는 옛날 게임은 일단 하기 어렵다는 것이 기본 전제로 들어가는 셈이다. 

엄밀히 말해 “옛날 게임을 하고 싶으면 옛날 게임기도 같이 사야지”가 상식인 콘솔 시장이니만큼, 발매일자가 생각보다 옛날인 콘솔 게임을 하고 싶은 사람이라면 하위호환은 항상 주의해야 할 포인트라고 할 수 있겠다.

 

멀리 갈 것 없이 스마트폰의 새 OS가 나오면 심심치 않게 겪는 일이긴 하다.



사실 대부분의 메이저 콘솔 게임기는 별 문제가 없었다, 요놈만 빼고.


‘라떼는 말이야’를 시전하게 만드는 게임들


Switch에서도 일부 고전 게임을 지원하는 닌텐도가 이런 면에선 우등생이다.


2011년 나온 3DS는 2004년 나온 DS 게임을 이론상 전부 돌릴 수 있었다.


하위 호환 능력은 곧 새로 나올 Xbox 신작이 자랑하는 장점이기도 하다.


이런 작업을 해주는 사람들에게 항상 감사하는 마음을 가지도록 하자.