아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016

31
모바일 개발 Pratik Patel Senior Software Development Engineer

Transcript of 아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016

모바일개발

Pratik PatelSenior Software Development Engineer

Lumberyard란?아마존의무료, 크로스플랫폼게임엔진

렌더러, 게임시스템과빌드툴을포함하며

AWS, Twitch와소스레벨의통합이가능한시스템

지원플랫폼

개발기능엔진과에디터 - C++

스트립팅- LUA 와 Flowgraph

컴포넌트엔터티시스템 | 완전통합된 UI 에디터

젬(Gems) —엔진컴포넌트

클라우드캔버스

에디터게임레벨들을생성하는주요도구

게임디자인에대해플레이하고재동작이가능함

많은각종빌드도구들과통합됨

LUA경량스크립팅언어

디자이너를위한쉬운사용성

웹상에많은튜토리얼과더불어광범위하게사용됨

Flowgraph비주얼스크립팅언어

C++ 혹은 LUA를통해확장가능

모든엔진기능에접근할수있음

디자이너도사용가능

컴포넌트엔터티시스템(Component Entity System)

개발자가엔터티에기능을추가할수있음

컴포넌트를조합함으로써복잡한동작을쉽게만듬

복잡한상속구조를피함

UI 에디터통합된 UI 에디터

컴포넌트엔터티시스템을통해동작

위젯이캔버스에존재

3D UIs를위한메쉬상에캔버스가위치할수있음

모든플랫폼위에구동되는 UI를생성

UI 에디터

로컬라이제이젼각언어별로 XML 파일로언어데이터를저장

실행시 key-value 시스템을사용해서필요한언어를선택

왼쪽에서오른쪽텍스트가주로지원, 오른쪽-왼쪽형식은부분적지원

UI 에디터가자동적으로언어키를찾음

TTF 나 OTF가폰트로사용될수있음

젬(Gems)젬은엔진컴포넌트

개발자가쉽게추가제거가능

개발자는자신의젬을생성할수있음

럼버야드젬의리스트(일부) :Weather Effects

Boids (flocking) Camera

Gestures

and more…

클라우드캔버스Flowgraph를통해 AWS서비스를사용할수있게해줌

셋업된 Flowgraph 의노드와서비스가 자동으로AWS상에배포됨

다음서비스를지원:Cognito (Player Identity)

DynamoDBLambda

S3SNSSQS

Static Data

온라인GridMate

쉽게 client-server & peer-to-peer게임을개발

Flowgraph, LUA 와 C++ 호환

플랫폼독립적—크로스플랫폼게임플레이

모바일개발기능

가상파일시스템

인앱구매

멀티플랫폼인풋젬

동적컨텐츠다운로드매니저

안드로이드디바이스파편화(다양성문제) 처리

모바일개발iOS Objective C | 안드로이드 Java 지원

Android — Android Studio & Visual Studio

iOS — Xcode

지원 OS:

Android — API 19, 21, 23

iOS — v8 이상

모바일개발워크플로우(Workflow)Asset Processor 를사용해서게임데이터를특정

플랫폼을위한포맷으로컴파일

프로젝트생성을위해명령행도구를사용

빌드생성을위해 Xcode/Android Studio/Visual Studio/Command line 을사용

게임런치, 디버그를위해 IDE 사용

모바일디버깅모든디버깅은표준 IDE(i.e Xcode/Visual Studio)

에서직접디버깅

필요시럼버야드전체엔진에대한디버깅도가능 –블랙박스가존재하지않는다

Android debugging

iOS debugging

가상파일시스템(VFS)PC 혹은 Mac에서모바일디바이스로파일을제공

빠른에셋반복가능

게임내모델과텍스처를라이브업데이트

인앱구매Google Play/Apple App Store에직접연결해서구매

트랜젝션을인가

IAP code가 Amazon에의해리뷰되고보존됨

어플리케이션보안그룹을통해해커에대한대응을확실히함

모든 IAP를위한커뮤니케이션은 HTTPS로

동적컨텐츠다운로드시스템(DCDS)

럼버야드 DCDS를통해실행파일을업데이트하지않고컨텐츠를업데이트하는것을자동화함

AWS를통해서새로운컨텐츠를업로드하고전파할수있음

손으로복잡한선언(manifest)을수정할필요없음

보안을강화하기위해서 HTTPS사용가능

테스팅AWS 디바이스팜

다양한안드로이드와 iOS 디바이스에대해테스트

현재는스크립트기반, 조만간 GUI 에디터를추가할예정

리뷰를위해로그와스크린샷을다운로드가능

안드로이드파편화처리

디바이스팜을빌드테스트에사용

럼버야드에서빌드를디바이스팜으로올리고결과를다운로드할수있음

어떤디바이스타입이문제를발생하고그원인이무엇인지파악할수있음

디바이스팜의디바이스리스트(일부)

안드로이드파편화(계속)

매릴리즈마다더많은디바이스를서포트하도록추가할예정

특정디바이스가당신이해결할수없는문제를일으킨다면, 우리에게알려주세요 –당신을돕는

것을기쁘게생각합니다!

렌더링: 지원디바이스

현재 Android on Adreno 와 Mali GPUs를위한 OpenGL ES 3.1+

Nexus 6 | Galaxy Note 5 | Galaxy S7

ES 3.0 개발중 – Galaxy S4 + phones의지원추가

최소 A8 프로세서의 iOS devices

렌더링을위한 Metal API 사용

iPhone 5를포함 A7 processors를지원하기위해작업중

렌더링: 모바일퍼포먼스

Android - Nexus 6 iOS - iPad Air 216 FPS 25/30 FPS

아트파이프라인에디터는다음에서임포트가능

Maya

3DS Max

FBX

FBX 는현재 static mesh만지원하지만

조만간더지원예정

LEO DemoMobile Tech demo