게임기획자의 LUA 공부에 대한 조언 by storm

월드 오브 워크래프트에서 루아를 이용해서 UI 를 자유롭게 개방한 것이 계기가 되어 이제는 국내 온라인 게임도 상당수가 루아를 사용하고 있다. 아직 공개되지 않은 개발 프로젝트까지 감안한다면, 스크립트 언어를 비중있게 사용하는 대부분의 게임이 루아를 쓴다고 해도 과언이 아닐 것 같다.

사정이 이런지라, 게임기획 지망생은 물론 초급 현역 기획자들 사이에서 루아는 이제 선택이 아닌 필수가 되어가고 있는 분위기다. 지금 당장 기획자 채용 공고만 봐도 '루아 스크립트 활용 가능자 우대' 항목이 빠진 곳이 드물 정도다.

그렇다면 루아를 어떻게 공부해야 할까?

현재 우리나라에서 한국어로 출간된 루아 서적은 총 3권이다. 그 중 두 권은 외국 서적의 번역판이고 작년 가을에 출간된 한 권은 국내 저자가 집필한 것이다.

그러나 세 권의 공통적인 문제점은 프로그래밍의 기초지식이라도 가지고 있지 않으면 읽어도 제대로 이해하기가 어렵다는 것이다. 특히 흰색 표지와 노란 달 그림으로 유명한 인사이트 출판사의 <프로그래밍 루아>라는 책은 어지간한 프로그래밍적 지식을 거의 설명하지 않고 '이미 다 알고 있을 것'으로 간주하고 오로지 루아에 대해서만 설명하는 식이다. 그래서 굳이 세 권의 난이도를 따지자면 이 책이가장 어렵다. (물론 이 평가는 어디까지나 프로그래밍 지식이 없거나 낮은 수준에서 볼 때 그렇다는 뜻이다) 그러니까 여러분이 프로그래머가 아니라면 이 책은 그냥 보지 않는 것이 정신건강에 좋다. 여러분이 만약 프로그래밍 언어를 전혀 모르는 상태에서 이 책을 가지고 독학해서 루아를 이해했다면, 다른 무슨 일을 해도 성공할 것이다.

그다음, 가장 먼저 출간된 루아 서적인 싸이텍미디어<루아를 이용한 민첩하고 효과적인 게임개발>은 다른 책에 비해서 설명이 친절하기는 하지만, 프로그래밍에 대한 기초가 없다면 역시나 이해하기 어렵다. 적어도 변수, 연산자, 함수, 제어문이 뭔지는 알고 봐야 그나마 볼만하다. 그정도 수준에서 루아를 깊이 있게 공부하고 싶다면, 즉 루아 스크립트만으로 코딩된 독립적인 프로그램이나 간단한 게임 정도를 구현하고 싶다면 이 책이 적합하지만, 그 외에는 추천하지 않는다.

마지막으로, 유일한 국내 저자의 책인 한빛미디어<예제로 배우는 프로그래밍 루아>라는 책은, 책의 후반부에 WoW의 애드온을 만드는 예제 때문에 많은 지망생들이 낚여서 구입하기도 했지만, 어디까지나 예제가 재미있는 것이지 루아에 대한 설명이 충실하거나 재미있지는 않다. 오히려 처음 스크립트 언어를 배우는 사람들이 꼭 알아야 할 기초 지식에 대해서는 설명이 전혀 없는 것이나 마찬가지다. 그래서, 프로그래밍 지식이 어느 정도 갖춰진 사람이 게임에서 루아를 어떻게 활용하는지 빨리 알고 싶을 때 보기에는 적합하지만, 프로그래밍 지식이 없는 사람이 이 책으로 루아를 공부하겠다고 하면 말리고 싶다. 이 책은 루아를 어느 정도 공부해본 사람이 실전적으로 연습을 할 때에 적합하다.

즉, 결론은 프로그래밍의 기초 소양이 없는 사람이라면 위 세 종류의 책 가운데 어떤 것을 보던 간에 루아를 공부하기가 쉽지 않다는 것이다. 그러면 도대체 게임기획자는 어떻게 루아를 공부해야 할까?

게임개발 실무에서 기획자가 사용하는 루아의 수준은 대단히 높진 않다. 내가 PD를 맡고 있는 MMORPG도 루아를 쓰긴 하지만, 기껏해야 변수, If then else 제어문, 사용자 정의 함수. 이렇게 세 가지 개념만 알면 일주일 안에 다 배운다. 여기서 더 써봐야 for 반복문 정도다. 물론 루아를 좀 더 폭넓고 깊이 있게 활용하는 게임이라면 좀 더 복잡한 개념을 알아야 하겠지만, 신입 기획자가 저정도만 이해해도 어디서든 환영받는다. 이건 내 개인적인 생각이지만, 신입이 이정도 알고 입사하면 그 다음은 사수의 몫이라고 본다. 물론 몇 년 지나면 사정이 달라질지 모르지만...

자 그러면 루아를 이해하기 위해서 저 세가지를 어떻게 공부해야 할까? 다시 말하지만 시중에 나와있는 루아 책 가지고 아무리 독학해봐야 애초에 설명 자체가 친절하지도, 자세하지도 않기 때문에 루아책은 그냥 덮어두는 것이 좋다. 저 책들 가지고 독학이 가능하다면 이 글을 무시해라. 그런 사람이라면 분명 이미 다른 프로그래밍 언어를 공부한 적이 있는 사람일테니...

