Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

Lua 게시판
Lua 스크립트 게시판입니다.
[3] 스크립트는 어떻게들 활용하고 있는가요?
망치 [mangchy] 16173 읽음    2009-09-21 13:29
밑에 루아에 대한 글을 올렸지만,
실제 이런 스크립트를 어떻게 활용하고 있는지 궁금하군요.
기술적인 부분이야 이제 천천히 스터디하면 되겠지만,
어떤식으로 프로젝트에 적용하는지가 궁금하네요.

저같은 경우에는 지금 장비 프로그램을 만들고 있는데,
각각의 디바이스 파라미터들이 다른 파라미터와 연동되면서 생기는
이벤트들이 너무 다양합니다.
간단하게는 입력센서가 바뀌면 어떤 파라미터는 범위가 바뀌고, 초기화 되고, 파라미터가 안보여야되고,
하는 부분들...이런 부분을 DB편집기(XML)를 제작하여
이런 이벤트에 대한 처리를 케이스별로 하고 있습니다.
이러다 보니 DB편집기도 계속 케이스가 추가되고, 메인 프로그램에서도 케이스가 추가되네요.

일단 저는 이 부분에서 스크립트를 활용하려고 합니다만 어디까지 이 스크립트를 적용해야하는지등이
감이 잘 안오네요.

HMI프로그램들 보면 한개의 IO 값에 대해서 연산/평균/표준편차등 여러 예약어등도 있고, 스크립도 가능하게 하던데
이거하고는 약간 개념의 차이가 있네요.

도서관에 가서 루아책을 빌려보고, 인터넷을 통해 검색들을 쭈욱 해보았지만
이런 스크립트어를 통해 활용하는 범위나 예등이 없네요.

물론 이런 스크립트어를 활용하는것은 전적으로 코딩하는/구조를 설계하는 저의 몫이겠지만,
일단 다들 어떻게 적용하는지가 궁금해서 이렇게 글을 올려봅니다.
남병철.레조 [lezo]   2009-09-21 16:21 X
* 루아 콘솔을 활용하여 프로그램 동작을 콘솔로 제어하는데 사용할 수 있습니다.
* INI 처럼 데이타를 사용하는데... 보다 더 능동적으로 사용하고 조작할 수 있습니다.
* 프로그램 주요 로직을 밖으로 빼서 개발 시점에 사소한 수정을 컴파일 하지않고 즉석에서 수정하여 로직을 테스트 합니다.

흠... 그 외에도 분야별로 특성이 있을듯한데... 어쨋든 프로그램의 개발에서 부터 완성까지 유지보수가 쉽고 사용자가 능동적으로 참여할 수 있도록 인터페이스를 제공해 줄 수도 있습니다.
망치 [mangchy]   2009-09-21 16:45 X
*콘솔쪽은 제가 안하고 있고,
*INI처럼 쓰는 용도는 테스트해보니 일단 정말 괜챦더군요. xml로 db나 환경값 저장하는데 있어서는 나름 편하구요.
*로직을 테스트하는 이거는 정말 편하겠군요. 현재 적용하려는 곳도 이 부분이구요...그런데 로직을 밖으로 빼는데 있어서 얼마나 많은 변수나 함수들을 뺄까요? 사실 이게 제일 현재 관점인 부분입니다. 클래스, 변수등...
제 주위에는 스크립트 넣어 코딩하는 사람들이 없어서 적용범위 계산을 못하겠더라구요...레조님 댓글에 감사합니다.
민성기.오랑캐꽃 [oranke]   2009-09-21 19:23 X
저희는 게임을 만들고 있습니다.

처음에는 클라이언트 쪽에서 플레이어의 아이디, 레벨, 진행중인 퀘스트 등의 정보를 얻어오는 쪽에 쓰다가 차츰 게임 UI 를 제어하는 쪽 까지 넓혔습니다. ( http://dexgame.com/zbxe/?document_srl=4858 )
이 작업이 마무리되고 나서는 서버에서도 각종 이벤트의 제어, 몬스터의 인공지능, 공격 성공 판정 등 생각나는 곳에는 다 갖다 쓰고 있네요.

스크립트가 좋은 게... 단순한 수치정보 외에 '로직'을 데이터화 할 수 있다는 점 아닐까 싶네요.

예전 같으면 기획자가 이벤트나 아이템의 기능을 요청할 때 기존 데이터에 낑궈넣을 곳 있나 살펴보고 하드코딩으로 박아넣어야 했지만, 지금은 스크립트에서 제어할 수 있는 함수나 속성값(메타함수를 이용한) 을 내주는 것 만으로 이런 처리가 가능합니다. 이렇게 누적된 함수들은 또 다른 이벤트나 아이템에 써먹을 수 있게 되죠. 

예를 들어, "일정 범위 내에 있는 동일 파티멤버의 피를 50% 까지 채워주는 아이템" 같은 물건을 하드코딩으로 박아넣으려면 저런 특성을 가지는 아이템의 종류를 설정하고 범위 및 피 채움량을 데이터화 해야 하지만, 스크립트를 사용하면 "주변 유저 추출하는 함수"와 "최대 피와 현재 피를 리턴하는 함수", 그리고 "파티값을 리턴하는 함수"만 만들어주면 나머지는 기획자가 알아서 처리할 수 있게 됩니다. 이런 함수들이야 이미 서버상에 존재하는 녀석들이니 그저 스크립트에서 빼주기만 하면 되죠.

솔직히 루아를 도입한다고 특별히 프로그래머가 편해지는 것 같지는 않더군요. 그러나 다양한 요구에 대응하는 범용 루틴에 집중할 수 있다는 것 만으로도 그 효용성은 크다고 봅니다.

C 쪽에서는 무시무시한 컴파일 시간이 사라진다는 장점도 있겠네요.
망치 [mangchy]   2009-09-21 19:39 X
오~ 멋지네요... 어찌되었든 메인코어에서 컴파일없이 외부에서 스크립트로 기능 추가만으로 것은 큰 장점인거 같습니다.
홈피 자료도 구경 잘 했습니다. 감사
망치 [mangchy]   2009-09-21 19:46 X
샘플로 만들어놓은것도 멋지네요..
김호광 [testcode]   2009-09-21 22:32 X
게임 엔진 코어 + 스크립트로 붙입니다. 이미지 데이터 로드 , AI 등에 이용됩니다. 게임의 경우 얼마나 자료를 최적화하느냐, 유지 보수가 쉽냐라는 명제에서 그런 삽질이 많았습니다.
Lyn [tohnokanna]   2009-09-21 22:43 X
서버에서 패킷 파싱에 이용해 보려 했는데 =_=;;; 실패했습니다.
김민호.소중한꿈 [xho95]   2009-09-22 13:31 X
흑... 뭔가 또 많이 뒤쳐지는 이 느낌... ㅜ.ㅜ... 할께 산더미구나... ㅜ.ㅜ
망치 [mangchy]   2009-09-22 15:20 X
답변들 감사합니다. 이제 구조에 대해서는 약간의(? ㅎㅎ) 감이 오는군요.

+ -

관련 글 리스트
3 스크립트는 어떻게들 활용하고 있는가요? 망치 16173 2009/09/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.