비주얼노벨 강좌

1. 루아(LUA)가 무엇인가요?

루아는 C/C++ 프로그램에 내장되어서 실행되는 스크립트 엔진이다. 현재 TEAM pixels 에서 개발중인 PAGE(Pixelz Accessible Game Engine) 엔진에서 게임 내부를 기술하는 스크립트 언어로서 사용하고 있다.


특징은 아래와 같다.


- C/C++ 의 코드를 이식하기 쉽다. 이것은 엔진 작업 및 스크립트 작업의 분업화를 가능하게 해준다.
- 루아 코드를 C/C++ 상에서 실행할 수 있다.
- 루아와 동종한 스크립트 언어 중에서는 최고의 속도와 효율을 자랑한다.
- table 이라는 강력한 연관배열을 지원한다. 이것은 스크립트 제작시 자료의 정리를 상당히 이롭게 해준다.
- 문법이 간단하다. 데이터 타입이 존재하나 사용시에는 숫자, 문자열 정도만 구분하면 되며 왠만한 경우는 자동으로 변환해준다.


반면에 아래와 같은 단점도 있다.


- 스크립트 언어라면 모두가 가지고 있는 개비지 콜렉션이 존재한다.
 즉, 사용되지 않는 메모리가 일정 정도 차게 된다면 자동으로 해제시켜 버린다.
 (이것은 성능 저하, 직접적인 메모리 관리의 어려움등의 단점을 만든다.)
 다행히, 루아 5.0 이후 버전에서는 이 개비지 컬렉션 처리의 한도를 조정할 수가 있어서 이 현상이 일어나지 않도록 할 수 있다.
- PAGE 에서는 가급적 대용량의 메모리를 사용하는 경우(ex. 비트맵 데이터 로딩)는 C/C++ 쪽으로 빼버렸다.
 즉, 메모리 사용한도는 루아상에서 선언한 변수들만 고려하면 된다.
- 간단하고 심플하지만 지원되는 함수가 너무 기본적인 것밖에 없다.


본 글은 redwiki 에서 발췌하여 매니아가 쉽게 풀이하였습니다.
[출처] 아방스 ( http://avangs.info/zbxe/S_gameXP/ ) by Mania(Necrosen).

Comment '12'
  • ?
    낙지군♬ 2009.01.10 23:13
    어려버 어려버 ㅋㅋ
  • ?
    Mania 2009.01.11 08:43
    루아는 루비보다 배우기가 쉽기때문에 금방 익히실 수 있습니다. 하하;
  • ?
    [Dark].Angel 2009.01.11 17:53
    와... 정말 기대가 되는군요. C언어와 C++ 상에서 실행할수가있다..?
    그러면 컴파일을 해서 더욱더 오류와 경고를 줄여 완벽한 스크립트를 만들수 있다는 말이군요.
    정말 대단합니다.
  • profile
    카와이 2009.01.13 14:14
    테이블 얏호
  • ?
    후르츠파르페 2009.01.21 02:01
    어디 명령어만 쭉 적어주는데는 없나..ㅎ
  • ?
    효과음 2009.01.23 13:22
    어려워 보기인 하지만 ㄷㄷ; 루아가 무엇인지를 알 수 있었습니다. 감사합니다 ^^
  • ?
    앙앙줏매 2009.02.09 18:49
    호오 알것같기도하면서 못알겠심..
  • ?
    rpg초짜 2009.02.18 22:40
    흠흠.. 그렇군요 라고말하지만 잘 모르겠는;;;
  • ?
    고삐리친구 2009.02.21 15:56
    우웅.... 전 루아가 강좌하시는분 이름인줄 알았네용
  • ?
    꼬맹씨 2009.07.04 13:42
    호... 감사~!
  • ?
    타로카드 2009.09.06 13:37

    어..어려워

  • ?
    캣츠아이 2011.01.09 20:47

    뭐래는걸까... 영어가 들어가서 어렵군 ; ; < 어차피 RPG 라는 단어도 영어야!


List of Articles
분류 제목 글쓴이 날짜 조회 수
Ren'Py 렌파이 관련 유용한 링크 모음 3 file 습작 2012.12.02 17571
Nekonovel 네코노벨 관련 유용한 링크 모음 1 file 습작 2012.11.19 11944
VNAP 선택지 발생 3 file FNS키리토 2015.01.11 2001
피니엔진 기본 틀 만들기 : 타이틀화면 file 하늘바라KSND 2017.11.15 1802
피니엔진 피니엔진 타이틀 만들기 예제(구버전) 1 file 하늘바라KSND 2015.01.27 1754
피니엔진 텍스트, 대화, 독백 명령어 하늘바라KSND 2014.12.21 1554
피니엔진 안드로이드로 배포판을 만들기 위해 필요한 것들 하늘바라KSND 2014.12.20 1514
Visual Novel Maker 한글 텍스트 입력 file 러닝은빛 2017.11.21 1427
Vasilriot 바실리어트 메뉴얼(1) 하늘바라KSND 2014.12.20 1406
피니엔진 애니메이션-스프라이트 간단한 팁 몇가지 하늘바라KSND 2015.07.11 1279
피니엔진 타이틀+클릭메뉴 예제 file 하늘바라KSND 2015.07.11 1091
Neko:기타 쓰레드에 '대기' 명령어를 넣었을 때 나타날 수 있는 현상 file 하늘바라KSND 2014.11.27 1016
VNAP char로 캐릭터 출력 2 FNS키리토 2015.06.01 886
Vasilriot 바실리어트 메뉴얼(3) 하늘바라KSND 2014.12.20 850
Vasilriot 바실리어트 메뉴얼(2) 하늘바라KSND 2014.12.20 693
피니엔진 FAL.노드이름에 관해서 알아보자. file 하늘바라KSND 2015.08.17 623
Board Pagination Prev 1 2 3 Next
/ 3