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 디플로이를 관리할 수 있습니다.
플레이어 로그인 기능을 제공합니다. (익명 로그인, 혹은 아마존, 페이스북, 구글, 등등) 유저들은 다양한 기기에서 하나의 데이터에 접근할 수 있게 됩니다.
* 이 글은 아래 문서의 일부에 대한 번역입니다.
* 아래부터는 직접 작성한 내용입니다.
위에서 언급된 바와 같이 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 |