Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
http://cafe.naver.com/devrookie
모바일 게임 개발에서
루아 스크립트
활용하기
2015.01.24
1. 루아 스크립트란
2. 동적 프로그래밍의 대두
3. 스크립트 무용론
4. 모바일 게임 개발과 루아
5. 루아 문법 소개
6. Lua 개발 툴 소개
루아 스크립트란?
동적 스크립트 언어
C++과 연동 가능
게임 개발에서 게임 로직(게임 진행 로직, FSM, AI) 제작 활용
데이터 주도 개발에 활용 가능
자세한 소개는… 관련 자료가 너무 많아 생략
루아 스크립트란?
 포르투갈어로 ‘달’이라는 뜻
 브라질의 Tecgraf의 한 팀에서 개발
 특징
 공짜
 파일 크기가 작다
 이식성이 좋다
 실행 속도가 빠르다
[데브루키] 권승진-Lua Script
루아 스크립트란?
 프로그래머에게 루아의 의미
 C++함수를 루아에서 호출할 수 있게 한다.
 재 컴파일 없이 상수를 변형 시켜 테스트 할 수 있다.
 기획자에게 루아의 의미
 루아 문법만 알아도 프로그래머가 ...
6
동적 스크립트 언어의 재미(?)
결과는? nil
결과는?
루프에 안들어옴
동적 프로그래밍의 대두
데이터 주도 개발
동적 프로그래밍 언어의 중요성 대두
생산성의 증가
주요 게임들에서의 활용
8
데이터 주도 개발
Data Driven Development
• 코드는 코어 엔진만 제공하고, 외부에 노출된 데이터 변경으로 게임을 구성한다.
• 대표적인 예 ) 스타크래프트의 맵툴, 스카이림 및 각종 게임들의 MO...
9
데이터 주도 개발
C++ 게임 엔진
•렌더링
•네트워크
•파일 입출력
•코어 API 제공
데이터
•테이블
•AI
•아이템
•리소스
스크립트
•동적 프로그래밍
•게임 로직
•게임 알고리즘
•게임 구성
10
게임에서 루아의 활용
WoW의 UI 엔진(?)의 충격
각종 국내 MMORPG에서 루아 사용 시작
현재도 각종 MMORPG에서 루아 스크립트 사용 중
11
루아 스크립트의 각광
2000년 후반 게임 개발에서 루아 스크립트의 각광
• 게임 로직(기획)과 코어(프로그래밍)의 분리
• 동적 데이터 주도 개발 가능성
• 생산성 증가 기대
• 국내 대부분 MMRPG에서
도입
...
12
13
스크립트 무용론
게임 개발에서 스크립트는 정말 유용한가? (알콜코더)
16
스크립트가 나쁘다는 것은 아님
Lua 스크립트 자체가 나쁘다는건 아니다
다만 동적 프로그래밍의 환상(?)으로
스크립트를 위한 스크립트를 사용하는 케이스가 발생
결국 로직을 분리해서, 분리한 의미가 사라지는 경우가 ...
17
스크립트 남용의 해악 (GPG 1권)
1. 스크립트 사용에 주된 원칙 : 로직과 데이터의 분리(복잡한 로직은 코드에, 그리고 데
이터는 코드 외부에 두어야 한다)
2. 스크립트란 일을 편하게 하기 위한 것이지 일을...
18
스크립트 중요성 감소
지금은 모바일 게임 개발이 주도
유니티 엔진이 대세가 됨에 따라 스크립트 사용 필요성이 감소
기획자와 프로그래머의 명확한 역할 분리가 축소
온라인 게임 개발에서는 여전히 스크립트 활용이 높지만...
모바일 게임 개발에서의
루아
20
모바일 게임 개발에서 스크립트
빌드가 무지 어렵다!!
• 실제 기기에 게임을 넣는 빌드 과정이 무척 오래 걸린다
• 실제 기기에서의 테스트가 어려움
게임 로직 및 UI가 자주 변경된다
• 그리고 확인을 위한 툴을 ...
21
모바일 게임 배포와 스크립트
게임 바이너리 패치를 자주 할 수 없다!!
애플, 구글의 심사 필요
아이폰용 앱 버그 하나 고칠려면 2주 소요
스크립트로 개발하면, 자체 패치로
로직 수정 및 버그 픽스 가능!!
22
모바일 게임 배포와 스크립트
게임 코어
•코어 API
•바이너리
•자주 변경 안됨
•패치 어려움
루아 스크립트
•로직 및 데이터
•자주 변경됨
•자체 패치 가능
모바일 게임
렌더링, 네트워크등 변하지 않는 코어 부...
23
모바일 게임 개발에서 스크립트
빌드와 배포(심사)가 어려운 모바일 게임 특성상,
스크립트로 로직을 분리하는것은 매우 유용
대부분의 로직을 바이너리 외부에 스크립트로 빼놓으면,
바이너리 패치 없이 대규모 게임 패치까...
루아 스크립트 활용 사례
25
실시간으로 게임 데이터 변경
Shake의 값을 변경하면, 게임을 다시 실행시켜서 확인
함수가 호출될 때마다 변경된 config의 값을 다시 읽음!!
루아 스크립트 문법
루아 개발 도구
28
Lua Tinker
국내 게임 개발자 Zupet님이 개발 (현 NCSoft 근무)
C++ <-> 루아 통신 (루아 바인딩) 라이브러리
가볍고 쓰기 편하다.
http://gpgstudy.com/gpgiki/LuaTi...
29
VS용 루아 익스텐션
VSLua - VS 2010까지의 루아 애드온
BebeLua – VS 2012부터의 루아 애드온. Vslua 발전형
30
BabeLua https://babelua.codeplex.com/
31
BabeLua https://babelua.codeplex.com/
참고 자료
• [데브루키] Lua Script (권승진)
• [데브루키] 루아 스크립트 사용 경험 여부 투표
• [데브루키] 데이터 주도적 설계와 루아 스크립트 (최우영)
• [데브루키] Programming in Lu...
Próxima SlideShare
Cargando en…5
×

