2009년 10월 29일
게임기획자의 LUA 공부에 대한 조언
월드 오브 워크래프트에서 루아를 이용해서 UI 를 자유롭게 개방한 것이 계기가 되어 이제는 국내 온라인 게임도 상당수가 루아를 사용하고 있다. 아직 공개되지 않은 개발 프로젝트까지 감안한다면, 스크립트 언어를 비중있게 사용하는 대부분의 게임이 루아를 쓴다고 해도 과언이 아닐 것 같다.
사정이 이런지라, 게임기획 지망생은 물론 초급 현역 기획자들 사이에서 루아는 이제 선택이 아닌 필수가 되어가고 있는 분위기다. 지금 당장 기획자 채용 공고만 봐도 '루아 스크립트 활용 가능자 우대' 항목이 빠진 곳이 드물 정도다.
그렇다면 루아를 어떻게 공부해야 할까?
현재 우리나라에서 한국어로 출간된 루아 서적은 총 3권이다. 그 중 두 권은 외국 서적의 번역판이고 작년 가을에 출간된 한 권은 국내 저자가 집필한 것이다.
그러나 세 권의 공통적인 문제점은 프로그래밍의 기초지식이라도 가지고 있지 않으면 읽어도 제대로 이해하기가 어렵다는 것이다. 특히 흰색 표지와 노란 달 그림으로 유명한 인사이트 출판사의 <프로그래밍 루아>라는 책은 어지간한 프로그래밍적 지식을 거의 설명하지 않고 '이미 다 알고 있을 것'으로 간주하고 오로지 루아에 대해서만 설명하는 식이다. 그래서 굳이 세 권의 난이도를 따지자면 이 책이가장 어렵다. (물론 이 평가는 어디까지나 프로그래밍 지식이 없거나 낮은 수준에서 볼 때 그렇다는 뜻이다) 그러니까 여러분이 프로그래머가 아니라면 이 책은 그냥 보지 않는 것이 정신건강에 좋다. 여러분이 만약 프로그래밍 언어를 전혀 모르는 상태에서 이 책을 가지고 독학해서 루아를 이해했다면, 다른 무슨 일을 해도 성공할 것이다.
그다음, 가장 먼저 출간된 루아 서적인 싸이텍미디어의 <루아를 이용한 민첩하고 효과적인 게임개발>은 다른 책에 비해서 설명이 친절하기는 하지만, 프로그래밍에 대한 기초가 없다면 역시나 이해하기 어렵다. 적어도 변수, 연산자, 함수, 제어문이 뭔지는 알고 봐야 그나마 볼만하다. 그정도 수준에서 루아를 깊이 있게 공부하고 싶다면, 즉 루아 스크립트만으로 코딩된 독립적인 프로그램이나 간단한 게임 정도를 구현하고 싶다면 이 책이 적합하지만, 그 외에는 추천하지 않는다.
마지막으로, 유일한 국내 저자의 책인 한빛미디어의 <예제로 배우는 프로그래밍 루아>라는 책은, 책의 후반부에 WoW의 애드온을 만드는 예제 때문에 많은 지망생들이 낚여서 구입하기도 했지만, 어디까지나 예제가 재미있는 것이지 루아에 대한 설명이 충실하거나 재미있지는 않다. 오히려 처음 스크립트 언어를 배우는 사람들이 꼭 알아야 할 기초 지식에 대해서는 설명이 전혀 없는 것이나 마찬가지다. 그래서, 프로그래밍 지식이 어느 정도 갖춰진 사람이 게임에서 루아를 어떻게 활용하는지 빨리 알고 싶을 때 보기에는 적합하지만, 프로그래밍 지식이 없는 사람이 이 책으로 루아를 공부하겠다고 하면 말리고 싶다. 이 책은 루아를 어느 정도 공부해본 사람이 실전적으로 연습을 할 때에 적합하다.
즉, 결론은 프로그래밍의 기초 소양이 없는 사람이라면 위 세 종류의 책 가운데 어떤 것을 보던 간에 루아를 공부하기가 쉽지 않다는 것이다. 그러면 도대체 게임기획자는 어떻게 루아를 공부해야 할까?
게임개발 실무에서 기획자가 사용하는 루아의 수준은 대단히 높진 않다. 내가 PD를 맡고 있는 MMORPG도 루아를 쓰긴 하지만, 기껏해야 변수, If then else 제어문, 사용자 정의 함수. 이렇게 세 가지 개념만 알면 일주일 안에 다 배운다. 여기서 더 써봐야 for 반복문 정도다. 물론 루아를 좀 더 폭넓고 깊이 있게 활용하는 게임이라면 좀 더 복잡한 개념을 알아야 하겠지만, 신입 기획자가 저정도만 이해해도 어디서든 환영받는다. 이건 내 개인적인 생각이지만, 신입이 이정도 알고 입사하면 그 다음은 사수의 몫이라고 본다. 물론 몇 년 지나면 사정이 달라질지 모르지만...
자 그러면 루아를 이해하기 위해서 저 세가지를 어떻게 공부해야 할까? 다시 말하지만 시중에 나와있는 루아 책 가지고 아무리 독학해봐야 애초에 설명 자체가 친절하지도, 자세하지도 않기 때문에 루아책은 그냥 덮어두는 것이 좋다. 저 책들 가지고 독학이 가능하다면 이 글을 무시해라. 그런 사람이라면 분명 이미 다른 프로그래밍 언어를 공부한 적이 있는 사람일테니...
내가 추천하는 방법은 루아책을 덮고 엑셀 VBA를 공부하는 것이다. 루아책은 달랑 3권 뿐이고 설명도 부족하지만, 엑셀 VBA책은 시중에 넘치고 넘쳐서 대형서점에 가보면 대략 수십권은 족히 된다. 게다가 설명도 매우 친절하고 자세한 편이다 (적어도 루아책과 비교하면...)
그러면, 액셀 VBA를 공부하는 것이 루아를 이해하는데 어떤 도움이 될까? 일단 앞서 내가 언급한 세 가지 중요한 개념, 변수, If then else 제어문, 사용자 정의 함수의 개념들이 VBA에서도 다 똑같이 쓰인다. 물론 다른 프로그래밍 언어를 공부해도 다 나오겠지만, 그것을 공부하는 것보다는 VBA를 배우는 것이 훨신 빠르고 쉽다. 게다가 게임기획자로서 좋은 테크트리를 타고 싶다면 루아 때문이 아니더라도 액셀 VBA는 배워두는 편이 좋다.
여러분이 엑셀 VBA를 이용해서 간단한 DB테이블 관리툴 정도만 만들 줄 알아도 루아를 이해하는데 상당히 큰 도움이 될 것이다. VBA를 공부해놓은 것 그 자체만으로도 엄청난 경쟁력이 된는 것은 물론 두 번 말할 필요도 없다.
시간이 이미 밤 12시를 넘어선 관계로, VBA를 공부하는 요령에 대해서는 추후 별도의 포스팅을 통해서 자세히 이야기할까 한다.

