요즘 게임 관련 게시판을 돌아다니다 보면 몇몇 호사가? 신기술 매니아? 들이 게임과 클라우드 컴퓨팅의 접목에 대하여 이야기 하는 것을 보게 됩니다. 이런 글들을 볼 때면, 확실히 미래 기술을 보는 쪽과 현업 사이의 간극이 크다는 것을 느끼게 됩니다.
특정 게임을 예로 들어서 좀 그렇지만, 테라가 기술적으로 대단한 점은 MMORPG에서 3D 공간에 대한 서버 사이드 시뮬레이션을 하기 때문입니다. 뭐 다른 MMO들도 일부 하고 있겠지만, 테라와 같이 논타겟팅 액션 MMORPG를 지향한다면 서버에서 실시간으로 거의 클라이언트에 가까운 3D 시뮬레이션을 돌려야 합니다. 현재의 CPU 파워로는 못할 것도 없지만, 문제는 네트웍이죠.
제 경우엔 테라를 플레이 해보진 않았지만, 현재의 네트웍 대역폭의 한계를 감안하면 우리가 일반적으로 생각하는 정말 액션 다운 액션을 플레이 하기엔 무리가 따를 것이라는 예상은 가능합니다. 정교한 시뮬레이션을 하려면 필연적으로 많은 정보가 필요합니다. 서버가 아무리 좋은 반응성을 갖더라도 해당 정보가 클라이언트에 제때에 도착할 수 있느냐 하는 건 별개의 문제고, 결국 현재의 인터넷 방식의 대역폭이나 속도의 한계상 제대로 된 액션이 나온다는 건 상상하기 어렵습니다. 실제로 플레이어들은 테라의 움직임이 어정쩡하다는 반응인데, 어정쩡하다는 건 어쨌든 돌아는 간다는 소리니까 개발자로서는 그 정도만 해도 대단한 거라고 말하고 싶습니다. 물론 사업부나 마케팅에서는 쟤들 왜 저거밖에 못하냐고 생각할지도 모르지만요. -_-
마찬가지로 현재의 fat client가 나온 배경을 생각해보면, 게임은 클라우드 컴퓨팅에는 적합하지 않다고 생각이 듭니다. 아무리 latency를 줄여도 실시간으로 로컬에서 도는 것만큼 빠르게는 안되죠. 현재 기술로 국내 네트웍 환경에서 서비스를 하기엔 15fps도 무리라고 보지만(네트웍 대역폭에 사용자마다의 격차가 심해서, 대부분의 사용자에게 안정적인 프레임 레이트를 제공하기엔 15fps도 어려울 것 같습니다), 글로벌 서비스를 감안하여 전세계 네트웍이 물리적으로 빨라지는 속도를 생각해보면 클라우드 컴퓨팅을 게임에 도입하는 건 수년 간 잊고 있는 게 정답이라고 봅니다. 여기서 간극이 생기죠. 향후의 흐름을 보는 사람들은 수년 후에 클라우드 컴퓨팅이 가능하니까 지금부터 방향을 모색해야 한다고 보고, 현업에서는 수년 후에 될까 말까 한 기술을 지금 개발하는 게임에 도입할 이유가 없습니다.