개발언어를 공부할 때 가장 좋은 방법은 게임을 만들어보는 것입니다. 게임은 그나마 비지니스 지향의 모델보다는 현실적인 객체지향을 공부할 수 있는 환경을 경험할 수 있다고 합니다. 그래서 올 한해 해온 일을 정리하는 느낌으로 간단한 웹게임을 구현해보고 있습니다.
웹게임에 대해서는 지속적으로 관심이 많았습니다. 웹은 비록 문서로 출발하였으나 플랫폼의 역할로 자리 잡은 지 오래되었습니다. 그럼에도 아직 걸출한 순수 웹기반 게임은 나오지 않았죠. 유료화의 모델이나 소스가 노출되는 경우의 문제점도 많았습니다만 실질적으로는 front-end 개발에 대해 전문가가 없었던 시장 상황이 가장 큰 영향이었던 것 같습니다. 최근 jQuery 등 다양한 javascript framework이 나와 쉽게 ajax와 연동하여 말 그대로 상호작용하는 웹을 구축하는데 이전에 비해 상당히 간편해진 편입니다. 오픈소스로 돌아다니던 수많은 웹게임은 request-response 의 한계를 극복하기 힘들어 내재된 iframe으로 계속 새로고침 한다거나 사용자 스스로가 F5를 연타함으로 실시간의 데이터를 불러오기 위해 고생 아닌 고생을 했었던 것에 비하면 엄청난 UX 증대라고 볼 수 있겠죠. 게다가 long-lived의 connection이 요구되었는데 때마침 node.js와 같은 다양한 도구들이 나타나기 시작했습니다. 지금까지의 웹게임은 대부분 플래시, activeX, 실버라이트와 같은 서드파티의 지원이 없어서는 안될 상황이었지만 이제는 웹 자체만으로도 충분히 가능한 상황이 되었습니다.
특히 그래픽이 화려하고 장시간을 투자한 헤비 유저와 하루에 십 여분 즐기는 라이트 유저 중 후자에게 웹게임은 충분히 메리트가 있었습니다. 게다가 웹게임은 일반 게임들에 비해 고사양을 요구하는 것도 아니며 브라우저만 있으면 장소와 운영체제(모바일까지도) 구분 없이 접속해 즐길 수 있다는게 최근 시장에 반영되어 웹게임 벤더도 많이 늘었고 대형 포털에서도 그에 맞는 웹게임들을 제공하기 시작했습니다. 소셜게임이라는 형태로 SNS와 연계되어 공간과 상관 없이 함께 즐길 수 있어 이와 같은 부분도 흡인요인으로 작용했습니다. facebook이나 싸이월드 등에서 즐기는 게임들이 다 이런 형태죠.
여튼 서문이 길어졌는데 제가 만들고 있는 아주 단순한 수준의 (서문에 비해 보잘것 없는;) 웹게임입니다. zynga에서 facebook을 통해 제공하는 farmvile이란 서비스를 모델로, 농장에 나무를 심는 그런 내용의 게임인데요. 틀을 만들어가다보니 나름 서비스의 방향성을 생각하게 되어 그냥 연습 이상에 뭔가(?)가 만들어질 것 같다는 생각에… 물론 뚜껑은 열어봐야 알겠지만요;
웹게임을 개발하면서 이것저것 검색도 해보니 게임코디라는 대형 커뮤니티도 있고(물론 웹게임에 관한 이야기는 거의 전무하죠..) 게임프로그래밍은 독자적인 영역으로서 인정받고 굳건하게 존재한다는 사실도 알게 되었습니다. 그리고 웹게임이 실제로 서비스가 된다면 그에 따라 게임물등급위원회의 심사도 받아야 하는데 이게 또 악명(?)이 높은가 봅니다.
일단 개발 자체에 대해서 몇자 적어보자면
- 개발은 php(codeigniter), mysql
- 모바일에서도 쉽게 즐길 수 있도록 가볍게 제작
- ux를 높이기 위한 js(jQuery) 사용
- 실 서비스를 염두함
- 앱으로 컨버팅 고려 (최소한 웹뷰 고려)
- 데이터는 json으로
- 기존의 소셜게임과는 조금 다른 접근으로