본문 바로가기

기타

[Lumberyard] What is Cloud Canvas?

What is Cloud Canvas?

Cloud Canvas 기능은 엔지니어 혹은 테크니컬 디자이너들이 커뮤니티 뉴스피드, 일일접속 보상, 서버 사이드 전투 계산 등의 작업을 만들고자 할 때, 서버측의 백엔드 지식 없이도 비쥬얼 스크립팅을 통해서 이를 가능할 수 있도록 도와줍니다.
Cloud Canvas와 Lumberyard Flow Graph를 이용하면 게임에서 바로 AWS 서비스(DynamoDB, Lambda, S3, Cognito, SNS, SQS)에 접근하는것이 가능합니다.
이 기능에 대한 데모는 Lumberyard 기본 샘플 중 하나인 "Don't Die" 게임에 포함되어있으며, 이 샘플 게임에서는 일반적인 온라인 기능들(선물, 리더보드, 인게임 메세지 등등)을 어떻게 만들어야 하는지에 대한 방법을 보여줍니다.


클라우드 캔버스를 사용하면 아래와 같은 장점이 있습니다.

 직접 서버를 호스팅하고, 운영하고, 셋업하는 수고를 없에줍니다.

 Flow Graph 비쥬얼 스크립팅 도구를 이용하면, 클라우드 기능들을 디자이너들과 게임플레이 엔지니어들이 직접 다룰 수 있게 되면서 게임 제작에 소모되는 버틀넥을 줄여줍니다.

 Lumberyard 에디터 안에서 클라우드 리소스를 업데이트 할 수 있게 되어서 개발 주기가 단축됩니다.

 

클라우드 캔버스는 아래의 기능들을 제공합니다.

 게임에 클라우드 기능을 추가할 수 있는 도구들을 제공합니다.

 플로우그래프의 노드가 아마존 서비스들에 직접적으로 통신할 수 있는 기능이 제공됩니다. (DynamoDB, S3, Cognito, Lambda, SQS, SNS)

 AWS 리소스들을 개발자들과 플레이어들이 각각 어디까지 접근 가능한지에 대한 퍼미션 제어 도구가 제공됩니다.

 AWS 디플로이를 관리할 수 있습니다.

 플레이어 로그인 기능을 제공합니다. (익명 로그인, 혹은 아마존, 페이스북, 구글, 등등) 유저들은 다양한 기기에서 하나의 데이터에 접근할 수 있게 됩니다.


* 이 글은 아래 문서의 일부에 대한 번역입니다.

https://s3.amazonaws.com/gamedev-tutorials/Tutorials/Cloud_Canvas-Overview_of_Cloud_Canvas-(01)_What_is_Cloud_Canvas_v1.pdf


* 아래부터는 직접 작성한 내용입니다.


위에서 언급된 바와 같이 Cloud Canvas는 Lumberyard 엔진에 AWS 기능들을 사용할 수 있도록 도와줍니다.
이는 Flow Graph 스크립트에서 작동하며, 만약 Flow Graph 스크립트가 아닌 C++ 환경에서 AWS 를 사용하고자 한다면 그냥 C++ 용 AWS SDK를 바로 사용하시면 됩니다.


Lumberyard의 기본 샘플 중 Don't Die 예제에는 AWS Lambda를 이용하여 리더보드/최고점수 저장 기능을 구현하는 예제를 보여줍니다.


게임 코드 중 Flow Graph 노드로 AWS Lambda 함수 실행을 수행하는 모습


클라우드 서비스 이용에 있어 필수적이라고 할 수 있는 JSON,
JSON 기능 또한 노드 형태로 제공됩니다. (파싱, 덤프, 이터레이트)


Flow Graph 에디터에서 AWS 노드를 추가하는 화면,
코드 없이 DynamoDB에 바로 접근하여 데이터를 조작할 수 있습니다. 이러한 기능들은 프로그래머 뿐만 아니라 레벨 디자이너들도 클라우드 기능을 다룰 수 있도록 해줍니다.



'기타' 카테고리의 다른 글

[VSCode] 확장 프로그램 작성하기  (0) 2016.07.11
웹소켓 프레임 구조  (0) 2016.06.30
C++의 Nested Namespace  (0) 2016.04.08
[cocos2d-x] Vibration(진동) 기능 사용하기  (0) 2016.02.22
test  (0) 2016.01.26