[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기

데브루키 2015.1.24 발표자료
알콜코더

  • Sé el primero en comentar

[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기

  1. 1. http://cafe.naver.com/devrookie 모바일 게임 개발에서 루아 스크립트 활용하기 2015.01.24
  2. 2. 1. 루아 스크립트란 2. 동적 프로그래밍의 대두 3. 스크립트 무용론 4. 모바일 게임 개발과 루아 5. 루아 문법 소개 6. Lua 개발 툴 소개
  3. 3. 루아 스크립트란? 동적 스크립트 언어 C++과 연동 가능 게임 개발에서 게임 로직(게임 진행 로직, FSM, AI) 제작 활용 데이터 주도 개발에 활용 가능 자세한 소개는… 관련 자료가 너무 많아 생략
  4. 4. 루아 스크립트란?  포르투갈어로 ‘달’이라는 뜻  브라질의 Tecgraf의 한 팀에서 개발  특징  공짜  파일 크기가 작다  이식성이 좋다  실행 속도가 빠르다 [데브루키] 권승진-Lua Script
  5. 5. 루아 스크립트란?  프로그래머에게 루아의 의미  C++함수를 루아에서 호출할 수 있게 한다.  재 컴파일 없이 상수를 변형 시켜 테스트 할 수 있다.  기획자에게 루아의 의미  루아 문법만 알아도 프로그래머가 만든 코어 부분을 제 어하여 사건을 맘대로 구성할 수 있다. [데브루키] 권승진-Lua Script
  6. 6. 6 동적 스크립트 언어의 재미(?) 결과는? nil 결과는? 루프에 안들어옴
  7. 7. 동적 프로그래밍의 대두 데이터 주도 개발 동적 프로그래밍 언어의 중요성 대두 생산성의 증가 주요 게임들에서의 활용
  8. 8. 8 데이터 주도 개발 Data Driven Development • 코드는 코어 엔진만 제공하고, 외부에 노출된 데이터 변경으로 게임을 구성한다. • 대표적인 예 ) 스타크래프트의 맵툴, 스카이림 및 각종 게임들의 MOD • 코드 외부에 노출된 데이터 변경으로, 게임 로직의 재구성 및 리소스 변경이 가능 • 주로 동적 프로그래밍이 가능한 스크립트와 데이터를 이용하여 구성 루아 C++ XML 주로 구성하는 예
  9. 9. 9 데이터 주도 개발 C++ 게임 엔진 •렌더링 •네트워크 •파일 입출력 •코어 API 제공 데이터 •테이블 •AI •아이템 •리소스 스크립트 •동적 프로그래밍 •게임 로직 •게임 알고리즘 •게임 구성
  10. 10. 10 게임에서 루아의 활용 WoW의 UI 엔진(?)의 충격 각종 국내 MMORPG에서 루아 사용 시작 현재도 각종 MMORPG에서 루아 스크립트 사용 중
  11. 11. 11 루아 스크립트의 각광 2000년 후반 게임 개발에서 루아 스크립트의 각광 • 게임 로직(기획)과 코어(프로그래밍)의 분리 • 동적 데이터 주도 개발 가능성 • 생산성 증가 기대 • 국내 대부분 MMRPG에서 도입 [데브루키] 2008.11.25 루아 스크립트 사용 경험 투표 (화저)
  12. 12. 12
  13. 13. 13
  14. 14. 스크립트 무용론
  15. 15. 게임 개발에서 스크립트는 정말 유용한가? (알콜코더)
  16. 16. 16 스크립트가 나쁘다는 것은 아님 Lua 스크립트 자체가 나쁘다는건 아니다 다만 동적 프로그래밍의 환상(?)으로 스크립트를 위한 스크립트를 사용하는 케이스가 발생 결국 로직을 분리해서, 분리한 의미가 사라지는 경우가 발생 게임 개발에서 스크립트는 정말 유용한가? (알콜코더)
  17. 17. 17 스크립트 남용의 해악 (GPG 1권) 1. 스크립트 사용에 주된 원칙 : 로직과 데이터의 분리(복잡한 로직은 코드에, 그리고 데 이터는 코드 외부에 두어야 한다) 2. 스크립트란 일을 편하게 하기 위한 것이지 일을 어렵게 만들기 위한 것이 아님을 명심 해야 한다. 3. 스크립트가 위험한 이유는 스크립트가 데이터의 성격과 로직의 성격을 함께 가지고 있 기 때문이다. 그래서 상태의 개수가 늘어나면 스크립트를 작성하는 것과 프로그램 코드를 작성하는 것에 별다른 차이가 없어진다. 4. 게임 디자이너나 스크립트 작성자가 게임을 프로그래밍 하도록 해서는 안된다. 5. 단! 퀘이크 C처럼 특별한 사례에 경우, 게이머가 봇을 직접 작성할 수 있도록 하는 것 은 FPS에 있어서 매우 중요한 마케팅 포인트들 중 하나이며, 따라서 스크립팅 언어를 C 수준으로 복잡하게 만드는 것이 개발 자원의 낭비라고 할 수 없다. 하지만!!!! 이것은 특 별한 사례임을 명심, 명심해야 한다.
  18. 18. 18 스크립트 중요성 감소 지금은 모바일 게임 개발이 주도 유니티 엔진이 대세가 됨에 따라 스크립트 사용 필요성이 감소 기획자와 프로그래머의 명확한 역할 분리가 축소 온라인 게임 개발에서는 여전히 스크립트 활용이 높지만, 모바일 게임 개발에서의 중요성은 많이 감소 -> 2000년대 후반에 넘쳐나던 스크립트 관련 발표들이 거의 사라짐
  19. 19. 모바일 게임 개발에서의 루아
  20. 20. 20 모바일 게임 개발에서 스크립트 빌드가 무지 어렵다!! • 실제 기기에 게임을 넣는 빌드 과정이 무척 오래 걸린다 • 실제 기기에서의 테스트가 어려움 게임 로직 및 UI가 자주 변경된다 • 그리고 확인을 위한 툴을 제작할 시간 여유가 부족 • 결국 빌드->테스트->빌드->테스트의 반복 과정
  21. 21. 21 모바일 게임 배포와 스크립트 게임 바이너리 패치를 자주 할 수 없다!! 애플, 구글의 심사 필요 아이폰용 앱 버그 하나 고칠려면 2주 소요 스크립트로 개발하면, 자체 패치로 로직 수정 및 버그 픽스 가능!!
  22. 22. 22 모바일 게임 배포와 스크립트 게임 코어 •코어 API •바이너리 •자주 변경 안됨 •패치 어려움 루아 스크립트 •로직 및 데이터 •자주 변경됨 •자체 패치 가능 모바일 게임 렌더링, 네트워크등 변하지 않는 코어 부분만 APK 넣고, 로직등은 루아로 빼서, 외부에 파일로 둔다. 자체 패치를 통해서, 외부 파일 패치가 가능하다! 심사 없이 언제든 패치가 가능하다!
  23. 23. 23 모바일 게임 개발에서 스크립트 빌드와 배포(심사)가 어려운 모바일 게임 특성상, 스크립트로 로직을 분리하는것은 매우 유용 대부분의 로직을 바이너리 외부에 스크립트로 빼놓으면, 바이너리 패치 없이 대규모 게임 패치까지도 가능
  24. 24. 루아 스크립트 활용 사례
  25. 25. 25 실시간으로 게임 데이터 변경 Shake의 값을 변경하면, 게임을 다시 실행시켜서 확인 함수가 호출될 때마다 변경된 config의 값을 다시 읽음!!
  26. 26. 루아 스크립트 문법
  27. 27. 루아 개발 도구
  28. 28. 28 Lua Tinker 국내 게임 개발자 Zupet님이 개발 (현 NCSoft 근무) C++ <-> 루아 통신 (루아 바인딩) 라이브러리 가볍고 쓰기 편하다. http://gpgstudy.com/gpgiki/LuaTinker
  29. 29. 29 VS용 루아 익스텐션 VSLua - VS 2010까지의 루아 애드온 BebeLua – VS 2012부터의 루아 애드온. Vslua 발전형
  30. 30. 30 BabeLua https://babelua.codeplex.com/
  31. 31. 31 BabeLua https://babelua.codeplex.com/
  32. 32. 참고 자료 • [데브루키] Lua Script (권승진) • [데브루키] 루아 스크립트 사용 경험 여부 투표 • [데브루키] 데이터 주도적 설계와 루아 스크립트 (최우영) • [데브루키] Programming in Lua (정용수) • 게임 개발에서 스크립트는 정말 유용한가? (알콜코더) • [NDC11] 온라인 게임 처음부터 끝까지 동적 언어로 만들기

    Sé el primero en comentar

    Inicia sesión para ver los comentarios

  • zomvie

    Jun. 4, 2015
  • JangyeolMa

    Jun. 5, 2015
  • tugsido

    Jun. 10, 2015
  • momusuai

    Jul. 9, 2015
  • kimzombie13

    Sep. 13, 2015
  • vovook

    Sep. 22, 2015
  • sweetcoolu

    Jan. 25, 2016
  • ssuser2eb71d

    Feb. 17, 2016
  • tommypark201

    Apr. 4, 2016
  • YongJePark

    Apr. 7, 2016
  • jaychoo

    Jun. 27, 2016
  • ssuser4903d8

    Jul. 13, 2016
  • ssuser908cd6

    May. 17, 2017
  • parkseongsik1

    May. 31, 2017
  • jaejun0201

    Jun. 15, 2017
  • ssuser12e692

    Sep. 17, 2017
  • YuraChoi7

    Apr. 25, 2018
  • ssuser979cc8

    May. 8, 2018
  • lsh1208

    May. 20, 2019
  • JeewonPark

    Jul. 13, 2019

데브루키 2015.1.24 발표자료 알콜코더

Vistas

Total de vistas

12.724

En Slideshare

0

De embebidos

0

Número de embebidos

61

Acciones

Descargas

77

Compartidos

0

Comentarios

0

Me gusta

28

×