티스토리 뷰

Cocos2d-x에는 lua와 js 스크립트를 바인딩해서 게임을 개발할 수 있다. js는 내가 경험이 없어서 말을 못하는데 lua binding 같은 경우에는 현업에서도 많이 쓰이는 방법 중 하나이다. 왜냐하면 C++로 개발할 때에 비해 생산성이 굉장히 향상되기 때문이다. 물론 숙련되지 못한 코딩을 하다가는 C++로 개발할 때보다 훨씬 힘들어질 수도 있지만. 디버거와 인텔리센스 기능의 부재 때문이랄까. (C++와 Lua 중 어떤 것으로 개발하는 것이 더 낫다고는 하지 않겠다. 장단이 있으니까 알아서 선택해야 한다.)


꽤 옛날 일이긴 하지만 11월 11일, 즉 빼빼로데이를 맞이하여 혼자서 게임잼을 했었다. 일명 '빼빼로 부수기' 게임인데, 말 그대로 아주 심플한 게임이다. 화면 중앙에 나타나는 빼빼로를 연타하면 빼빼로가 파괴되고, 1분동안 최대한 많은 빼빼로를 부수는 것이 게임의 목적이다. 혼자서 5~6시간 정도 걸려서 만들었는데 꽤 재밌게 게임잼을 했었다. 문제는 디자인을 내가 했다는 것인데, 그래서 외관적인 부분은 그냥 그러려니 하는게 정신건강에 이롭다.... 솔로의 애환이 담겨있는 게임이라는 점만 기억해줬으면 좋겠다. (왜 눈에서 땀이 나지...?)


소스는 비트버킷에 올려놨다. (https://bitbucket.org/growingdever/breakbbabbaro-with-cocos2dx) 내가 개삽질한 커밋 로그들이 다 올라가있으니까 체크아웃 해가면서 소스가 변경되는 것에 따라 실제 게임이 어떻게 달라지를 보면 다른 사람들의 cocos2d-x lua binding 학습에 도움이 되지 않을까 한다. 



짧게나마 게임잼을 하면서 느낀 점은 이렇다. 일단 나는 짧게 프로토타이핑 할 목적이 우선일 경우 다음에도 lua binding을 선택할 것이다. mac 프로젝트로는 lua binding 프로젝트가 없다는 것이 단점이긴 하지만 iOS에 올려서 할 수 있으니 그나마 괜찮다. C++에 비해 확실한 장점은 컴파일이 없다는 것이다. 그래서 자잘한 수치 변경을 할 때 부담이 훨씬 덜하다. 즉, 시간이 덜 걸린다. 다만 버그가 터질 때는 정말 눈물나게 슬퍼지기도 한다. 왜냐하면 디버거가 없거든. 다행히 에러가 나면 스택 트레이스 정도는 해줘서 고치는게 말도 안되게 힘들진 않다. 일단 짧은 시간 개발을 할 때 생산성이 훨씬 우월하다는 점에서 프로토타이핑용으로는 합격이다. 


tolua를 이용해서 C++ 사이드에 내가 만들어놓은 커스텀 클래스를 lua에서 사용할 수 있도록 할 수도 있다. 그렇게 어렵지 않기도 하고. 하여튼 여러모로 애용할만한 녀석임은 틀림 없는 듯 하다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday