실시간 게임을 제외하면 Node.js를 이용해 대부분 게임의 백엔드를 만들 수 있습니다. 소셜게임, 스포츠, 레이싱 등 캐주얼한 게임에서는 충분히 Node.js를 써볼만 하다고 생각합니다
아이지에이웍스 백정상 팀장은 3일 '게임테크 2014' 컨퍼런스에 참석, '인사이드 Node.js'라는 제목으로 강연하며 Node.js는 레이턴시 구애를 받지 않고 처리 가능한 작업이 많은 소셜게임 백엔드 개발에 확실히적합하다고 소개했다.
그는 Node.js가 프론트엔드는 물론 백엔드에서 사용할 수 있고, 오픈소스이고, 개발자가 많아 에코 시스템이 활성화돼 있어 최근 많은 주목을 받고 있다고 설명했다.
Node.js는 최근 가장 인기 있는 언어 중 하나다. 프론트엔드 개발자들은 자바스크립트는 잘 알지만 자바나 다른 언어는 잘 모르는 경우가 많은데 Node.js는 자바스크립트로 백엔드까지 개발할 수 있게 됐기 때문이다.
또 단일 스레드 이벤트 루프를 통해 처리성능이 높은 것도 강점이다. 그는 Node.js는 스타벅스에서 커피 주문하는 것과 유사한 방식으로 처리한다며 단일 창구에서 주문만 받는 사람이 있어 커넥션단에서 로스나 기다림이 없다는 것이 특징이라고 설명했다. 실제 수행되는 시간은 더 늘어날 수 있지만 커넥션이 늘어난다고 해서 연결 자체가 불가능한 일은 최소화할수 있다.
그는 실제 Node.js를 사용해 소셜게임을 개발했던 경험을 소개했다. 소셜게임의 특성상 그가 중요하게 고려한 요소는 크게 세가지 였다. 모든 요청이 3초안에 처리돼야 하지만 굳이 실시간은 아니어도 된다. 그리고 전세계 서비스 해야하는 만큼 대용량 요청이 가능하게 확장성을 확보해야 한다는 것이다. 마지막으로는 보통 모바일 게임 개발에 주어지는 시간이 촉박하기 떄문에 오픈소스커미터든 다른 서드파티 개발든 활발한 에코시스템이 갖춰져 있어야 한다는 점이다.
관련기사
- [게임테크]모바일 게임시장, Reach3dx로 돌파하자2014.04.03
- [게임테크]"건실한 기업에서 스타트업 시작하기"2014.04.03
- [게임테크]김일호. "AWS로 글로벌 게임 쉽게 런칭"2014.04.03
- [게임테크]영웅의군단은 어떻게 성공했나2014.04.03
Node.js가 이 모든 점에 만족할 수 있었다고 한다. 그는 Node.js는 HTTP 프로토콜 기반 서버를 개발하면서 발전시켜 나온 것이기 때문에 소셜 게임에서 HTTP 프로토콜이 문제 없다고 생각했고 확장성도 괜찮았다. 또 에코시스템이 잘 갖춰져 검색만 하면 많은 코드들을 찾을 수 있어서 빠르게 개발할 수 있었다고 말했다.
그는 단 서버에서 많은 부분을 처리해야하는 RPG같은 게임에는 Node.js가 맞지 않다고 설명했다. 그는 이런 게임들은 CPU를 많이 사용하는데 Node.js에는 CPU 부하를 분산할 방법이 마땅하지 않다며 서버를 여러개 두는 방법 밖에 없는데 이는 모든 개발자들이 선호하지 않는다고 설명했다. RPG게임이라면 중요한 로직은 C++/C 또는 자바를 사용할 것 같고 DB에 정보를 얻어와서 처리하고 수정하는 건 Node.js를 쓸 것 같다고도 덧붙였다.