Category: Twitch


게임 개발을 위한 신규 Lumberyard, Amazon GameLift 및 Twitch 통합 서비스

세계 수준의 품질 높은 게임 개발은 매우 어렵고 시간과 비용이 많이 소요됩니다. 게임 사용자들의 요구는 매우 높고, 데스크톱, 콘솔, 모바일 플랫폼 등 다양한 소셜 게임을 찾고 있습니다. 게임은 고유의 개발 및 배포 흐름에 의한 긴 개발 시간이 필요하고, 성공하기 위해서는 수십 만 또는 수백 만의 사용자가 하루 만에 사용해 보고 인기를 얻어야 합니다.

이러한 배경에서 게임 개발 과정을 사용자가 기대하는 것에 반응하도록 설계 해 나가야 합니다. 게임 개발 팀은 스토리 디자인, 게임 디자인, 물리 논리 시뮬레이션, 사운드 제작, 그래픽 디자인, 시각 효과 및 애니메이션 전문 기술을 갖춘 팀원들이 필요합니다. 게임이 인터넷 기반이라면, 높은 확장성, 유연한 온라인 스토리지, 네트워크 통신 및 관리, 보안 등 다양한 전문성을 갖출 필요도 있습니다.

18~36 개월의 시간이 걸릴 게임 개발과 창의적 제작 작업을 위해 게임 스튜디오에 있어서는 상당한 금전적 부담이 됩니다. 결과적으로 새로운 게임을 만드는 것이 쉽지 않은 상황입니다.

신규 AWS 게임 서비스
오늘 두 개의 신규 AWS 게임 서비스를 클라우드를 이용하여 크로스 플랫폼 전문 게임 개발자를 위해 공개합니다. 업계에서 널리 사용되고 있는 게임 엔진과 개발 도구를 제공하고, 여기에 AWS 서비스를 통합했습니다. 이러한 전체 패키지는 Twitch 비디오 플랫폼과 커뮤니티를 연계하고 관련 AWS 메시징 서비스, 스토리지 서비스를 이용하실 수 있습니다. 이들이 발표하는 내용입니다.

Lumberyard 전문 개발자를 위한 새로운 게임 엔진과 개발 환경입니다. CryEngine, Double Helix 및 AWS 등 새로운 기술과 증명된 기술을 함께 융합하여 게임 개발에서 낭비를 없애고 단계를 단순화 할 수 있습니다. Lumberyard 게임 엔진으로 클라우드 연결 및 3D 게임 개발을 지원하고 게임 자산의 관리 및 인공 지능(AI), 물리 시뮬레이션, 음향 등을 지원합니다. 개발 측면에서는 Lumberyard IDE에 의해 실내 및 야외 환경이나 캔버스에서 설계를 시작할 수 있습니다. 여러분이 전문 개발자라면 임베디드 콘텐츠 흐름과 리소스 파이프 라인, Photoshop, Maya, 3ds Max에서 만들어진 것을 나중에 IDE에서 가져와 편집하여 활용할 수 있습니다. 기존의 C++ 및 Visual Studio (AWS SDK for C++) 및 Flow Graph 도구와 Cloud Canvas를 사용하여 클라우드 연결 게임을 만들 수 있습니다.

Amazon GameLift 최근 많은 게임은 활성 사용자 연결 수에 따라 확장성 높은 백엔드를 사용합니다. Amazon GameLift는 Lumberyard에서 구축한 게임에서 멀티 플레이어로 연결 가능한 게임 서버와 연결 수에 따라 확장하는 방법을 제공합니다. AWS 게임 서버의 이미지를 업로드하고, 플레이어로 부터 실행 부하에 따라 확장하도록 EC2 인스턴스 그룹을 설정합니다. 이제 서버 구축, 확장, 실행 및 모니터링을 자체적으로 할 필요가 없습니다. 대신 GameLift에서 일일 활성 사용자 수(DAU)에 대해 일반 EC2 온디멘드 비용, 컴퓨팅 성능, 스토리지, 네트워크 대역폭에 사용한 만큼 지불하면 됩니다.

Twitch 통합최근 게임 사용자들은 서로 연결되어 있습니다. 게임을 하지 않는 경우에는 Twitch에서 다른 플레이어와 팬끼리 교류를 합니다. 프로와 아마추어 선수는 Twitch에서 자신의 전문 분야를 표시하고 팬을 늘리고 있습니다. 이러한 최근 상황을 기반으로 다양한 관계를 키워 강한 커뮤니티를 만들려면 Lumberyard에서 구축 된 게임과 두 가지 새로운 Twitch 기능과 연계하여 활용할 수 있습니다. Twitch ChatPlay는 Twitch 채팅 대화 속 특정 키워드에 반응할 수 있습니다. 예를 들어, 게이머가 가장 기대하는 행동을 해 주도록 채팅에서 제안 할 수 있습니다. Twitch JoinIn 채팅 채널 내에서 게이머를 멤버로 끌여 들이기 위한 알림이 있습니다.

