[ ▲ 블루홀 스튜디오
한승환 서버 프로그램 팀장 ]
온라인 게임을 사랑하는 게이머라면 '심리스'라는 단어를 한 번쯤 들어 보았을 것이다. 지역 간 로딩을 없애주고 눈에 보이는 곳이라면 유저가 대부분 가볼 수 있도록 제작하는 방식이기에, 높은 몰입도가 장점인 제작 방식이다.

하지만, 이러한 심리스 월드 구현이 말처럼 쉬운 것은 결코 아니다. 자유도가 높아짐에 따라 그에 따른 계산도 많아지게 되고, 이는 서버 리소스 관리에도 막대한 영향을 끼치기 때문. 그렇기에 메이저 개발사에서 개발하는 대규모 프로젝트가 아닌 이상, 이런 심리스 방식 온라인 게임을 찾아보기 어려운 것도 사실이다.

게임테크2013 둘째 날 오후 강연을 담당한 한승환 팀장은 블루홀 스튜디오의 '테라'가 개발 과정에서 부딪힌 난제와 이를 어떻게 해결하였는지를 설명했다. '테라'의 경우, 심리스 기반일 뿐 아니라 논타겟팅 액션을 선보이는 작품이었기에 기존 MMORPG와는 다른 서버 알고리즘이 필요했다고 말했다.

그는 테라 월드를 구현하기 위해 가장 고민했던 부분이 게임 내 방대한 정보를 모두 전송하는게 불가능하다는 사실이었다고 전했다. 이 부분을 해결하기 위해 유저의 위치를 기반하여 필요 정보를 지속적으로 변경하는 에어리어 방식을 채택했다고. 또, 대부분 게임들과 마찬가지로 테라 역시 멀티쓰레드 형식을 채택, 공유자원문제가 발생했지만, 이는 유저간 중첩 에어리어가 거리가 떨어져 소멸하게 될 시, 관련 정보도 제거되도록 개발해 연산 압박을 덜어낼 수 있었다.

논타겟팅에서 오는 막대한 연산량도 서버 개발의 발목을 잡았다. 또, 한 지역에 유저가 몰리면 NPC보다 유저가 많은 상황이 발생, 게임플레이가 어려워지는 문제도 안을 수 밖에 없었다. 이를 어떻게 해결했을까.

그는 "유저가 한 체널에 몰리게 되면, 서버는 채널을 하나 더 만든다. 이렇게 되면 유저가 다른 채널에서 플레이하게 된다"고 말했다. 이는 채널링 대륙일 경우에만 적용되며, 신규 업데이트 지역은 유저가 많이 몰리기 마련이기에 이 방법을 채택해 보다 원활한 플레이를 가능하도록 돕는다고 전했다.

'테라'에는 타 서버와 동시에 플레이 가능한 대륙이 존재한다. 바로 지난 업데이트 때 등장한 '포화의 전장'이 그것. 그는 다섯 개의 서버에 있는 유저들이 모두 몰리는 것을 대비하기 위해 특정 대륙에 대응하는 N개의 서버를 개발 중에 있다는 사실을 알렸다.

한 팀장은 "심리스 월드는 반드시 이렇게 구현하라는 정의는 없다. 지금까지 설명한 것 역시 정답이라기보다는 테라스러운 서버 구조 구축 노하우를 전한 것이라고 생각했으면 좋겠다"고 전하며 강연을 마무리했다.

■ 강연 PT 사진