Giter VIP home page Giter VIP logo

amazon-gamesparks-integration-with-gamelift's Introduction

Multiplayer Session-based Game Hosting on AWS using Amazon GameSparks

aws provider Build status

This repository contains a solution for multiplayer session-based game hosting on AWS leveraging Amazon GameLift, a fully managed game server hosting solution, with a managed Amazon GameSparks backend service. The solution is designed for getting quickly started with multiplayer game development on MacOS and Windows. It includes infrastructure as code automation, as well as deployment scripts to deploy all the required resources.

This Readme includes the architecture overview, as well as deployment instructions and documentation for the Amazon GameSparks backend services of the solution.

This solution is accompanied by a blog post: Building a multiplayer game with Amazon GameSparks and Amazon GameLift.

Note: β€œThe sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.”

Key Features

  • Uses AWS CDK to automate the deployment of all resources
  • Includes automated CloudWatch Dashboards for both the backend and game server resources
  • Client works on multiple platforms including mobile

The project is a simple "game" where 1-5 players join the same session and move around with their 3D characters. The movement inputs are sent to the server which runs the game simulation on a headless Unity process and syncs state back to all players. The C++ implementation focuses on the integrations only and doesn't run simulation for the client and server.

Architecture Diagram

The architecture diagram introduced here focuses on the Amazon GameSparks integration but it also includes the Amazon GameLift components on a high level.

architecture diagram

License

This example is licensed under the Apache 2.0 License. See LICENSE file.

amazon-gamesparks-integration-with-gamelift's People

Contributors

amazon-auto avatar dependabot[bot] avatar github-actions[bot] avatar jorisdon avatar stevehouel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

amazon-gamesparks-integration-with-gamelift's Issues

matchmaking-mgmt: Upgrade to AWS SDK for JavaScript v3

As per https://github.com/aws/aws-sdk-js:

We are formalizing our plans to enter AWS SDK for JavaScript v2 into maintenance mode in 2023.
AWS SDK for JavaScript v3 is the latest and recommended version, which has been GA since December 2020. Here is why and how you should use AWS SDK for JavaScript v3. You can try our experimental migration scripts in aws-sdk-js-codemod to migrate your application from v2 to v3.

The matchmaking-mgmt "request-matchmaking" and "process-matchmaking-events" Lambda functions currently use AWS SDK for JavaScript v2. As per the above, the dependency should be updated to v3 for continued support, and the code altered accordingly.

Expected Behavior

"request-matchmaking" and "process-matchmaking-events" Lambda functions should continue working exactly as they do currently, but on version 3 of the AWS SDK for JavaScript instead of version 2 as currently is the case.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.