이러한 서비스는 AWS 다른 많은 서비스처럼 독창적인 기능을 게임에서 만들 수 있도록 설계되어 있습니다. 또한, 피드백을 통한 빠른 게임 개발 방향 전환 및 사용자끼리의 연결과 오락 서비스를 제공할 수 있습니다.

고객 지원 서비스 – 각종 기술 도움말(문서 및 동영상), 전용 포럼을 포함한 고객 지원도 제공하고 있습니다. 일부 메뉴에 대해서 AWS 유상 지원도 준비하고 있습니다.

Lumberyard로 게임 개발하기
Lumberyard가 오늘 발표 주요 서비스입니다. 앞서 이야기한 대로 전문 게임 개발자로 고품질의 크로스 플랫폼 게임을 개발 할 수 있도록 디자인한 새로운 게임 엔진이며, 다음 환경을 지원합니다.

  • Windows – Vista, Windows 7, 8, and 10.
  • Console – PlayStation 4 and Xbox One.

모바일 단말이나 VR 헤드셋은 현재 확인 중이며, 몇 개월 내에 사용할 수 있습니다.

Lumberyard 개발 환경은 Windows PC 또는 노트북에서 작동합니다. 동작 속도가 빠른 쿼드 코어 프로세서, 최소 8GB의 메모리, 200GB의 디스크 여유 공간 2GB 이상의 메모리에서 Direct X 11 호환의 하이 엔드 비디오 카드가 필요합니다. Visual Studio 2013 Update 4 마이그레이션 및 Visual C ++ 재배포 패키지도 필요합니다.

Lumberyard Zip 파일은 바이너리 템플릿 자산과 편집기를 위한 구성 파일이 포함되어 있습니다. Lumberyard 게임 엔진 바이너리와 소스 코드도 포함되어 있습니다. 그대로 사용해도 괜찮고, 참조 용으로 소스 코드를 분석하여도 좋습니다. 또한, 여러분의 게임을 차별화하기 위해 다양한 맞춤형 기능을 추가해도 좋을 것입니다. Zip 파일은 런처도 포함되어 있으며, Lumberyard 및 기타 런타임 SDK 도구 및 플러그인이 제대로 설치되어 있는지 확인할 수 있습니다.

Lumberyard Editor는 개발 중인 게임을 캡슐화하거나 게임 에셋 편집에 사용할 편집 도구입니다.

Lumberyard Editor는 Asset Browser, Layer Editor, LOD Generator, Texture Browser, Material Editor, Geppetto (character and animation tools), Mannequin Editor, Flow Graph (visual programming), AI Debugger, Track View Editor, Audio Controls Editor, Terrain Editor , Terrain Texture Layers Editor, Particle Editor, Time of Day Editor, Sun Trajectory Tool, Composition Editor, Database View, UI Editor를 포함한 제품군입니다. 모두 도구 모음을 통해 화면에서 조작 할 수 있습니다.

게임에 추가 기능으로서 선택된 모듈 양식을 추가하기 위해 Gems라는 코드 패키징 시스템을 사용합니다. Gems을 활성화하면, 게임 바이너리를 자동으로 포함합니다. Lumberyard에는 AWS와 연계하기 위한 Gems도 있습니다. 그 밖에도 구름, 게임 효과, GameLift 접근, 빛, 물리 시뮬레이션, 비, 눈, 토네이도, 사용자 인터페이스, 멀티 플레이어 기능, 숲 등의 다양한 효과가 있습니다.

Flow Graph와 Cloud Canvas기반 코딩
예전에는 개발자가 C++을 기반으로 일반적인 개발 라이프 사이클(편집/컴파일/실행)을 구축하였습니다. 만약 Lumberyard를 사용하는 경우, 같은 방식으로 Lua와 Flow Graph를 사용할 수 있습니다.

Flow Graph는 복잡한 게임 로직을 코드 수정 없이 통합할 수 있는 최신 비주얼 스크립팅 시스템입니다. 게임의 설정, 소리 제어 효과 관리를 위해 기 구축 된 노드 기반 라이브러리를 사용할 수 있습니다.

