비주얼노벨 강좌

원문: http://cafe.naver.com/luamadang/3

 

 

LUA 란 무엇인가?

 

표현적으로 우리말로 읽으면 "루아" 라고 읽으면 된다.

 

다음 글은 www.lua.org 에서 말하는 LUA 에 대한 내용이다.

 

    What is LUA?

    Lua is a powerful, fast, lightweight, embeddable scripting language.

    Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode 
    for a register-based virtual    machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.

 

    참조: http://www.lua.org/about.html

 

위에서 설명하듯이 Lua 는 매우 강력하고, 속도가 빠르며, 가볍고, 내장 가능한 스크립팅 언어이다.

 

루아는 스크립트 언어로 처음부터 C++ 같은 저수준 언어보다 쉽게 배우고 다룰 수 있도록 만들어진 것이다. 그 덕분에 언어를 배우고 다루기가 쉬우며, 결과적으로 빠르게 만들 수 있어서 생산성이 높아진다.

스크립팅 언어는 일반적인 저수준 언어(C/C++ 등)보다 빠르게 익힐 수 있다.

 

특히 루아는 C++과의 연동이 쉽게 이루어지기 때문에, 게임 개발등에 있어서 스크립트 부분을 다루는데 종종 사용되고 있으며, 그 대표적으로 WoW 의 Addon package 가 루아로 작성 지원되고 있다.

 

루아의 기술적 특징은 다음과 같다.

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

    • 스크립트 언어라면 모두가 가지고 있는 개비지 콜렉션이 존재한다. 즉 사용되지 않는 메모리는 일정정도 차게 되면 자동으로 해제해 버린다. 이것은 성능저하, 직접적인 메모리 관리의 어려움등의 단점을 만든다.
      다행히 루아 5.0 이후버젼에는 이러한 개비지 컬렉션 처리의 한도를 조정할 수 있어 이 현상을 이러나지 않도록 만들 수 있다.
    • 간단하고 심플한대신, 지원하는 함수가 정말로 기본적인 것 밖에 없다. (이것이 단점인가 생각해본다. 간단하면서 다 할 수 있다면, 그것 역시 장점 아닐까 생각한다)
    •  

Comment '6'
  • ?
    Rainsy 2010.08.09 11:34

    c++같은 저수준 언어 : 언어가 저수준일수록 사람이 알아보기 쉽고 고급언어일수록 복잡하고 난해합니다.

    그렇다고 딱히 한쪽이 더 좋다 말할수 없어요

    오해 마시길 ㅋ

  • ?
    포인트팡팡 2010.08.09 11:34
    축하합니다. Rainsy님은 100포인트에 당첨되셨습니다
  • ?
    만능태도 2010.11.01 09:58

    반대입니다. 저수준언어가 사람이 다루기 귀찮은거[?] 고 고급언어가 다루기는 편한데 컴퓨터가 다루기 힘든거입니다 =ㅁ=

  • ?
    KMS 2011.06.06 18:19

    저급언어는 일반적으로 끄고 켜는 상태인 0,1을 이용한 기계어나 어셈블리 어(기계 중심의 언어)가 기본입니다.

    고급언어는 Java, C, C++, BASIC, 포트란 등 인간 중심의 언어입니다.

    그래서 저급언어는 사람이 컴퓨터의 언어를 직접 입력하여 따로 해석기가 필요하지 않지만, 고급언어에서는 사람이 쉽게 입력한 언어를 기계어로 처리(해석)하기 위한 컴파일러와 인터프리터 등의 해석기가 필효압니다.

    즉, C++는 사람이 이해하기 쉬운 고급언어에 속하는 게 맞겠죠?

     

  • ?
    신이치 2010.08.11 13:30

    아 그렇군요 감사합니다.

  • ?
    아리시스 2010.12.07 18:41

    감사해요


List of Articles
분류 제목 글쓴이 날짜 조회 수
Ren'Py 렌파이 관련 유용한 링크 모음 3 file 습작 2012.12.02 17640
Nekonovel 네코노벨 관련 유용한 링크 모음 1 file 습작 2012.11.19 11979
Vasilriot 바실리어트에서 지원하는 vr팩. 언팩이 가능할까? 하늘바라KSND 2013.05.11 2651
기타 제작툴 소개 : Novelty란 무엇인가? 4 file 습작 2013.05.09 4561
Vasilriot 바실리어트 사용할 때 조심해야 할 것 :: 글자수 제한(명령어 오류)(2013.05.15수정) file 하늘바라KSND 2013.05.09 2750
기타 제작툴 소개 : LiveMaker란 무엇인가? 4 file 습작 2013.05.09 8706
Vasilriot 장면 전환할 때 사용할 '장막효과'를 구현해보자. 하늘바라KSND 2013.05.09 2705
Vasilriot 노가다를 줄여주는 명령어, 인라인 사용하기. 2 하늘바라KSND 2013.02.18 2951
VNAP Vnap 제대로 게임 한 번 만들어 보자!(브이냅 기초) 4 file FNS키리토 2013.02.14 5106
VNAP Vnap 강좌 제 2 편! 작은하마 길들이기 (CG) 9 file FNS키리토 2013.01.28 5073
VNAP vnap으로 뭐든 해보자! 1 편! 15 file FNS키리토 2013.01.10 4188
Neko:기초 네코노벨 무작정 따라하기 - 2편 : 로고만들기 9 file 습작 2012.12.21 6147
Vasilriot 바실리어트 버튼 사용하기 file 하늘바라KSND 2012.12.21 3164
Neko:기초 네코노벨 무작정 따라하기 - 1편 : 둘러보기 2 file 습작 2012.12.08 12613
Vasilriot 바실리어트 스크립트 정리하기. file 하늘바라KSND 2012.11.10 3509
Neko:Lua 마인크래프트에서 루아언어를 써 Boa요! 2 철쭉 2012.07.21 4183
Neko:Lua Lua for Windows 1 루아마당 2010.08.08 5556
Neko:Lua LUA 란 무엇인가? 6 루아마당 2010.08.08 7229
Neko:Lua 루아의 메모리 관리 방식 루아마당 2010.08.08 5472
Neko:Lua 루아 스크립트를 1 무뇌인 2010.04.20 5924
Neko:Lua 비쥬얼 C++에 루아 연동시키기- file Saber 2010.01.02 7983
Neko:Lua 좀비서바이벌 1.11b 버전 Lua 스크립트 16 판져중위 2009.11.30 9285
Board Pagination Prev 1 2 3 Next
/ 3