야매 개발실/GameOVEN & Lua

(번외)루아 공부하기

야매플머 2010. 2. 4. 21:52
반응형

(번외)루아 공부하기

안녕하세요. 최근 게임오븐 관련된 포스팅을 하다보니, 루아 스크립트에 대한 이야기도 잠깐 하고 넘어가야 할 것 같아서 잠시 걸쳐가봅니다. 아마 루아 스크립트라고 하는 것을 처음 들어보시는 분들도 많이 있지 않을까 생각이 듭니다. 보통 프로그래밍을 접한지 얼마 되지 않았거나 하신다면 생소하실 수 있겠군요 ^^ 생소하게는 느껴지지만 이 루아라는 언어가 최근 새로 개발된 그런 언어는 아닙니다.(비교적 최근이라고는 할 수 있겠네요 ^^;) http://www.lua.org/ 루아의 홈페이지에 가보면 루아에 대한 소개가 나와 있는데요. 이 루아라는 언어가 10년이라는 역사를 가지고 있다고 합니다. 최근 루아 스크립트를 이용한 여러가지 연구와 도전이 이루어지고 있는데, 아마도 이 루아라는 언어가 그동안 활약해오면서 충분한 가능성을 보였고, 사용상 장점과 성능이 입증되었다는 소리겠지요. 루아 홈페이지를 통해서 제공되는 레퍼런스와 소개 글을 읽어보시면 많은 도움이 될 것 같습니다(영어이긴 합니다만, 그런데로 볼만합니다.^^; 저도 영어못하는데 뜻은 어느정도 통하더라구요 ^^;)

게임을 좋아하시는 분 또는 개임개발을 공부하시는 학생분들 또는 개임개발의 현업에서 계신분들은 이 루아라는 녀석을 잘 올고 계시지 않을까 생각 되기도 합니다. 루아는 블리자드 게임등에서 스크립트 언어로사용 되기도 하였으며 실제 국내 게임개발 에서도 많이 사용되고 있다고 하는데요. 주요 용도로는 게임 UI관리나 개발자가 기획자와 소통하기위한 방법으로도 많이 사용한다고 합니다.(저는 아직 학생이라 현업에더 어느정도 다양하게 루아를 활용하고 있는지는 잘 모르겠습니다 ^^ 아시는 분 가르쳐주세요 ^^;;)

제가 루아를 다루어보면서 재미있고 특이하게 그리고 편하다고 느낀 몇 부분을 소개해보자면, 일단 변수의 데이터형이 없습니다. 아니 분명 데이터 형은 있습니다만, 그것을 코딩하는 프로그래머가 신경쓸 필요가 없더군요. 변수에 대입되는 데이터 형에 따라 캐스팅이 되는 듯 합니다.(저도 공부를 날림으로 해서 ㅎㄷㄷ ) 이 부분은 분명 장점도 있고 단점도 있습니다만, 확실히 편한 건 편하더군요. 그리고 메모리관리를 크게 신경쓰지 않아도 됩니다.(신경을 안쓰면 안됩니다만@_@ 확실히 신경쓸 꺼리는 많이 없는 것 같습니다.) 특히 테이블(배열같은것)을 사용할 때 아주 쉽습니다. 데이터가 입력되고 삭제 될 때 C++에서는 하나씩 모두 프로그래머가 관리해서 메모리 해제 (이것은 변수나 포인터도 마찬가지죠..)와 뭐 여러가지를 관리를 해줘야 하는 반면 루아는 메모리를 알아서 관리 해줍니다. 그리고 스크립트 언어임에도 속도가 빠르다는 느낌입니다. Java 스크립트 라는 언어를 저는 제대로 배워본적은 없습니다만, 한...02년도에 Java 스크립트 라는 녀석을 잠시 접해본적이 있었는데 그때 느낀 Java 스크립트라는 녀석은 좀 느린 느낌이였습니다. (물론 제가 잘못 배우고, 잘못 느꼈을 수도 있습니다.) 그런데 루아는 그런 느낌이 별로 없더군요.

반면 단점도 있습니다. 특히나 제게 불편하게 느껴졌던 부분은 객체지향적 요소입니다. 프로그램을 작성하다보면 요즘은 객체지향적인 프로그래밍이 이루어지는데요. 이 루아 스크립트는 일단 객체지향 적이지 못합니다. 물론 객체지향의 흉내를 내기위한 방법은 있습니다만, 훌륭하다 느껴지는 편은 아닙니다.

이것은 단점이라고 보기는 어려운데, 루아스크립트는 아직 대외적으로 알려진 독립적인 어플리케이션이 없는 것으로 알고 있습니다.(확실하지는 않습니다. 세계는 넓으니까요..) 에.. 그러니까 루아만을 이용해서 게임을 제작 한다던지 특정 독립 어플리케이션을 만든다던지 하는 거 말이죠. 그래서 최근에는 여러가지 연구와 개발 도전이 이루어지고 있는 것 같습니다. 하여간 이렇게 루아에 대한 새로운 가능성에대해 많은 연구가 이루어지고 있는 가운데 루아를 이용한 토종게임엔진 게임오븐은 여러모로 기대가 되는 부분이 많은 엔진입니다.

사실 게임오븐을 처음 접할 때 오븐 툴 자체도 난감했지만 루아스크립트의 정보를 구하지 못해 언어 자체도 좀 난감하게 느꼈습니다만, 저는 책한권으로 어느정도 해결을 볼 수 있었습니다. 공식 홈페이지에 소개되고 있는 공식 레퍼런스나 해외 사이트를 참조하면 좋겠으나 저는 영어를 아주 원활하게 독해 할 수 있는 실력이 되지 않아 난감했죠. -_-; 그래서 찾다가 번역서가 있는 것을 찾앗습니다. 루아 공식 홈페이지에서도 해와 번역된 도서로 소개가 되고 있는 책이죠.


일단 책이 얇아서 좋고 복잡한 내용이 별로 없습니다. 한번 쓱 읽어보면 좋죠. 뒷부분에 가서는 C등과 연동하는 내용들이 있는데 좀더 깊이 공부하실 분들이라면 모두 읽어볼만 합니다. 블로그에서 루아 문법에 내용을 포스팅하기에는 제 실력도 부족하고 해서 어려울 것 같아 이정도 소개만 해볼까합니다. 뭐 능력이 가끔 된다면 틈틈히 포스팅도 해보겠습니다만은 ^^;; 그럼 오늘은 여기까지 네요~ 루아스크립트 참 재미 있는 프로그래밍 언어입니다~ ^^

반응형