사정이 이런지라, 게임기획 지망생은 물론 초급 현역 기획자들 사이에서 루아는 이제 선택이 아닌 필수가 되어가고 있는 분위기다. 지금 당장 기획자 채용 공고만 봐도 '루아 스크립트 활용 가능자 우대' 항목이 빠진 곳이 드물 정도다.
그렇다면 루아를 어떻게 공부해야 할까?
현재 우리나라에서 한국어로 출간된 루아 서적은 총 3권이다. 그 중 두 권은 외국 서적의 번역판이고 작년 가을에 출간된 한 권은 국내 저자가 집필한 것이다.
그러나 세 권의 공통적인 문제점은 프로그래밍의 기초지식이라도 가지고 있지 않으면 읽어도 제대로 이해하기가 어렵다는 것이다. 특히 흰색 표지와 노란 달 그림으로 유명한 인사이트 출판사의 <프로그래밍 루아>라는 책은 어지간한 프로그래밍적 지식을 거의 설명하지 않고 '이미 다 알고 있을 것'으로 간주하고 오로지 루아에 대해서만 설명하는 식이다. 그래서 굳이 세 권의 난이도를 따지자면 이 책이가장 어렵다. (물론 이 평가는 어디까지나 프로그래밍 지식이 없거나 낮은 수준에서 볼 때 그렇다는 뜻이다) 그러니까 여러분이 프로그래머가 아니라면 이 책은 그냥 보지 않는 것이 정신건강에 좋다. 여러분이 만약 프로그래밍 언어를 전혀 모르는 상태에서 이 책을 가지고 독학해서 루아를 이해했다면, 다른 무슨 일을 해도 성공할 것이다.
그다음, 가장 먼저 출간된 루아 서적인 싸이텍미디어의 <루아를 이용한 민첩하고 효과적인 게임개발>은 다른 책에 비해서 설명이 친절하기는 하지만, 프로그래밍에 대한 기초가 없다면 역시나 이해하기 어렵다. 적어도 변수, 연산자, 함수, 제어문이 뭔지는 알고 봐야 그나마 볼만하다. 그정도 수준에서 루아를 깊이 있게 공부하고 싶다면, 즉 루아 스크립트만으로 코딩된 독립적인 프로그램이나 간단한 게임 정도를 구현하고 싶다면 이 책이 적합하지만, 그 외에는 추천하지 않는다.
마지막으로, 유일한 국내 저자의 책인 한빛미디어의 <예제로 배우는 프로그래밍 루아>라는 책은, 책의 후반부에 WoW의 애드온을 만드는 예제 때문에 많은 지망생들이 낚여서 구입하기도 했지만, 어디까지나 예제가 재미있는 것이지 루아에 대한 설명이 충실하거나 재미있지는 않다. 오히려 처음 스크립트 언어를 배우는 사람들이 꼭 알아야 할 기초 지식에 대해서는 설명이 전혀 없는 것이나 마찬가지다. 그래서, 프로그래밍 지식이 어느 정도 갖춰진 사람이 게임에서 루아를 어떻게 활용하는지 빨리 알고 싶을 때 보기에는 적합하지만, 프로그래밍 지식이 없는 사람이 이 책으로 루아를 공부하겠다고 하면 말리고 싶다. 이 책은 루아를 어느 정도 공부해본 사람이 실전적으로 연습을 할 때에 적합하다.
즉, 결론은 프로그래밍의 기초 소양이 없는 사람이라면 위 세 종류의 책 가운데 어떤 것을 보던 간에 루아를 공부하기가 쉽지 않다는 것이다. 그러면 도대체 게임기획자는 어떻게 루아를 공부해야 할까?
게임개발 실무에서 기획자가 사용하는 루아의 수준은 대단히 높진 않다. 내가 PD를 맡고 있는 MMORPG도 루아를 쓰긴 하지만, 기껏해야 변수, If then else 제어문, 사용자 정의 함수. 이렇게 세 가지 개념만 알면 일주일 안에 다 배운다. 여기서 더 써봐야 for 반복문 정도다. 물론 루아를 좀 더 폭넓고 깊이 있게 활용하는 게임이라면 좀 더 복잡한 개념을 알아야 하겠지만, 신입 기획자가 저정도만 이해해도 어디서든 환영받는다. 이건 내 개인적인 생각이지만, 신입이 이정도 알고 입사하면 그 다음은 사수의 몫이라고 본다. 물론 몇 년 지나면 사정이 달라질지 모르지만...
자 그러면 루아를 이해하기 위해서 저 세가지를 어떻게 공부해야 할까? 다시 말하지만 시중에 나와있는 루아 책 가지고 아무리 독학해봐야 애초에 설명 자체가 친절하지도, 자세하지도 않기 때문에 루아책은 그냥 덮어두는 것이 좋다. 저 책들 가지고 독학이 가능하다면 이 글을 무시해라. 그런 사람이라면 분명 이미 다른 프로그래밍 언어를 공부한 적이 있는 사람일테니...
내가 추천하는 방법은 루아책을 덮고 엑셀 VBA를 공부하는 것이다. 루아책은 달랑 3권 뿐이고 설명도 부족하지만, 엑셀 VBA책은 시중에 넘치고 넘쳐서 대형서점에 가보면 대략 수십권은 족히 된다. 게다가 설명도 매우 친절하고 자세한 편이다 (적어도 루아책과 비교하면...)
그러면, 액셀 VBA를 공부하는 것이 루아를 이해하는데 어떤 도움이 될까? 일단 앞서 내가 언급한 세 가지 중요한 개념, 변수, If then else 제어문, 사용자 정의 함수의 개념들이 VBA에서도 다 똑같이 쓰인다. 물론 다른 프로그래밍 언어를 공부해도 다 나오겠지만, 그것을 공부하는 것보다는 VBA를 배우는 것이 훨신 빠르고 쉽다. 게다가 게임기획자로서 좋은 테크트리를 타고 싶다면 루아 때문이 아니더라도 액셀 VBA는 배워두는 편이 좋다.
여러분이 엑셀 VBA를 이용해서 간단한 DB테이블 관리툴 정도만 만들 줄 알아도 루아를 이해하는데 상당히 큰 도움이 될 것이다. VBA를 공부해놓은 것 그 자체만으로도 엄청난 경쟁력이 된는 것은 물론 두 번 말할 필요도 없다.
시간이 이미 밤 12시를 넘어선 관계로, VBA를 공부하는 요령에 대해서는 추후 별도의 포스팅을 통해서 자세히 이야기할까 한다.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- Programming in Lua by 1ststory
- Automatic Lua Binding System by kimsama
- 게임기획자가 되는데 도움이 될만한 몇 가지 by storm
- FNT-843 Lua강의를 듣고 왔습니다. by Cailia
# by | 2009/10/29 00:03 | ▷ 초보기획자 가이드 | 트랙백 | 덧글(9)







☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
루아 공부좀 해볼까...
역시 루아 공부할려고 정작 책을 사놓고
엄두가 안난 이유가 괜한게 아니였네요;;
VBA를 배우고 난 다음으로 미루어도 되겠군요 ㅎㅎ;;
요즘 회사일이 바빠서 가보지도 못하고 있구나
다음주 중에 한번 보자
VBA처럼 개발과정을 눈으로 보면서 예측할 수 있다는게 루아보다 VBA가 재미있는 이유가 아닐까 생각합니다.
(거기다가 잔꾀를 부리는 만큼 반응하는 VBA다보니.. ㄷㄷㄷ)
그런연유로 링크신고합니다. -ㅅ-)>