넥슨에서 개발 중인 <파이널판타지11 리부트>(가칭)의 모습이 NDC 16에서 처음으로 공개됐다. 언리얼엔진4와 웹서버를 이용한 모바일 실시간 MMORPG로 개발 중이다.
넥슨은 지난 2015년부터 <파이널판타지 11>의 모바일버전 개발을 시작했다. <파이널판타지11>은 <파이널판타지>시리즈 최초의 MMORPG다. 이를 모바일게임으로 옮기는 게 넥슨의 과제였다.
넥슨의 FF팀에서 역시 <파이널판타지11 리부트>를 모바일 MMORPG로 개발하기로 결정했다. 그리고 엔진으로는 언리얼엔진4를 택했다.
문제는 모바일환경이었다. 모바일은 PC와 달리 네트워크가 언제나 끊어질 수 있다. 그래서 많은 개발사들이 세션의 구분이 없는 웹서버(HTTP서버)를 많이 활용한다. 사용자가 특정행동을 했을 때만 데이터를 보내고 불러오는 방식의 서버다.
하지만 웹서버로 만든 모바일게임은 필드에서 다른 유저의 움직임을 실시간으로 보여줄 수 없다는 문제가 있었다. 그래서 FF팀은 웹서버와 일반적인 PC서버(TCP서버) 두 개의 서버를 동시에 활용하기로 결정했다.
예를 들어 파티원이나 아이템, 스킬 설정 등 실시간으로 다른 유저를 보여줄 게 아닌 부분은 웹서버로, 실시간으로 다른 유저를 보는 필드 등의 콘텐츠는 PC서버로 처리하는 방식이다.
다만 이 경우 웹서버와 PC서버에 유저의 데이터가 따로 존재한다는 문제가 생긴다. 그래서 일종의 메모리 저장방식인 Redis를 이용해서 유저 데이터를 아예 서버에서 따로 빼내서 별도로 관리했다. 모든 유저 정보는 Redis에 담겨있고, 서버는 이 정보를 빼서 사용만 하는 방식인 셈이다.
그러다 보니 오히려 접속이 끊겼다가 이어질 때마다 서버가 유저의 데이터를 다시 불러오는 일이 줄어들었고, 기획자는 서버에서 일어난 모든 일들을 웹브라우저를 통해 Redis를 보는 것만으로 알 수 있다는 편의성도 생겨났다.
넥슨 FF팀의 김익중 프로그래머는 “모바일 MMORPG를 만들겠다고 생각할 때부터 어느 한 쪽 서버로는 안 될 것이라 판단했다”며 “각 서버별로 다양한 언어를 써야 한다는 불편함이 있지만 일단 구축을 하고 나면 그 만큼의 확실한 장점이 있다”고 밝혔다.
아래는 강연을 통해 공개된 <파이널판타지11 리부트>(가칭)의 일부 이미지샷이다. 스크린샷과 달리 게임을 대략적인 모습이나 구성 등을 파악하기 위한 모습으로 향후 달라질 수 있으니 주의하자.