Flow Graph는 노드와 링크에서 생성됩니다. 싱글 레벨은 다중 그래프를 포함하고 활성화 할 수 있습니다. 노드는 게임 엔티티나 행동을 보여줍니다. 링크는 한 노드의 결과를 다른 노드의 입력과 연결합니다. 이러한 입력은 여러 타입(Boolean, Float, Int, String, Vector)을 가집니다. 출력 포트는 어느 입력 포트에서도 연결 가능하며, (가능하다면) 자동으로 형 변환이 이루어집니다.

30개가 넘는 다양한 형태의 노드가 있으며, AWS 서비스에 접근할 수 있는 (Cloud Canvas라는) 세트가 포함되어 있습니다. Amazon Simple Queue Service (SQS)에 접근 가능한 2개의 노드와 Amazon Simple Notification Service (SNS)에 접근 가능한 4 개의 노드, Amazon DynamoDB에 Read/Write를 할 수 있는 7개의 노드, AWS Lambda 함수를 호출할 수 있는 한 개의노드, Amazon Cognito를 사용한 플레이어의 인증 정보를 관리할 수 있는 한 개 등을 포함합니다. AWS를 호출 하는 모든 게임은 Cloud Canvas를 설정하고, AWS Identity and Access Management (IAM)를 통해서만 접근 가능합니다.

Lambda 함수를 호출하는 DailyGiftLambda 사용 예:
DailyGiftLambda:

아래는 “Daily Gift”기능을 구현하기 위한 Lambda와 DynamoDB를 사용한 Flow Graph입니다.

더 자세한 추가 정보는 Lumberyard User Guide Cloud Canvas 문서를 확인하십시오.

Amazon GameLift 기반 배포
만약 제작 게임이 높은 확장성 및 클라우드 기반의 런타임 환경이 필요하다면 Amazon GameLift를 사용하시길 권해 드립니다.

개인 슈팅 게임, 서바이벌 레이스, 스포츠, MOBA(멀티 플레이 배틀 아레나) 등 사용자 간 공유 연결, 정기적 동기화 등이 필요한 다양한 종류의 게임을 서비스할 수 있습니다.

서버 측 로직를 빌드한 후에 Amazon GameLift에 업로드하면 Windows 기반 AMI (Amazon Machine Image)으로 몇 분만에 변환됩니다. AMI가 준비 있다면, Amazon GameLift 그룹을 만들고, AMI로 설정하면 백엔드 준비가 완료됩니다.

실행 중인 게임 세션은 Amazon GameLift 콘솔에서 볼 수 있습니다.

Flow Graph 코드는 Amazon GameLift Gem을 만들 수 세션 생성 및 서비스 개시를 제어 할 수 있습니다.

자세한 내용은 Amazon GameLift 문서를 참조하십시오.

Twitch 통합하기
개발한 게임에 Twitch ChatPlay과 Twitch JoinIn이라는 기능을 연계 할 수 있습니다.

아마존 플랫폼 기반으로 게임을 만들면, 지정된 Twitch 채널에 입력된 키워드를 처리 할 수​​ 있습니다. 예를 들어, 키워드로 빨강, 노랑, 파랑, 녹색, 오렌지와 보라색을 처리하는 경우는 아래와 같이 됩니다.

가격 및 서비스 지역
Lumberyard과 Amazon GameLift 오늘 부터 사용할 수 있습니다. 바로 여러분의 게임을 손쉽게 만들어 보세요.

무료로 제공되는 Lumberyard를 기반으로 독립 실행형 게임을 만들 수 있으며, Cloud Canvas에서 설정된 IAM 사용자를 사용해 AWS 서비스를 호출하거나 AWS SDK for C++를 사용 하는데만 비용이 소요됩니다. (GameLift를 사용하는 경우도 마찬가지입니다.)

Amazon GameLift는 US East (Northern Virginia) 및 US West (Oregon) 리전에서 현재 사용할 수 있습니다. 고객의 피드백에 따라 다른 리전에도 계속 확대할 예정입니다. 무료 이용 범위는 c3.large 인스턴스에서 최대 월간 125시간 (최장 1 년)까지 이용하실 수 있습니다. 그 이후에는 사용 EC2 인스턴스의 정상 가격이 적용됩니다. 인스턴스 당 EBS 스토리지는 1 개월 당 50GB의 비용이 1,000 데일리 액티브 유저 당 1개월에 USD 1.5입니다.

Jeff;

이 글은 Lumberyard + Amazon GameLift + Twitch for Games on AWS의 한국어 번역입니다.