내가 추천하는 방법은 루아책을 덮고 엑셀 VBA를 공부하는 것이다. 루아책은 달랑 3권 뿐이고 설명도 부족하지만, 엑셀 VBA책은 시중에 넘치고 넘쳐서 대형서점에 가보면 대략 수십권은 족히 된다. 게다가 설명도 매우 친절하고 자세한 편이다 (적어도 루아책과 비교하면...)

그러면, 액셀 VBA를 공부하는 것이 루아를 이해하는데 어떤 도움이 될까? 일단 앞서 내가 언급한 세 가지 중요한 개념, 변수, If then else 제어문, 사용자 정의 함수의 개념들이 VBA에서도 다 똑같이 쓰인다. 물론 다른 프로그래밍 언어를 공부해도 다 나오겠지만, 그것을 공부하는 것보다는 VBA를 배우는 것이 훨신 빠르고 쉽다. 게다가 게임기획자로서 좋은 테크트리를 타고 싶다면 루아 때문이 아니더라도 액셀 VBA는 배워두는 편이 좋다.

여러분이 엑셀 VBA를 이용해서 간단한 DB테이블 관리툴 정도만 만들 줄 알아도 루아를 이해하는데 상당히 큰 도움이 될 것이다. VBA를 공부해놓은 것 그 자체만으로도 엄청난 경쟁력이 된는 것은 물론 두 번 말할 필요도 없다.

시간이 이미 밤 12시를 넘어선 관계로, VBA를 공부하는 요령에 대해서는 추후 별도의 포스팅을 통해서 자세히 이야기할까 한다.


덧글

  • Realkai 2009/10/29 06:28 # 답글

    음... 그렇다는 이야기는 프로그래밍 관련 지식이 어느정도 충분하다면 루아에 익숙해지는것에는 전혀 무리가 없다는 이야기인건가요?

    루아 공부좀 해볼까...
  • 트리지콘 2009/10/29 08:14 # 삭제 답글

    배우고는 싶었지만 접근이 어려워서 엄두를 못내고 있었는데 좋은 정보 감사합니다 ^^ LUA 관련 서적이 아직 3권밖에 없다는건 의외였네요...
  • 레이딘 2009/10/29 10:00 # 답글

    실제로 LUA 스크립트의 문법 자체가 VBA와 상당히 비슷합니다. VBA를 알아두면 LUA 입문할 때 거의 반은 먹고 들어간다고 볼 수 있죠.
  • 원심무형류 2009/10/29 11:39 # 답글

    학교 다닐때 VBA를 해둬서 스크립트 이해하는데는 아무 문제가 없더군요 ㅎㅎ
  • 골치덩이 2009/10/31 13:19 # 삭제 답글

    (강건호입니다)

    역시 루아 공부할려고 정작 책을 사놓고
    엄두가 안난 이유가 괜한게 아니였네요;;

    VBA를 배우고 난 다음으로 미루어도 되겠군요 ㅎㅎ;;
  • storm 2009/11/01 00:12 # 답글

    건호야 공부 잘하고 있냐 ㅎㅎ
    요즘 회사일이 바빠서 가보지도 못하고 있구나
    다음주 중에 한번 보자
  • apiz 2009/11/02 02:45 # 삭제 답글

    감사합니다 !! 안그래도 요즘 루아에 대해서 고심중이였는데..(루아 서적을 두권이나 사놓고 쩔쩔 대고 있는 중...) 액셀 vba 부터 공부해 봐야겠군요!ㅎㅎ
  • STREETDJ 2009/11/06 06:22 # 답글

    사실 루아는 C문법에 가까운 느낌이라.. 따분함이 없지 않아 있지요..
    VBA처럼 개발과정을 눈으로 보면서 예측할 수 있다는게 루아보다 VBA가 재미있는 이유가 아닐까 생각합니다.

    (거기다가 잔꾀를 부리는 만큼 반응하는 VBA다보니.. ㄷㄷㄷ)

    그런연유로 링크신고합니다. -ㅅ-)>
  • storm 2009/11/06 09:29 # 답글

    STREETDJ// 예 VBA는 그런 장점이 있죠^^ 그래서 배우는 사람 입장에서도 더 재미있게 몰입하면서 빨리 실력을 올릴 수 있구요.
  • 네피 2009/11/25 11:49 # 삭제 답글

    와, 정말 좋은 글이네요. 네오플 공식블로그 <네오플로그>에서 더 많은 분들과 공유하고 싶은데요, 전문 수정 없이 스크랩이 가능할까요?원본출처링크 밝히고요. ^^ 블로그 정책이 어디있는지 잘 모르겠어서.;; 꼬옥 답변 부탁드립니다.
  • storm 2010/01/11 21:54 #

    음 깜빡 잊고 댓글을 이제야 다네요. 제 블로그의 글은 출처를 밝히면 얼마든지 퍼가실 수 있습니다^^
  • TREAT 2011/08/17 17:08 # 삭제 답글

    게임 기획자는 프로그래밍을 어느 수준까지 알아야 하나요?
  • storm 2011/08/17 18:12 #

    정답은 없습니다 ㅎㅎ
  • 세이지준 2011/09/01 16:14 # 삭제 답글

    어쩐지 따분하다 싶었더니만 그런 이유가 있었군요 OTL

    엑셀VBA 책이나 찾아볼까나 @.@
댓글 입력 영역



통계 위젯 (화이트)

3631
228
500259